Cron Vs Anacron: Cara Menjadwalkan Pekerjaan Menggunakan Anacron di Linux
Pada artikel ini, kami akan menjelaskan cron dan anacron dan juga menunjukkan cara menyiapkan anacron di Linux. Kami juga akan membahas perbandingan kedua utilitas ini.
Untuk menjadwalkan tugas pada waktu tertentu atau nanti, Anda dapat menggunakan perintah 'pada' atau 'batch' dan untuk mengatur perintah agar dijalankan berulang kali, Anda dapat menggunakan < fasilitascron dan anacron.
Cron – adalah daemon yang digunakan untuk menjalankan tugas terjadwal seperti pencadangan sistem, pembaruan, dan banyak lagi. Sangat cocok untuk menjalankan tugas terjadwal pada mesin yang akan berjalan terus menerus 24X7 seperti server.
Perintah/tugas dituliskan ke dalam pekerjaan cron yang dijadwalkan dalam file crontab. File crontab sistem default adalah /etc/crontab, namun setiap pengguna juga dapat membuat file crontab mereka sendiri yang dapat meluncurkan perintah pada waktu yang ditentukan pengguna.
Untuk membuat file crontab pribadi, cukup ketikkan yang berikut ini:
crontab -e
Cara Mengatur Anacron di Linux
Anacron digunakan untuk menjalankan perintah secara berkala dengan frekuensi yang ditentukan dalam hari. Cara kerjanya sedikit berbeda dari cron; mengasumsikan bahwa mesin tidak akan dihidupkan sepanjang waktu.
Cocok untuk menjalankan pekerjaan terjadwal harian, mingguan, dan bulanan yang biasanya dijalankan oleh cron, pada mesin yang tidak akan berjalan 24-7 seperti mesin laptop dan desktop.
Dengan asumsi Anda memiliki tugas yang dijadwalkan (seperti skrip cadangan) untuk dijalankan menggunakan cron setiap tengah malam, mungkin saat Anda tertidur, dan desktop/laptop Anda mati pada saat itu. Skrip cadangan Anda tidak akan dijalankan.
Namun, jika Anda menggunakan anacron, yakinlah bahwa saat berikutnya Anda menghidupkan kembali desktop/laptop, skrip cadangan akan dijalankan.
Bagaimana Anacron Bekerja di Linux
pekerjaan anacron tercantum di /etc/anacrontab dan pekerjaan dapat dijadwalkan menggunakan format di bawah ini (komentar di dalam file anacrontab harus dimulai dengan #).
period delay job-identifier command
Dari format di atas:
- periode – ini adalah frekuensi pelaksanaan pekerjaan yang ditentukan dalam hari atau sebagai @daily, @weekly, atau @monthly sekali per hari, minggu, atau bulan. Anda juga dapat menggunakan angka: 1 – harian, 7 – mingguan, 30 – bulanan, dan N – jumlah hari.
- penundaan – ini adalah jumlah menit yang harus ditunggu sebelum menjalankan suatu pekerjaan.
- job-id – ini adalah nama khusus untuk pekerjaan yang ditulis dalam file log.
Untuk melihat contoh file, ketik:
ls -l /var/spool/anacron/
total 12
-rw------- 1 root root 9 Jun 1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly
- command – ini adalah perintah atau skrip shell yang akan dieksekusi.
Inilah yang secara praktis terjadi:
- Anacron akan memeriksa apakah suatu pekerjaan telah dieksekusi dalam periode yang ditentukan di bidang periode. Jika tidak, ia akan menjalankan perintah yang ditentukan di kolom perintah setelah menunggu jumlah menit yang ditentukan di kolom penundaan.
- Setelah tugas dieksekusi, ia mencatat tanggal dalam file stempel waktu di direktori /var/spool/anacron dengan nama yang ditentukan dalam bidang id pekerjaan (nama file stempel waktu).
Sekarang mari kita lihat sebuah contoh. Ini akan menjalankan skrip /home/aaronkilik/bin/backup.sh setiap hari:
@daily 10 example.daily /bin/bash /home/aaronkilik/bin/backup.sh
Jika mesin mati saat tugas backup.sh diharapkan dijalankan, anacron akan menjalankannya 10 menit setelah mesin dihidupkan tanpa harus menunggu 7 hari lagi.
Ada dua variabel penting dalam file anacrontab yang harus Anda pahami:
- START_HOURS_RANGE – ini menetapkan rentang waktu dimulainya pekerjaan (yaitu menjalankan pekerjaan hanya pada jam-jam berikutnya).
- RANDOM_DELAY – ini menentukan penundaan acak maksimum yang ditambahkan ke penundaan tugas yang ditentukan pengguna (secara default adalah 45).
Seperti inilah tampilan file anacrontab Anda.
/etc/anacrontab: configuration file for anacron
See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
@daily 10 example.daily /bin/bash /home/aaronkilik/bin/backup.sh
Berikut ini perbandingan cron dan anacron untuk membantu Anda memahami kapan harus menggunakan salah satu dari keduanya.
- It’s a daemon
Itu bukan dasmon
- Appropriate for server machines
Cocok untuk mesin desktop/laptop
- Enables you to run scheduled jobs every minute
Hanya memungkinkan Anda menjalankan pekerjaan terjadwal setiap hari
- Doesn’t executed a scheduled job when the machine if off
Jika mesin mati saat tugas terjadwal sudah waktunya, maka mesin akan menjalankan tugas terjadwal saat mesin dihidupkan pada waktu berikutnya
- Can be used by both normal users and root
Hanya dapat digunakan oleh root kecuali sebaliknya (diaktifkan untuk pengguna normal dengan konfigurasi tertentu)
Perbedaan utama antara cron dan anacron adalah cron bekerja secara efektif pada mesin yang akan berjalan terus menerus selama anacron dimaksudkan untuk mesin yang akan dimatikan dalam sehari atau seminggu.
Jika Anda mengetahui cara lain, bagikan dengan kami menggunakan formulir komentar di bawah.