私のSolaris 11クローンが動作を停止したようです。
これは私が実行したcronジョブの最終出力です。
-rw-r--r-- 1 root root 60 Jul 2 20:30 locked_passwords.txt
次のようにテストを設定しました。
* * * * * touch /tmp/testing.txt
絶対ファイルに触れないでください
サービスが実行中であることを確認しました。
svcs cron
STATE STIME FMRI
online Mar_09 svc:/system/cron:default
ファイルをバンドルしましたが、次のようになります。
root 532 1 0 Mar 09 ? 3:08 /usr/sbin/cron
pfexec truss -f -p 532
532: pollsys(0xFC7FC1A8, 1, 0xFC7FC750, 0x00030414) (sleeping...)
私のクローンプロセスは眠っていますか?なぜ?
アップデート:cronを2回再起動しましたが、停止し続けます。私のログのほとんどは次のとおりです。
! c queue max run limit reached Mon Jul 24 12:53:00 2017
! rescheduling a cron job Mon Jul 24 12:53:00 2017
! c queue max run limit reached Mon Jul 24 12:53:00 2017
! rescheduling a cron job Mon Jul 24 12:53:00 2017
! c queue max run limit reached Mon Jul 24 12:53:00 2017
! rescheduling a cron job Mon Jul 24 12:53:00 2017
この状態をどのように診断しますか?
答え1
/var/cron/logを確認しましたか?アカウントがロックされているか、cron.denyに追加されている可能性がありますか?
/var/spool/cron/crontabsに対応する.auファイルはありますか?歴史的に、このファイルはジョブを実行するために必要でした。によって生成されるため、crontab -e
通常、cronファイルが新しいサーバーにコピーされたときにのみ失われます。呼び出されるスクリプト/バイナリに問題がある可能性がありますか?
cronデーモンは通常、作業を待っている間眠ります。
v11.3を使用している場合は、次のものも使用できます。予約サービスあなたのニーズにもっと役立つとしたらどうでしょうか?
答え2
解決しました! ! !
/var/cron/logは私の問題を解決しませんでしたが、正しい方向を教えてくれました。ログに見るとたくさん出ますね
! c キューの最大実行制限に達しました。 2010年5月27日木曜日 15:45:01 [[queue "c" for cron]]
/etc/cron.d/queuedefsは他のすべてのサーバーと同じであるため、問題はありません。
これが私がすることです。
ps -ef | grep cron ptree <PID> pgrep -f '/export/script.sh' # verify the listing before proceeding pkill -9 -f '/export/script.sh' ** Now cron is running again **
何百ものscript.shが積み重なっているのを見てください。
script.shがデータベースに接続され、このスクリプトによる変更の問題を解決しています。しかし、cronは再び実行されます。
ありがとう