GNU/Linux >> Belajar Linux >  >> Linux

Crontab Log:Cara Mencatat Keluaran Skrip Cron Saya

Pertanyaan :Saya membuat skrip shell backup.sh dan menambahkannya ke crontab saya untuk menjalankannya setiap hari. Bagaimana cara memverifikasi apakah tugas skrip cron cadangan berjalan dengan sukses? Juga, saya memiliki beberapa pernyataan gema di dalam skrip shell backup.sh saya. Bagaimana cara menyimpan output skrip saya ke file log saat dijalankan sebagai tugas cron?

Answer :Katakanlah Anda telah menambahkan backup.sh ke crontab Anda seperti yang ditunjukkan di bawah ini untuk menjalankannya pada tengah malam setiap hari.

$ crontab -e
59 23 * * * /home/john/bin/backup.sh

Untuk memverifikasi apakah pekerjaan ini berhasil dijalankan atau tidak, periksa file /var/log/cron, yang berisi informasi tentang semua pekerjaan cron yang dijalankan di sistem Anda. Seperti yang Anda lihat dari output berikut, cron job john berhasil dijalankan.

$ tail /var/log/cron
Oct  8 22:00:00 dev-db crond[18340]: (root) CMD (/bin/sh /home/root/bin/system_check &)
Oct  8 23:00:00 dev-db crond[20348]: (oracle) CMD (/bin/sh /home/oracle/bin/cleanup.sh &)
Oct  8 23:59:00 dev-db crond[20399]: (john) CMD (/bin/sh /home/john/bin/backup.sh &)

Cron log berisi informasi berikut:

  • Stempel waktu – Tanggal dan waktu saat tugas cron dijalankan
  • Hostname – Nama host server (Misalnya, dev-db)
  • Nama cron deamon dan PID. Misalnya, crond[20399]
  • Username – Nama pengguna yang menjalankan tugas cron ini. Misalnya, john.
  • CMD – Apa pun yang mengikuti ini adalah perintah sebenarnya yang dieksekusi pada saat itu.

Jika ada pernyataan gema di dalam backup.sh, Anda mungkin ingin memasukkannya ke dalam file. Secara umum, jika skrip cron backup.sh mengeluarkan output apa pun (termasuk kesalahan), Anda mungkin ingin mencatatnya ke file log. Untuk melakukannya, ubah entri crontab dan tambahkan output dan pengalihan kesalahan seperti yang ditunjukkan di bawah ini.

$ crontab -e
59 23 * * * /home/john/bin/backup.sh > /home/john/logs/backup.log 2>&1

Di atas:

  • > /home/john/logs/backup.log menunjukkan bahwa output standar skrip backup.sh akan dialihkan ke file backup.log.
  • 2>&1 menunjukkan bahwa kesalahan standar (2>) dialihkan ke deskriptor file yang sama yang ditunjukkan oleh keluaran standar (&1).
  • Jadi, baik keluaran standar maupun kesalahan akan dialihkan ke /home/john/logs/backup.log

Linux
  1. Di mana log cron / crontab? / Bagaimana cara mengaktifkan Cron Log?

  2. Bagaimana Menyoroti Kata Dalam Output "kucing"??

  3. Bagaimana Cara Kerja Bagian Dalam Cron Daemon?

  1. Bagaimana cara menambahkan output ke file?

  2. Bagaimana menginterpretasikan output dari netstat -o / netstat --timers

  3. Bagaimana cara menyalin output terminal?

  1. Cara menggunakan cron di Linux

  2. Cara Menjadwalkan Pekerjaan Cron dengan Crontab

  3. Cara menjalankan pekerjaan cron pada hari-hari tertentu dalam seminggu