Linux Cronの使い方

[サーバ]crontabがどうしても動かないときに確認すべき3つの点+αAdd Starmyokoymdocmisoshiya2111blog_711fumiblp1526 とりあえずここではCentOS5.3に標準で入ってたcronでの話ということで

crondは動いているか 実行ファイルの権限は正しいか cronのログを確認すべし

ということで

crondは動いていますか?

/etc/rc.d/init.d/crond status

crond (pid xxx) を実行中… で動いているか確認

chkconfig –list crond

crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off で2-5番までonになっていますか?

実行ファイルの権限は正しいですか? ls -al | grep test -rwxrwxr-x 1 hoge hoge 2615380 3月 10 01:54 test.jar で実行したいファイルの実行権限を確認してみましょう

ちなみにここでは

最初のrwxはファイル所有者の権限

 次のrwxはファイル所有者の属するグループの権限

最後のr-xはその他の権限

みんな実行権限(x)は持っているようなので問題ないですね

権限が正しくない場合は

chmod a+x file1 などで実行権限を設定しましょう(chmodってユーザ名の指定ってできないんですかね?)

cronのログを確認すべし

vi /var/log/cron

でcronのログを確認しましょう

何かエラーをはいていませんか?

※それでもダメなら

それでもダメな場合実行した内容にエラーがある可能性があります

cronのログはあくまでcron自体が実行できればエラーログをはくことはありません(実行した内容にエラーがあってもcronのログには残りません)

*/30 * * * * /bin/sh /home/hoge/fuba.sh >>/tmp/analog.log 2>>/tmp/analog-err.log このように

コマンド >>log.log 2>>errlog.log とコマンドの後に >> や 2>> とすると標準出力や標準エラー出力のログを指定したファイルに記録してくれます

ちなみに 1>>は標準出力(1は省略可) 2>>は標準エラー出力です

javaなどはパスの設定に失敗して、cronの書き方はあっているのに

3時間毎のcron実行+α
Linux
3時間毎の実行(基本)
00 0-23/3 * * *
0,3,6,9…..みたいな感じで実行される。

3時間毎の実行(応用)
00 2-23/3 * * *
2,5,8,11…..みたいな感じで実行される。

crontabの書き方 — server-memo.net

スポンサーリンク

Leave a Reply