2021年1月17日日曜日

cron 設定ファイルでの起動に失敗

こんにちは。ひっくです。

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 件のコメント:

コメントを投稿