2 个版本

0.1.1 2021年4月12日
0.1.0 2021年4月10日

#17#filenames

MIT/Apache

24KB
567

README

BackedUp

备份轮换命令行工具。

使用文件名提取时间戳,然后根据保留或删除将文件排序到时间槽中。

安装

cargo install backedup

可以从源代码构建本地克隆并使用以下命令安装

cargo install .

使用方法

默认情况下,将显示计划。除非提供 --execute 标志,否则不会发生删除。

给定目录的文件名被解析为时间表示。
至少需要 yearmonthday 才能考虑删除。必须为至少一个槽位提供要保留的文件数配置。

以下命令将显示保留以下内容的计划

  • 每年一个文件,保留20年
  • 每月一个文件,保留12个月
  • 每天一个文件,保留30天
backedup -y 20 -m 12 -d 30 path/to/directory

文件仅根据时间分组到单独的槽中,文件名其余部分从不考虑。
使用 --pattern-p 标志以仅接受特定的文件名模式。
例如: --pattern '*.log'

可以通过 --regex 提供解析文件名时间的替代正则表达式。默认的是

(?P<year>\d{4}) \D?
(?P<month>\d{2}) \D?
(?P<day>\d{2}) \D?
(
# Optional components.
(?P<hour>\d{2}) \D?
(?P<minute>\d{2}) \D?
(?P<second>\d{2})?
)?

查看 --help 获取更多详细信息,或查看 示例配置

日志记录

默认情况下,文件删除将记录到 Syslog

其他

正则表达式和总体灵感来自 python-rotate-backups

依赖关系

~6–15MB
~190K SLoC