同じアプリケーションとインフラストラクチャ/ミドルウェア設定(テストと本番)を実行する2つのLinuxサーバーがあり、サーバーBですでに実行しているように、サーバーAで2分ごとにヘルスチェッカーをクローンジョブとして実行したいと思います。 。
私がコピーしたのはサーバーBのスクリプトであり、それをサーバーAの同じディレクトリに実装し、次のようにCronにタスクを追加しましたcrontab -e
。
*/2 * * * * /opt/xxxx.sh arg1 arg2 >> test.txt 2>>err.txt
出力コマンドは、cronがジョブを開始したことを確認することです。
crontabに追加した行は、コマンドラインでのみ期待どおりに実行されますが、cronジョブでは実行されません。 cron() に別のタスクを追加するとecho >> test.txt kind of thing
正常に動作します。
- スクリプト権限を755に変更しましたが、
- crontabエディタを終了すると、新しいインストールが確認されます。
- サーバーを何度も再起動してみました。
ヘルスチェックをクローンジョブとして実行するにはどうすればよいですか?
には出力がありません/var/log/cron
。
—————————————————
マーティンウッド様、ありがとうございます。プログラムはJavaで書かれていますが、ヘルスチェックはシェルスクリプトで実行されます。以下を実行しても出力は出ません。 run-parts /etc/cron.hourly -v —————————————————
答え1
スクリプトはPythonやRubyなどの依存関係に依存していますか?これには権限も必要です。以下を使用してこれをテストできます。
run-parts /etc/cron.hourly -v
エラーが発生していることを確認してください。実行時にcronが使用するuidなので、rootとして実行してください。