GNU/Linux >> Belajar Linux >  >> Linux

Cron Vs Anacron:Cara Mengatur Anacron di Linux (Dengan Contoh)

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

Linux
  1. Bagaimana saya menggunakan cron di Linux

  2. Cara Setup Rsync dengan SSH di UNIX/Linux (rsync tanpa password)

  3. Cara Membuat Thread di Linux (Dengan Program Contoh C)

  1. Cara Menggunakan Format Cron Job untuk Menjadwalkan Tugas di Linux

  2. Cara Menjadwalkan Pekerjaan dengan perintah 'at' di Linux

  3. Bagaimana cara mengatur pekerjaan CRON agar berjalan setiap 10 detik di Linux?

  1. Cara Mengatur Pekerjaan Cron di Linux

  2. Cara menginstal dan mengatur layanan contoh dengan xinetd di RHEL 8 / CentOS 8 Linux

  3. Cara Mengatur NGINX yang Sangat Tersedia dengan KeepAlived di Linux