6

Ubuntu 12.04 を実行しているラップトップで、月に 1 回、たとえば、月の 22 日にジョブを実行したいと考えています。

これはラップトップであり、毎月 22 日ごとに使用するとcronは限らないため、あまり良い選択肢ではありません。

調べてみるanacronと、制限があるようです。anacrontabつまり、「期間」を指定できますが、ファイル形式で示されているように、特定の曜日または日付を指定することはできません。

# cat /etc/anacrontab
period   delay   job-identifier   command
7       15      test.daily      /bin/sh /home/myself/backup.sh

毎月 22 日で、もちろんラップトップが実行されている場合は、ジョブを実行してください。22 日を過ぎてもまだジョブを実行していない場合は、起動したらすぐに実行してください。

cronカスタム スクリプトを組み合わせたりanacron、独自の bash スクリプトを作成したり、タイムスタンプを使用したり、おそらくその過程で四角い車輪を再発明したりするなど、醜いことをしようとしています。

最善の行動方針について何か考えはありますか?

乾杯。

4

1 に答える 1

4

コマンドを毎日実行し、最後にバックアップを実行した日付をスクリプトに記録させます。

起動時に現在の日付を取得します。月の 22 日の場合は、通常どおり実行して日付を保存します。22 を超えていて、最後の実行が同じ月にあった場合は、終了します。22 未満で、最後の実行が前月である場合 (12 から 1 へのラップを考慮することを忘れないでください)、終了します。

日付はどこかにファイルに保存する必要があります。

于 2012-09-21T18:34:07.613 に答える