Anacron adalah cron untuk desktop dan laptop.
Anacron tidak mengharapkan sistem berjalan 24 x 7 seperti server.
Bila Anda ingin pekerjaan latar belakang dijalankan secara otomatis pada mesin yang tidak berjalan 24 x 7, Anda harus menggunakan anacron.
Misalnya, jika Anda memiliki skrip pencadangan yang dijadwalkan setiap hari pada pukul 11 malam sebagai tugas cron biasa, dan jika laptop Anda tidak menyala pada pukul 11 malam, tugas pencadangan Anda tidak akan dijalankan.
Namun, jika Anda memiliki pekerjaan yang sama yang dijadwalkan di anacron, Anda dapat yakin bahwa itu akan dieksekusi setelah laptop kembali.
Format Anacrontab
Sama seperti cron memiliki /etc/crontab, anacron memiliki /etc/anacrontab.
File /etc/anacrontab memiliki tugas anacron yang disebutkan dalam format berikut.
period delay job-identifier command
Bidang 1 adalah periode pengulangan: Ini adalah nilai numerik yang menentukan jumlah hari.
- 1 – setiap hari
- 7 – mingguan
- 30 – bulanan
- N – Ini bisa berupa nilai numerik apa pun. N menunjukkan jumlah hari
Catatan:Anda juga dapat menggunakan '@monthly' untuk pekerjaan yang perlu dilakukan setiap bulan.
Bidang 2 adalah Penundaan: Ini menunjukkan penundaan dalam beberapa menit. yaitu X jumlah menit anacron harus menunggu sebelum menjalankan pekerjaan setelah mesin dimulai.
Bidang 3 adalah pengidentifikasi Pekerjaan: Ini adalah nama untuk file cap waktu pekerjaan. Itu harus unik untuk setiap pekerjaan. Ini akan tersedia sebagai file di bawah direktori /var/spool/anacron. File ini akan berisi satu baris yang menunjukkan kapan terakhir kali pekerjaan ini dijalankan.
# ls -1 /var/spool/anacron/ test.daily cron.daily cron.monthly cron.weekly # cat /var/spool/anacron/test.daily 20110507
Bidang 4 adalah perintah: Perintah atau skrip shell yang perlu dijalankan.
Sama seperti skrip shell, komentar di dalam file anacrontab dimulai dengan #
Catatan: Untuk format file /etc/crontab, lihat Crontab Linux kami:15 artikel Contoh Pekerjaan Cron yang Luar Biasa.
Contoh Anakron
Contoh berikut mengeksekusi skrip /home/sathiya/backup.sh setiap 7 hari sekali.
Pada hari ketika pekerjaan backup.sh seharusnya dijalankan, jika sistem mati karena suatu alasan, anacron akan menjalankan skrip backup.sh 15 menit setelah sistem kembali (tanpa harus menunggu 7 hari lagi).
# cat /etc/anacrontab 7 15 test.daily /bin/sh /home/sathiya/backup.sh
START_HOURS_RANGE dan RANDOM_DELAY
Contoh di atas menunjukkan bahwa skrip backup.sh harus dijalankan setiap hari, dengan penundaan 15 menit. yaitu Ketika laptop dimulai, jalankan hanya setelah 15 menit.
Apa yang terjadi ketika laptop atau desktop tidak dimatikan? Kapan pekerjaan itu dieksekusi? Ini ditentukan oleh variabel lingkungan START_HOURS_RANGE di file /etc/anacrontab.
Secara default ini diatur ke 3-22 dalam file. Ini menunjukkan rentang waktu dari pukul 3 pagi hingga 10 malam.
# grep START /etc/anacrontab START_HOURS_RANGE=3-22
Di atas penundaan yang ditentukan pengguna yang ditentukan di bidang ke-2 dari file /etc/anacrontab, anacron juga secara acak menambahkan x jumlah menit. X didefinisikan oleh variabel RANDOM_DELAY dalam file /etc/anacrontab.
Secara default ini diatur ke 45 dalam file. Ini berarti anacron akan menambahkan x menit (diambil secara acak dari 0 dan 45), dan menambahkan ini ke penundaan yang ditentukan pengguna.
# grep RANDOM /etc/anacrontab RANDOM_DELAY=45
Cron Vs Anacron
Cron dan anacron memiliki kelebihan dan kekurangannya masing-masing. Bergantung pada kebutuhan Anda, gunakan salah satunya.
Cron | Anakron |
---|---|
Perincian minimum adalah menit (yaitu Pekerjaan dapat dijadwalkan untuk dieksekusi setiap menit) | Perincian minimum hanya dalam beberapa hari |
Tugas cron dapat dijadwalkan oleh pengguna biasa (jika tidak dibatasi oleh pengguna super) | Anacron hanya dapat digunakan oleh pengguna super ( tetapi ada solusi untuk membuatnya dapat digunakan oleh pengguna biasa ) |
Cron mengharapkan sistem berjalan 24 x 7. Jika pekerjaan dijadwalkan, dan sistem mati selama waktu itu, pekerjaan tidak dijalankan. | Anacron tidak mengharapkan sistem berjalan 24 x 7. Jika tugas dijadwalkan, dan sistem mati selama waktu itu, ia akan memulai tugas saat sistem kembali aktif. |
Ideal untuk server | Ideal untuk desktop dan laptop |
Gunakan cron saat tugas harus dijalankan pada jam dan menit tertentu | Gunakan anacron saat tugas harus dijalankan terlepas dari jam dan menit |