cron ジョブが現在実行されているかどうか、最後にいつ開始されたかを知りたい場合は、次の方法が最も簡単です。
0 0 * * * touch /path/cron.start; /path/exec.sh; touch /path/cron.end
これにより、ファイル /path/cron.start
が作成されます 開始時刻であるタイムスタンプを使用します。ジョブが終了すると、ファイル /path/cron.end
cron が終了したときのタイムスタンプがあります。単純な ls -lrt /path/cron.{start,end}
ジョブが開始された時刻と、まだ実行中かどうかがわかります (ジョブがまだ実行中かどうかは、順序でわかります)。
この時点でcronが実際に何かを実行しているかどうかを確認します(ubuntuで動作します)
pstree -apl `pidof cron`
2775,cron # your pid (2775) will be different to mine :-)
またはcronが実行しているすべての子プロセスを含むツリー出力(十分な権限がない場合、名前が付けられない場合があります)およびHamorizが言うように、ログは/var/log/syslogにあるので
grep CRON /var/log/syslog
cron だけのログを取得します
現在実行中の cron ジョブがあるかどうかも確認したい ?
ps aux |grep "path/exec.sh"
cron ジョブは何時に実行されましたか?
Cron ログは、crond からタスクを開始したときにのみ表示され、終了時にはログに記録されません。これをタスクに配置するか、開始時間と終了時間を制御する 1 つのスクリプトにタスクを埋め込む必要があります。
すでに実行されている場合
cat /path/logs/messages または /path/logs/file システムが crond のログを出力する場合 (これは、ディストリビューション設定またはコンピューターによって異なります)