Keduanya cron
dan anacron
merupakan daemon yang dapat menjadwalkan eksekusi tugas berulang ke titik waktu tertentu yang ditentukan oleh pengguna.
Perbedaan utama antara cron
dan anacron
adalah bahwa yang pertama mengasumsikan bahwa sistem berjalan terus menerus. Jika sistem Anda tidak aktif dan Anda memiliki pekerjaan yang dijadwalkan selama waktu ini, pekerjaan itu tidak pernah dijalankan.
Di sisi lain anacron
bersifat 'anachronistic' dan dirancang untuk sistem yang tidak berjalan 24x7. Agar berfungsi, anacron
gunakan file bertanda waktu untuk mengetahui kapan terakhir kali perintahnya dijalankan. Ini juga memelihara file /etc/anacrontab
seperti cron
halnya. Selain itu, cron.daily
jalankan anacron setiap hari. Karenanya, anacron
hanya bisa menjalankan pekerjaan sekali sehari, tetapi cron
bisa berjalan sesering setiap menit.
Dari man anacrontab
:
Ketika dijalankan, Anacron membaca daftar pekerjaan dari file konfigurasi, biasanya / etc / anacrontab (lihat anacrontab (5)). File ini berisi daftar pekerjaan yang dikendalikan Anacron. Setiap entri pekerjaan menentukan periode dalam hari, penundaan dalam menit, pengidentifikasi pekerjaan yang unik, dan perintah shell.
Untuk setiap pekerjaan, Anacron memeriksa apakah pekerjaan ini telah dieksekusi dalam n hari terakhir, di mana n adalah periode yang ditentukan untuk pekerjaan itu. Jika tidak, Anacron menjalankan perintah shell job, setelah menunggu jumlah menit yang ditentukan sebagai parameter penundaan.
Setelah perintah keluar, Anacron mencatat tanggal dalam file stempel waktu khusus untuk pekerjaan itu, sehingga dapat mengetahui kapan harus menjalankannya lagi. Hanya tanggal yang digunakan untuk perhitungan waktu. Jamnya tidak digunakan.
Ini berarti, jika tugas dijadwalkan untuk dijalankan setiap hari dan komputer dimatikan selama waktu itu, ketika anacron dijalankan, itu dapat melihat bahwa tugas itu terakhir dijalankan lebih dari 24 jam yang lalu dan menjalankan tugas dengan benar.
Misalnya jika Anda menentukan yang berikut di /etc/anacrontab
:
7 15 test.daily /bin/sh /home/username/script.sh
dan pada hari ketika script.sh
pekerjaan seharusnya dieksekusi, jika sistem tidak berjalan, anacron
akan mengeksekusi script.sh
15 menit setelah sistem muncul kembali.
Beberapa referensi: