Jika Anda hanya tertarik untuk mengetahui apakah cronjob Anda sedang berjalan dan kapan terakhir dimulai, maka saya menemukan cara termudah berikut:
0 0 * * * touch /path/cron.start; /path/exec.sh; touch /path/cron.end
Ini akan membuat file /path/cron.start
dengan cap waktu yang merupakan waktu mulai. Saat pekerjaan selesai, file /path/cron.end
akan memiliki stempel waktu ketika cron selesai. Jadi ls -lrt /path/cron.{start,end}
sederhana akan memberi tahu Anda kapan pekerjaan dimulai dan apakah masih berjalan (perintah akan memberi tahu Anda jika masih berjalan).
untuk memeriksa apakah cron benar-benar menjalankan sesuatu saat ini (berfungsi di ubuntu)
pstree -apl `pidof cron`
dan Anda akan mendapatkan
2775,cron # your pid (2775) will be different to mine :-)
atau output pohon dengan semua proses anak yang dijalankan cron (mungkin tidak menamainya jika Anda tidak memiliki hak istimewa yang memadai) dan seperti yang dikatakan Hamoriz, log ada di /var/log/syslog jadi
grep CRON /var/log/syslog
akan memberi Anda log hanya untuk cron
Saya juga ingin melihat apakah ada tugas cron saya yang sedang berjalan saat ini ?
ps aux |grep "path/exec.sh"
jam berapa cron job saya berjalan ?
Log Cron hanya ditampilkan saat memulai tugas dari crond, bukan log saat selesai. Anda perlu meletakkan ini di tugas Anda atau menyematkan tugas Anda dalam satu skrip dengan waktu kontrol mulai dan berakhir.
jika sudah berjalan ?
cat /path/logs/messages atau /path/logs/file ketika sistem Anda meletakkan log crond (ini tergantung pada pengaturan distribusi atau komputer Anda)