設定状況確認
# crontab -l
# crontab -u [ユーザ名] -l
設定ファイル確認
# cat /etc/crontab
実行ログ表示
# tail -f /var/log/cron
# tail -n N /var/log/cron
-f はログの監視を継続、ーn で表示行数を指定でき、Nがその行数
エラーログを残す
30 * * * * 実行ファイル名 >> エラーログファイル 2>&1
末尾の 2>&1 をつけたらエラー情報がファイルに書き込まれるようになった。
以下のように設定した。毎時、30分、35分に実行。1行目はphpのプログラム、2行目はシェルスクリプト
3行目はコメント行の例。先頭に#を書くとコメントとなる。
30 * * * * /usr/bin/php 実行ファイル名 >> エラーログファイル 2>&1
35 * * * * シェルスクリプト名 >> エラーログファイル 2>&1
# 35 * * * * シェルスクリプト名 >> エラーログファイル 2>&1
参考
http://www.server-memo.net/tips/crontabfile.html
crontab -e で登録した内容は /etc/crontab には書き込まれない。/var/spool/cron/[ユーザ名] に書き込まれる。
参考
http://qiita.com/takahashi-kazuki/items/77d669d4414c6ec185f9
思わぬエラー
cron設定は終了したつもりでいたら、動作しない。
30 * * * * /usr/bin/php 実行ファイル名 >> エラーログファイル 2>&1
30 * * * * シェルスクリプト名 >> エラーログファイル 2>&1
2つのファイルのオーナーが違っていたので、同じエラーログファイルにはアクセスできなくなっていた。
エラーログファイルをPHP用とシェル用に分けて、解決した。
30 * * * * /usr/bin/php 実行ファイル名 >> /tmp/error.log 2>&1
30 * * * * シェルスクリプト名 >> /tmp/error_sh.log 2>&1
動作エラーの原因は尽きることがない!。
30 * * * * /usr/bin/php 実行ファイル名 >> エラーログファイル 2>&1
とはかけないので、
30 * * * * シェルスクリプト名 >> エラーログファイル 2>&1
動作した。
タグ:crontab
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image