WHMCSのcPanelで設定されているcronは1日1回、午前12.00に1つだけです。
Cronは毎日のアクティビティログをメールに送信します。
最近問題が発生し、cronジョブアクティビティログがそのメールから送られてきました[email protected]
は存在しません。実際のドメイン名を置き換えることなく、そのアドレスからメールが送信されます。
そこで、cronジョブを削除し、午前8時の異なるタイミングで新しいジョブを作成しました。 cronはその時点で正しく実行されており、有効なメールからログを受信しています。ただし、その時点で別のcronジョブがスタックしており、ログがその無効なメールアドレス[email protected]
から来ている場合、私はまだ午前12.00でもメールを受け取ります。
Cron構成ファイルを調べましたが、cronの重複エントリはありませんでした。 WHMCSサポートで確認しましたが、ソフトウェア構成は正しいです。
以前にこのような問題が発生したことがありますか?何か提案はありますか?ありがとうございました。
また、すべてのユーザーのcronジョブを確認するときは、cronファイルの各行の最初の数文字を確認してください。
文字の最初のセットが「0 0」または「00 00」のいずれか、または任意の形式の2つのゼロセットで始まる場合、それは真夜中を意味します。後の数字は、タスクが発生するはずの深夜の数を定義するのに役立ちます。したがって、残りの文字がスペースで区切られた星の後にコマンドが続く場合、そのコマンドは深夜(午前12時)ごとに実行されます。
また、cpanelは設定を(cpanelに)保存した後にcrontabを上書きする可能性が高いため、cpanelを使用する前後(特にcpanelを使用した後)にcrontabを確認してください。 rootとしてのUNIXシェルでは、次のコマンドでユーザーを切り替えることができます。
su <insert username>
次に、そのユーザーのcrontabを次のように確認して編集します。
crontab -e
また、次のように入力して、cronで始まる他のcronファイルのetcフォルダー全体を確認します。
ls /etc/cron*.*
Cronジョブは複数の場所にインストールできます。必ずすべてチェックしてください。サーバーには、cronジョブをインストールできる/etc/cron.d/
および/etc/cron.daily
ディレクトリがあります。各ユーザーは、crontab
コマンドを使用してジョブをインストールすることもできます。 (crontab -l
は特定のユーザーのすべてのジョブをリストします)。すべてのユーザーのcronジョブのリストについて このStackOverflowの質問 の解決策を試してみてください。
Cronジョブが実行されると、次のようなログエントリが/etc/log/syslog
に投稿されます。
Jan 18 07:42:01 mybox CRON[26066]: (root) CMD (/root/cronjobs/check)
これにより、ジョブがいつ実行され、どのユーザーで実行されたかがわかります。
次のようなコマンドを使用して、cronデーモンの再起動を試みることもできます。
Sudo service cron restart