Di Linux, cron adalah utilitas baris perintah yang memungkinkan pengguna menjadwalkan tugas berulang kali pada waktu tertentu. Cron adalah daemon, proses latar belakang yang mengeksekusi pekerjaan non-interaktif, dan Melayani di Windows. Saat menjalankan skrip cron, beberapa pengguna telah melaporkan bahwa skrip tersebut tidak berperilaku seperti yang diharapkan oleh crontab. Ini dapat memiliki berbagai penyebab seperti tidak aktifnya daemon cron, skrip yang salah, jalur yang tidak valid, atau kesalahan sintaks pada skrip.
Panduan ini mengeksplorasi penyebab dan perbaikan skrip cron yang tidak berjalan seperti yang diharapkan dari crontab.
- Penyebab 1: Daemon cron tidak aktif
- Solusi: Aktifkan layanan cron daemon
- Alasan 2: Jalur tugas cron tidak valid
- Solusi: Verifikasi jalur ke tugas cron
- Alasan 3: Skrip tidak memiliki izin eksekusi
- Solusi: Izinkan izin eksekusi untuk skrip
- Alasan 4: Skrip salah
- Solusi: Periksa kesalahan skrip
Penyebab 1: Cron daemon atau layanan tidak aktif
Di Linux, “Daftar tugas berjangka waktu” diberi layanan latar belakang yang disebut daemon. Ini memeriksa apakah suatu pekerjaan dijadwalkan untuk dieksekusi di latar belakang pada waktu tertentu. Salah satu alasan utama mengapa skrip cron tidak dijalankan adalah karena layanan daemon tidak aktif. Untuk memeriksanya status, gunakan perintah berikut:
$ sudo systemctl status cron
Gambar di atas menunjukkan bahwa layanan cron daemon adalah tidak aktif (mati). Mari kita aktifkan.
Solusi: Aktifkan layanan cron daemon
Untuk mengaktifkan layanan daemon cron, gunakan perintah berikut:
$ sudo systemctl start cron
Gambar di atas mengonfirmasi bahwa layanan daemon cron telah dimulai.
Alasan 2: Jalur tugas cron tidak valid
Jalur sering menjadi masalah saat menjalankan skrip, dan pengguna harus memastikan bahwa jalur absolut ke skrip valid. Skrip dan jalurnya ada di “/tmp/crontab.fDNOaT/crontab”, yang dapat memiliki nama berbeda di sistem Anda.
Solusi: Verifikasi jalur ke tugas cron
Buka file dengan perintah ini /tmp/crontab.fDNOaT/crontab” dan masuk “1” Jika diminta:
Gulir ke bawah ke bawah dan tambahkan skrip yang diinginkan.Pada gambar di bawah ini, kami telah menambahkan skrip jalan yang salah Hanya untuk membantu Anda memahami. Jalur skrip yang sebenarnya adalah /home/itslinuxfoss/scripts/Script.sh:
Mari tambahkan jalur efektif ke dalamnya, yang merupakan jalur absolut ke direktori tempat skrip ditempatkan di sistem.
Jalur ke skrip sekarang valid, yang seharusnya berhasil, karena tidak melakukan apa pun saat tidak dapat menemukan skrip di lokasi yang ditentukan.
Alasan 3: Skrip tidak memiliki izin eksekusi
Tanpa izin eksekusi, skrip tidak dapat dieksekusi. Untuk melihat izin, misalnya, “script.sh“, gunakan perintah ini:
$ ls -l /home/itslinuxfoss/scripts/Script.sh
Dengan melihat gambar di atas, “X” tidak dapat melihat mengeksekusi izin. Pelajari lebih lanjut tentang izin file dalam panduan mendetail ini.
Solusi: Berikan izin eksekusi
Untuk mengubah izin, perintah chmod +x digunakan seperti ini:
$ sudo chmod +x /home/itslinuxfoss/scripts/Script.sh
Perintah di atas menambahkan izin eksekusi ke “script.sh“berkas masuk”/home/itslinuxfoss/scripts.” Untuk mengonfirmasi perubahan, periksa kembali izin dengan perintah berikut:
$ ls -l /home/itslinuxfoss/scripts/Script.sh
Gambar di atas menegaskan eksekusi (x) izin skrip script.sh.
Alasan 4: Skrip salah
Kesalahan manusia selalu terjadi saat menulis skrip, dan skrip tidak dapat dijalankan saat terjadi kesalahan.Misalnya, di script.sh file, pengguna lupa menambahkan “Peristiwa“, Seperti yang ditunjukkan di bawah ini:
Solusi: perbaiki skrip
Pada gambar di atas, Shebang hilang. Mari kita tambahkan “Peristiwa” Memasuki”script.sh” file terlihat seperti ini:
Masalahnya sekarang harus diselesaikan seperti dijelaskan di atas.
Kesimpulannya
Menyelesaikan masalah”skrip cron tidak berjalan seperti yang diharapkan dari crontab“, pengguna harus memulai daemon crontab, memberikan jalur yang valid dan mengeksekusi izin, dan memperbaiki kesalahan dalam skrip. Jika daemon crontab dihentikan, jalur tidak valid, tidak ada izin eksekusi, atau ada kesalahan dalam skrip, skrip cron tidak akan dijalankan. Panduan ini menyediakan Perbaikan yang mungkin diperbaiki untuk “Skrip Cron tidak dijalankan seperti yang diharapkan dari crontab”.