crondが動作しているか確認
1 2 3 4 5 |
$ ps -eal | grep cron 1 S 0 1925 1 0 80 0 - 29215 hrtime ? 00:00:00 crond $ sudo /etc/rc.d/init.d/crond status crond (pid 1925) is running... $ |
ログの所在
/var/log/cron
crontabファイルの所在
/var/spool/cron/<user>
crontabコマンド
1 2 3 4 5 6 7 8 |
usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) -s (selinux context) |
1 2 3 |
# crontab -e //エディタが開く # crontab -l //設定の確認 # crontab -r //全設定の削除 |
他のユーザのcron設定をする場合は-uオプションでユーザを指定する
1 2 3 |
# crontab -u foo -e # crontab -u foo -l # crontab -u foo -r |
crontabファイルの書き方
1 |
分 時 日 月 曜日 <コマンド> |
日時指定
- 分: 0-59
- 時: 0-23
- 日: 1-31
- 月: 1-12
- 曜日: 0-7 (0と7が日曜日)
記号
- 「#」: コメント
- 「*」: ワイルドカード
- 「-」: 範囲指定 (例: 15-20)
- 「,」: 複数指定 (例: 15,20,25)
- 「/」: ステップ (例: 10-20/2 10から20まで2ごと)
サンプル
1 2 3 4 |
00 14 * * * /usr/bin/cmd // 毎日14:00に実行 * * * * * /usr/bin/cmd // 毎分実行 15,30 06 * * 2 /usr/bin/cmd // 毎週火曜日の6:15と6:30に実行 05 23 * 3-5 4 /usr/bin/cmd // 3~5月の毎週木曜日23:05に実行 |
コマンドの標準出力や標準エラー出力がある場合/dev/nullに捨てること。 (> /dev/null 2>&1)
参考サイト
cronの設定
http://kazmax.zpp.jp/linux/lin_cron.html
crontab使い方まとめ。 – ばくのエンジニア日誌
http://bakunyo.hatenablog.com/entry/2013/06/20/crontab%E4%BD%BF%E3%81%84%E6%96%B9%E3%81%BE%E3%81%A8%E3%82%81%E3%80%82