Cronジョブは無効な日付で実行されます。

Cronジョブは無効な日付で実行されます。

Centos 7サーバーのrootユーザーcrontabには、次のものがあります。

30 4 1-7 * * test $(date +\%u) -eq 7 && /usr/bin/needs-restarting -r || /usr/sbin/shutdown -r

毎日 1 日~7 日 4 時 30 分に実行し、曜日が日曜日かどうかをテストした後、次のコマンドを実行して再起動が必要かどうかを確認する必要があります。ところで、今日(2017年8月1日)火曜日のサーバーが再起動されました。誰でも理由を説明できますか?

答え1

ゼロa && b || c以外の値で終了または終了すると、コマンドが実行されます。したがって、falseの場合はサーバーを再起動します。cabtest $(date +\%u) -eq 7

名前によって/usr/bin/needs-restartingサーバーを再起動する必要がある場合は、0が返されることがあります。これはできないと確信していますかa && b && c

それ以外の場合は試してください。a && { b || c; }

関連情報