いつもcron設定するときにさまようので、さまよう事のないためのレシピ。
設定内容
# Auto Data Update
0 6 * * * /home/bohe/shell/auto_update.sh > /home/bohe/logs/auto_`date +"\%Y\%m\%d"`.log
時間設定
分 時 日 月 曜日 コマンド
- 曜日 0~7 [0,7は日曜日]
ログ設定
- 上書き
>
- 追加書き込み
>>
出力ログに日付をつける
`date +"\%Y\%m\%d"`
設定したら、動作しているかどうかをログで確認しよう
ログ
/var/log/cron
動いていない場合
- crondは動いていますか?
# /etc/rc.d/init.d/crond status
crond (pid xxx) を実行中...
- 動いていない場合は起動
# /etc/rc.d/init.d/crond start
- runlevel 2,3,4,5 で cron を起動させていること
# chkconfig --level 2345 crond on
# chkconfig --list crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- (参考)ランレベル
Linux では、ランレベルと呼ばれる動作モードを指定する事によって、サーバーの動作を変える事が可能になります
0 システムの停止
1 シングルユーザーモード
2 マルチユーザーモード(NFSなし)
3 マルチユーザーモード(テキストログイン)
4 未使用
5 マルチユーザーモード(グラフィカルログイン)
6 システムの再起動
監視を考えて
- Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法
http://developer.cybozu.co.jp/archives/kazuho/2010/01/crontab-f131.html
小規模なお客さんのサーバなどの運用をしている場合には、cronlogでできますね。
これは使えます。
- cron で > /dev/null して椅子を投げられないための3つの方法 - 酒日記 はてな支店 http://sfujiwara.hatenablog.com/entry/20120613/1339547638
ログファイルは蓄積されてしまうので、logger(1) コマンドを使用して syslog に送って記録するのがおすすめという例がかかれてあります。
これでOKですね。
- 多重起動を防ぐシェルスクリプト - zenpouの日記
http://d.hatena.ne.jp/zenpou/20080715/1216133151
多重起動を回避するためのスクリプトです。