Linuxとコマンドラインの基礎
cron に「30 2 * * 1 /home/alice/backup.sh」と登録した。backup.sh が実行されるタイミングとして、正しいものはどれか。
- A毎月1日の2時30分
- B毎週月曜日の2時30分
- C毎週日曜日の2時30分
答えと解説を見る
正解:B. 毎週月曜日の2時30分
cron の設定(crontab)の各行は、先頭の5つの欄が左から「分、時、日、月、曜日」で、その後に実行するコマンドを書きます。この行は分が30、時が2、日と月が *(すべて)、曜日が1なので、毎週月曜日の2時30分に実行されます。曜日は0が日曜日、1が月曜日で、多くの実装では7も日曜日を表します。cron から実行するコマンドは、ログインしたときとは違う、限られた環境変数で動くので、スクリプトの中ではコマンドを絶対パスで書くなどの注意が必要です。
- A. 毎月1日にするには、3番目の「日」の欄を1にして「30 2 1 * *」と書きます。5番目の欄は曜日です。
- B. 正しい。分30、時2、曜日1(月曜日)を表します。
- C. 曜日の欄では、0(または7)が日曜日で、1は月曜日です。