Linuxで定期的に処理をする機能をcronで実行しようとした際
cronの設定ミスでエラーが発生して少し時間がかかってしまいました。
結果としてそんなこと?というレベルの内容でしたが、備忘録として残しておきます。
前提条件
・/etc/cron.d/ ディレクトリ内に設定ファイルを配置して定期起動を行う
cron設定ファイルの記載内容
cron.dディレクトリ下に配置する設定ファイルについて、 書式は「/etc/crontab」ファイルと同じ設定方法となります。
// 分 時 日 月 曜日 ユーザー コマンド
10 0 * * * root sh XXXX.sh // (毎日0:10にXXXX.shを起動)
この設定ファイルをcron.dディレクトリ下に配置の上、シェルファイルの
実行を待っていたのですが、実行されず・・・。
「var/log/cron」のログも確認してみたものの、何も出力されていないので
そもそもcronでの起動自体ができていないようでした。
対処法
問題は設定ファイルの書き方にありました。
以下に変更するとうまくいきました。
変更前
// 分 時 日 月 曜日 ユーザー コマンド
10 0 * * * root sh XXXX.sh // (毎日0:10にXXXX.shを起動)
変更後
// 分 時 日 月 曜日 ユーザー コマンド
10 0 * * * root sh XXXX.sh // (毎日0:10にXXXX.shを起動)
// ↑ここに改行を挿入
改行を挿入しないと実行されないんですね。。
「/etc/crontab」ファイルも後からよくよく見てみると、改行の記載がありました。
新しくcron起動用の設定ファイルを作成する場合に
実行されないことがあれば、この辺りも再確認してみた方が良いですね。
今回は問題ありませんでしたが、ファイルパーミッション関連も起動しない原因に
なることがあるようです。
今回はこのへんで。ではまた!
0 件のコメント:
コメントを投稿