Keduanya crondan anacronmerupakan daemon yang dapat menjadwalkan eksekusi tugas berulang ke titik waktu tertentu yang ditentukan oleh pengguna.
Perbedaan utama antara crondan anacronadalah 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 anacronbersifat 'anachronistic' dan dirancang untuk sistem yang tidak berjalan 24x7. Agar berfungsi, anacrongunakan file bertanda waktu untuk mengetahui kapan terakhir kali perintahnya dijalankan. Ini juga memelihara file /etc/anacrontabseperti cronhalnya. Selain itu, cron.dailyjalankan anacron setiap hari. Karenanya, anacronhanya bisa menjalankan pekerjaan sekali sehari, tetapi cronbisa 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.shpekerjaan seharusnya dieksekusi, jika sistem tidak berjalan, anacronakan mengeksekusi script.sh15 menit setelah sistem muncul kembali.
Beberapa referensi: