これはなに

cronで定期実行する方法を毎回調べているのでメモしておくだけ。
手順

1. スクリプトに実行権限を付与

chmod +x /path/to/your/script.sh2. crontabを編集する

crontab -e3. cronジョブを追加

cronの書式は次のようになっている。これに従いcronジョブを追加する。
* * * * * コマンド
│ │ │ │ │
│ │ │ │ └─ 曜日 (0-7, 0と7は日曜日)
│ │ │ └─── 月 (1-12)
│ │ └───── 日 (1-31)
│ └─────── 時 (0-23)
└───────── 分 (0-59)cron式のオンラインジェネレーターもある。動作タイミングを確認しやすくて便利。オススメ。
例1: 毎日午前9時に実行。
0 9 * * * /path/to/your/script.sh例2: 5分ごとに実行。
*/5 * * * * /path/to/your/script.sh例3: 毎週月曜日の午前3時に実行。
0 3 * * 1 /path/to/your/script.sh4. 設定を確認

crontab -l5. cronサービスを再起動(必要に応じて)

sudo service cron restart6. ログの確認

cronのログは通常/var/log/syslogに記録される。以下のコマンドで確認できる。
grep CRON /var/log/syslog注意点

- スクリプト内で使用するパスは、必ず絶対パスで指定する
- cron環境は通常のシェル環境と異なるため、必要な環境変数を設定する
- 出力をログファイルにリダイレクトすることを検討する
出力は以下のようにすればログファイルにリダイレクトできる。
0 9 * * * /path/to/your/script.sh >> /path/to/your/logfile.log 2>&1あるいは、以下のようにすれば出力を捨てられる。
0 9 * * * /path/to/your/script.sh > /dev/null 2>&1参考文献・URL

cronの詳細な使い方については、以下のリンクを参照。
