
ルート パーティションの btrfs サブボリューム スナップショットを作成する cron ジョブを設定しようとしています。コマンド ラインから実行するとコマンドは完全に機能しますが、スケジュールされた cron 時間には何も起こりません。stdout logger
/stderr をファイルにパイプしてリダイレクトしようとしましたが、コンテンツがないだけでなく、ログに記録するファイルも作成されません。
私が使用している cron コマンドは次のとおりです。
0 0 * * * /sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"
をプレフィックスとして付けてみました/bin/bash
が、違いはありませんでした。何が足りないのでしょうか?
答え1
cron エントリの何が問題なのかはわかりませんでしたが、スナップショットを作成するためのシェル スクリプトを作成し、代わりに 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