# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
# archives of THIS machine. The '{hostname}-' prefix is very important to
# limit prune's operation to this machine's archives and not apply to
# other machines' archives also:
borg prune \
--list \
--prefix '{hostname}-' \
--show-rc \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6 \
我知道没有这样的工具,通常这包含在您的备份软件中。你用什么备份工具?
我会推荐rsnapshot 这可以配置为执行您要求的这些智能操作,并通过广泛使用硬链接来保持较小的备份大小。
但是,如果您有自己的 cronjobs/系统来创建备份,则可以再创建一些cronjobs。
每周进行一次 cronjob,将 30 天之前的文件从每月文件夹移动到“每周文件夹”
find /path/to/daily -maxdepth 1 -mtime +30 -type f -exec mv "{}" /path/to/weekly/ \;
因为下面的 cronjob 将删除较旧的文件,这将只是一天的备份文件。
find /path/to/daily/* -mtime +30 -exec rm {} \;
每周到每月和每月到每季度重复
这个问题相当古老,但由于它是此类搜索的第一个结果,我会推荐Borg作为您的备份选项,因为它完全支持您通过其Prune命令寻找的那种备份计划。
从他们的文档中的一个例子:
您也应该查看“重复”软件。
它有很好的声誉;并且(独立地)我正在使用它,我很满意。