我正在嘗試設定 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