我正在尝试设置一个 cron 作业来创建我的根分区的 btrfs 子卷快照。如果我从命令行运行该命令,它会完美运行,但在计划的 cron 时间什么也没发生。我尝试过将logger
stdout/stderr 管道化并重定向到文件,但不仅没有内容,我登录的文件甚至都没有创建。
我的 cron 命令如下:
0 0 * * * /sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"
我尝试在其前面加上/bin/bash
,但没有任何效果。我遗漏了什么?
答案1
我从来没有弄清楚 cron 条目出了什么问题,但我只是编写了一个 shell 脚本来创建快照并从 cron 调用它。
#!/usr/bin/env bash
/sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"
touch "/snapshots/$(date +%Y-%m-%d)"
find /snapshots/* -maxdepth 0 -mtime +6 | xargs -n 1 /sbin/btrfs subvolume delete