web-dev-qa-db-ja.com

cronジョブで構文を検証する方法

/etc/cron.dの下に新しいcronジョブを作成しています。

このcronジョブには約56行あり、すべてのコマンドは毎月の初めに実行する必要があります。

Cronジョブの構文を検証するための提案を探しています。

つまり、cronジョブファイルが間違いなく正しく構成されているかどうかを確認するにはどうすればよいですか?これを確認できるコマンドはありますか?

3
yael

以下は、awkで記述された、チェックするバリデーターの開始です。

  • コメントされていない行の場合
  • crontabエントリのように見えるのに十分なフィールドを持つ行の場合
  • $ 3の日の値が1または*ではない場合
  • 月の値が*ではない場合

...次に、(問題のある)行を印刷します。

次のサンプル入力について:

53 23 * * * root /usr/lib64/sa/sa2 -A
53 23 1 * * root /usr/lib64/sa/sa2 -A
53 23 2 * * root /usr/lib64/sa/sa2 -A

出力は次のとおりです。

53 23 2 * * root /usr/lib64/sa/sa2 -A

Cron構文で許可されているように、これは月の名前と範囲(または@monthly)を処理するように拡張する必要があります。

awk '!/^#/ && NF >= 7 && ($3 != 1 && $3 != "*") && $4 != "*" 1'
1
Jeff Schaller