monit の「チェック プログラム」を使用して bash スクリプトの終了ステータスをチェックしようとすると、構文エラーが発生します。bash スクリプトを手動で実行してもエラーにはなりません。しかし、設定で monit チェック プログラムを使用して monit reload を実行すると、monit でエラーが発生します。
これが私の現在のmonit .confファイルです-
check program myscript with path "/etc/monit.d/script_to_run.sh"
if status != 0 then alert
これをこれに変更して、monitがbashを使用してファイルを解析するようにすると...
check program myscript with path "/usr/bash /etc/monit.d/script_to_run.sh"
if status != 0 then alert
次に、このエラーが発生します
Warning: Program does not exist: '"/bin/bash /etc/monit.d/script_to_run.sh"'
テスト スクリプトでさえエラーになります -- script_to_run.sh にこれがある場合:
#!/bin/bash
exit 0
モニターは文句を言います
Error: syntax error 'exit'
script_to_run.sh にこれがある場合:
#!/bin/bash
echo "hello"
モニターは文句を言います
Error: syntax error 'echo'
参考までに-私はmonit 5.4を使用しており、man monit docの「チェックプログラム」の例に従っており、同じサーバーでmonit「チェックプロセス...」を正常に構成/使用できます。