GNU/Linux >> Belajar Linux >  >> Linux

Apakah Anda Melakukan Kesalahan Cron Job Ini?

Pertanyaan: Mengapa tugas cron saya tidak dieksekusi pada waktu yang ditentukan ?

Jawaban: Mungkin ada banyak alasan mengapa pekerjaan cron tidak dapat dieksekusi. Mari kita tinjau 5 alasan penting mengapa tugas cron tidak berjalan pada waktu yang ditentukan dan cara mengatasi masalah tersebut.

1. Kesalahpahaman Bidang Waktu dan Menentukan Nilai yang Salah.

Salah tafsir bidang waktu, dan nilai yang diberikan dalam bidang waktu yang tidak menyebutkan waktu yang diharapkan/dimaksudkan.

Misalnya, untuk menjalankan perintah pada jam 8 malam, Anda harus menentukan waktu dalam format 24 jam. yaitu 8 malam adalah 20 dan bukan 8 seperti yang ditunjukkan di bawah ini.

0 8 * * * /home/ubuntu/full-backup
[Note: The is wrong for 8 p.m]
0 20 * * * /home/ubuntu/full-backup
[Note: This is correct for 8 p.m]

Baca tutorial kami Linux Crontab:15 Contoh Pekerjaan Cron Luar Biasa untuk mendapatkan pemahaman mendalam tentang crontab. Salah satu pembaca reguler kami, Binny, telah membuat antarmuka web yang akan menghasilkan entri cron saat Anda memilih nilai yang sesuai untuk berbagai bidang crontab di antarmuka pengguna.

2. Path to Shell Script atau Perintah di crontab tidak valid

Pastikan path lengkap ke skrip shell ditentukan di crontab.

0 8 * * * tape-backup
[Note: Invalid. No full path specified]

0 8 * * * /home/debian-os/bin/tape-backup
[Note: Valid. This is correct with full path]

Catatan: Jika Anda tidak ingin memberikan path lengkap di crontab, pastikan untuk menambahkan variabel PATH di crontab (contoh #14)

3. Tidak Ada Izin Jalankan Untuk Skrip Shell di Cron

Anda mungkin telah memberikan perintah yang benar dengan jalur yang benar, tetapi perintah tersebut mungkin tidak memiliki izin eksekusi. Jika Anda menggunakan perintah standar Unix, maka izin eksekusi akan ditetapkan secara default.

Namun, jika Anda menggunakan beberapa perintah yang ditentukan pengguna (skrip shell), pastikan untuk memberikan izin eksekusi seperti yang ditunjukkan di bawah ini.

*/15 * * * * /home/fedora-os/check-disk-space
[Note: Executes check-disk-space every 15 minutes]

# cd /home/fedora-os
# chmod u+x check-disk-space

4. %age di Cron Job Command atau Shell Script

Jika sebuah perintah memiliki % di dalamnya, perintah Anda tidak akan dieksekusi. Lihat FAQ Masalah %age Crontab kami sebelumnya untuk memahami cara memperbaiki masalah ini.

5. Dilarang Mengeksekusi Cron Job Oleh Sysadmin

Administrator sistem dapat memutuskan pengguna mana yang dapat menjalankan tugas cron dan pengguna mana yang tidak. Jadi untuk menolak pengguna menjalankan tugas cron, sysadmin mungkin telah menempatkan nama pengguna Anda di file /etc/cron.deny.

Jika Anda memiliki hak akses root, periksa file /etc/cron.deny untuk memastikan nama Anda tidak tercantum di sana. Jika terdaftar, edit file dan hapus nama Anda. Jika Anda tidak memiliki hak akses root, hubungi sysadmin Anda.


Linux
  1. Cara Mengatur Pekerjaan Cron Di TrueNAS

  2. Bagaimana cara mengatur tugas cron untuk menjalankan yang dapat dieksekusi setiap jam?

  3. Uji tugas cron mingguan

  1. Cron Job Tidak Dijalankan?

  2. Linux:Jalankan tugas cron di latar depan

  3. pekerjaan cron terkadang tidak berjalan

  1. Cara Menyiapkan Pekerjaan Cron

  2. Penggunaan &Kebijakan Pekerjaan Cron

  3. Hapus file log menggunakan tugas cron