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 在 文件系统
20KB
452 行
数据框架
清理文件夹与文件!
关于数据框架
数据框架旨在维护文件夹的运行集合。我创建它的原因是,我将安全系统的监控录像从我的NAS复制过来,但我不想永久保存副本。这将使我能够自动清除多余的录像。
如何使用
从 Docker(推荐)
- 在您要维护的文件夹的根目录下创建一个
dateframe.conf
(请参阅下面的文档)。 - 运行以下 Docker 命令,将示例路径替换为您的路径:
docker run -/your/path/here:/var/data --d --name dateframe ghcr.io/jacksonzamorano/dateframe:latest
从命令行
- 在您要维护的文件夹的根目录下创建一个
dateframe.conf
(请参阅下面的文档)。 - 使用
cargo install dateframe
安装二进制文件。 - 运行
dateframe path/to/your/directory
。
可选的命令行参数
--gen-test
:生成测试文件结构。--once
:运行一次,不启动守护进程。
配置文档
配置以键=值(没有空格)的格式提供。请注意,所有时间都解析和格式化为您的机器的本地时间。
格式
格式指定从文件/文件夹名称中解析日期的方式。格式由 chrono
crate 提供,请参阅此处的文档。可以提供多个格式,并且所有格式都将尝试应用于每个文件。
保留
保留指定文件夹和文件应保留多长时间。以下是一些格式:
xxd
(将 xx 替换为天数)- 更多功能即将推出
深度
默认值为 true
。可以是 true
或 false
。如果为 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:59h[x]
:x:00:00
默认为 start
。
依赖关系
~1MB
~18K SLoC