如何设置 zfs-auto-snapshot 应保留的快照数量?

如何设置 zfs-auto-snapshot 应保留的快照数量?

使用下面的zfs-auto-snapshot命令,如何指定保留 52 个每周快照和无限数量的每月快照?

sudo zfs set com.sun:auto-snapshot=true storage
sudo zfs set com.sun:auto-snapshot:weekly=true storage
sudo zfs set com.sun:auto-snapshot:monthly=true storage

当我将其指定为关键字或参数时,两次都失败了:

sudo zfs set com.sun:auto-snapshot:weekly=true storage keep=52
cannot open 'keep=52': invalid dataset name

sudo zfs set com.sun:auto-snapshot:weekly=true storage --keep=52
cannot open '--keep=52': invalid dataset name

答案1

这是我的一个系统的示例/etc/cron.d/zfs-auto-snapshot

PATH="/usr/bin:/bin:/usr/sbin:/sbin"

*/5 * * * * root /sbin/zfs-auto-snapshot -q -g --label=frequent --keep=24 //
00 * * * * root /sbin/zfs-auto-snapshot -q -g --label=hourly --keep=24 //
59 23 * * * root /sbin/zfs-auto-snapshot -q -g --label=daily --keep=14 //
59 23 * * 0 root /sbin/zfs-auto-snapshot -q -g --label=weekly --keep=4 //
00 00 1 * * root /sbin/zfs-auto-snapshot -q -g --label=monthly --keep=18 //

答案2

抱歉,如果我回答的是一个老问题,但没有一个答案能提供 OP 想要的内容。在为 zPool 设置自动快照时,如果您需要包含多个设置,则需要用逗号分隔它们,然后在末尾加上容器的名称。这是您需要的命令:

sudo zfs set com.sun:auto-snapshot:weekly=true,keep=52 storage

您还可以转到您的 cron 计划(Ubuntu:/etc/cron.weekly)并按照其他人提到的那样在那里进行更改。

答案3

您需要编辑 的调用zfs-auto-snapshot。该文件应位于/etc/cron.weekly/zfs-auto-snapshot。其中设置了默认值 8。

我个人之前不知道这个工具。我用的是赞吧。它在标准存储库中可用。

答案4

apt install zfs-auto-snapshot

帮我解决了。它以很好的方式安装了 @ewwhite 答案中的 cron 条目(daily=31、hourly=24、monthly=12、weekly=8)。只有 weekly 对我来说有点令人惊讶。

相关内容