#cleanup #folders #folder #security #automatic #clean #up

app dateframe

清理文件与文件夹

5 个版本

0.2.4 2024年3月7日
0.2.3 2024年3月7日
0.2.1 2024年2月21日
0.2.0 2024年2月21日
0.1.1 2024年2月21日

#222文件系统

MIT 许可证

20KB
452

数据框架

清理文件夹与文件!

关于数据框架

数据框架旨在维护文件夹的运行集合。我创建它的原因是,我将安全系统的监控录像从我的NAS复制过来,但我不想永久保存副本。这将使我能够自动清除多余的录像。

如何使用

  1. 在您要维护的文件夹的根目录下创建一个 dateframe.conf(请参阅下面的文档)。
  2. 运行以下 Docker 命令,将示例路径替换为您的路径:docker run -/your/path/here:/var/data --d --name dateframe ghcr.io/jacksonzamorano/dateframe:latest

从命令行

  1. 在您要维护的文件夹的根目录下创建一个 dateframe.conf(请参阅下面的文档)。
  2. 使用 cargo install dateframe 安装二进制文件。
  3. 运行 dateframe path/to/your/directory

可选的命令行参数

  • --gen-test:生成测试文件结构。
  • --once:运行一次,不启动守护进程。

配置文档

配置以键=值(没有空格)的格式提供。请注意,所有时间都解析和格式化为您的机器的本地时间。

格式

格式指定从文件/文件夹名称中解析日期的方式。格式由 chrono crate 提供,请参阅此处的文档。可以提供多个格式,并且所有格式都将尝试应用于每个文件。

保留

保留指定文件夹和文件应保留多长时间。以下是一些格式:

  • xxd(将 xx 替换为天数)
  • 更多功能即将推出

深度

默认值为 true。可以是 truefalse。如果为 true,则会递归地搜索文件夹而不是仅清理根目录。

刷新

指定的秒数。清理后,这个数字指定数据帧应该在再次清理之前睡眠多久。默认为 360(1小时)。

日志

定义了多少信息将输出到控制台。它们按详细程度从高到低列出

  • 调试
  • 信息
  • 错误
  • 静音

默认为信息。

移除

要移除的特定单词/项目。可以提供多个此键的副本,并将全部使用。

split_string

对于更复杂的文件名,您可能希望根据特定的字符串或字符进行拆分。例如,考虑这个文件名:“2024-02-21T04-23-57 smartDetectZone (person)”。我们可以将 "smartDetectZone" 和 "(person)" 添加到 remove 键中,但更简单的方法是拆分字符串并使用第一个元素。

因此,将 split_string 设置为空格 split_string=

split_index

提供并执行 split_string 后,选择要使用的索引。可以提供多个此键的副本,并将全部使用。

split_join

执行 split_string 并找到适当的选项后,使用此值将选定的字符串连接起来。默认为 ""(空字符串)。

date_only_behavior

如果仅使用日期格式(例如 YYYY-mm-DD),则需要添加时间以确定日期是否超过保留策略。有几种选项

  • 开始: 00:00:00
  • 中午: 12:00:00
  • 结束: 23:59:59
  • h[x]:x:00:00

默认为 start

依赖关系

~1MB
~18K SLoC