「/ etc/crontab」に、7日ごとにデータベースプログラムを実行するコマンドがあります。さて、このコマンドが別のユーザーによって2週間コメントされていることがわかります。すぐにその行のコメントを外しましたが、今日、このコマンドがcrontabによって実行されていないことがわかりました。
どうして? /etc/init.d/cron restartを再起動した後、crontabが再起動し、7日ごとにコマンドを実行するように指示するコマンドラインが表示されると思います。それでは、いつそのプログラムを開始するのでしょうか。サービス開始時のcrondの再起動直後ではありませんか?そうではないようです。
今はプログラムを7日間待つことができません。今夜から、この7日間をcrontabで開始したいと思います。どうやってやるの?
スクリプトは次のとおりです。
0 0 */7 * * root source /opt/db_maintain/run.sh
*/7は「今から7日ごと」という意味ではありません。 「7の倍数である毎日」を意味します。したがって、#day modulo 7 == 0→7日、14日、21日、28日の場合にコマンドを実行します。
Cronのフランス語版ウィキページには多くの例があります: http://fr.wikipedia.org/wiki/Cron#Exemples
Fcronを使用することをお勧めします: http://fcron.free.fr/
今日は水曜日です。 cronで毎週木曜日の深夜にコマンドを実行する場合は、crontabに次のように入力します。
0 0 * * 4 root /path/to/command