像 Apple Time Machine 一样删除旧备份

像 Apple Time Machine 一样删除旧备份

Time Machine 会保存过去 24 小时的每小时备份、过去一个月的每日备份以及超过一个月的每周备份,直到卷用尽空间。此时,Time Machine 会删除最早的每周备份 (时光机器)。

我现在已经有了 bash 脚本 (rsync),它每小时进行一次备份。备份是名为“2015-01-01 08”的文件夹,其中“08”是小时。

在某些时候,需要删除超过 24 小时的文件夹。所以我正在寻找这个魔法。我猜它会是 rm -R some_pattern 之类的。这样的模式会是什么样子?

答案1

如果运行 Linux (OS X 上 YMMV),则可以使用单行命令:

find /path/to/your/backups/ -type d -mtime +1 -exec rm -r "{}" \;

请注意,这假设您的目录在创建后不会被修改。

-exec rm -r "{}" \;如果您只想输出目录名称来测试命令,则可以省略该部分。

相关内容