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.