2017-10-18 24 views
0

システムに複数のcronがあり、一部のcronは親cronに依存していますが、親cronはすべて正常に動作していないすべての子cronよりも停止しています。 cronジョブがサーバよりも仕事を停止すると、ユーザのメールにメールを送信したり、他のアラートを表示したりする可能性があります。コードでジョブの状態をチェック

+1

いくつかのコードやエラーが発生しました。また、このPHPはどのように関係していますか? – kerbholz

+1

あなたのcronコードは何ですか? cronはユーザーに電子メールを送信するためです。ブラックホールデフに設定されていない場合 –

答えて

0

crontab -lの出力を解析して、特定のcrontabエントリが存在するかどうかを調べることができます。 cronが実行中かどうかについては、ps -eafコマンドの出力を解析して、crondが実行中かどうかを調べることができます。

PHPのsystem()関数を使用して、コマンドラインツールを呼び出すことができます。exec()

EG:

exec("PATH=/usr/sbin:/usr/bin:/sbin:/bin; service crond status", $output, $return); 
print $return . "n"; 
0

あなたが他のcronsの健全性を監視するために別のサーバー上でモニタのcronを実行することができますように。

1) Your parent cron could set a flag in database to indicate its running state. 
2) Your monitor cron could read output of "ps -eaf" command to check if parent cron is running or not 

あなたのmonitor-cronは、まず親cronが動作しているサーバが利用可能かどうかをチェックする必要があります。

よろしくお願いいたします。

関連する問題