我确实有一个 freenas 服务器作为备份服务器 - 每天晚上它都会创建一个数据集的快照,几分钟后 rsync 任务就会开始将数据备份到我的 freenas。
在 WebUI 中,我只能选择自动创建快照并在特定时间后自动删除它们。
有人有脚本可以精简快照吗?我只想要上周的每日快照、过去 6 周的每周快照以及之前 6 周的 2 个月的每月快照...
(数据是易失性的,因此减少快照可以节省一些空间。)
答案1
您可以使用 fracai 在 Freenas 论坛上编写的脚本。该脚本托管在 github 上,名为 zfs-rollup。您只需要 rollup.py 文件。链接在末尾。
我已经用了好几年了,它工作得很好。你可以在命令行上指定几个参数,1) 它应该查找要删除的快照名称的前缀(过滤器),2) 你希望它查找的数据集(它将递归),以及 3) 你想要保留的每个间隔。
以下示例将删除 BACKUP/nas 数据集下以“auto”为前缀的快照,这些快照不符合每日 7 个、每周 4 个和每月 3 个时间范围。
rollup.py -i 每日:7,每周:4,每月:3 -p auto -r BACKUP/nas
您可以在 Freenas GUI 中毫无问题地执行 cron 操作。我个人会为不同的数据集指定不同的 cron 作业,这样我就可以根据我的数据类型保留不同数量的备份。
Freenas 论坛/资源描述了脚本的意图
脚本的 Github 源代码