Apa itu anacron dan apa bedanya dengan cron?
Anacron digunakan untuk menjalankan perintah secara berkala, dengan frekuensi yang ditentukan dalam hari. Tidak seperti cron, itu tidak mengasumsikan bahwa mesin berjalan terus menerus. Oleh karena itu, dapat digunakan pada mesin yang tidak berjalan 24 jam sehari untuk mengontrol pekerjaan reguler seperti pekerjaan harian, mingguan, dan bulanan. Anacron mencoba menjalankan tugas terjadwal sedekat mungkin dengan waktu aktif sistem.
file konfigurasi anacron
/etc/anacrontab adalah file konfigurasi anakron. Di bawah ini adalah contoh file anacron yang belum diedit :
# cat /etc/anacrontab # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
Di sini :
1. periode dalam hari :menentukan frekuensi pelaksanaan pekerjaan dalam hari. Variabel ini dapat diwakili oleh bilangan bulat atau makro (@harian, @mingguan, @bulanan), di mana @harian menunjukkan nilai yang sama dengan bilangan bulat 1, @mingguan sama dengan 7, dan @bulanan menentukan bahwa pekerjaan dijalankan sebulan sekali, tidak tergantung pada panjang bulan.
2. penundaan dalam hitungan menit :menentukan jumlah menit anacron menunggu, jika perlu, sebelum menjalankan tugas. Variabel ini diwakili oleh bilangan bulat di mana 0 berarti tidak ada penundaan.
3. pengenal pekerjaan :menentukan nama unik pekerjaan yang digunakan dalam file log.
4. perintah :menentukan perintah yang akan dieksekusi. Perintah tersebut dapat berupa perintah seperti ps -ef>> /tmp/processes atau perintah untuk mengeksekusi skrip khusus.
3 baris di akhir file konfigurasi adalah tugas cron yang ditentukan sistem.
1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
Variabel lainnya dijelaskan dengan contoh di bawah ini.
Contoh konfigurasi anacron
Mari kita periksa contoh konfigurasi anacron. Kami membuat tugas anacron untuk menjalankan skrip bernama “daily_job.sh” setiap hari dengan penundaan 35 menit setelah sistem muncul.
# cat /etc/anacrontab RANDOM_DELAY=30 START_HOURS_RANGE=10-18 1 35 daily_job sh /var/tmp/daily_job.sh
Jika sistem berjalan maka pekerjaan akan berjalan sesuai START_HOURS_RANGE yang didefinisikan dalam file /etc/anacrontab. Variabel START_HOURS_RANGE menentukan rentang jam di mana jobb yang dijadwalkan diizinkan untuk dijalankan. Dalam kasus kami, ini adalah pukul 10 pagi. sampai jam 6 sore (10-18)
# grep -i START_HOURS_RANGE /etc/anacrontab START_HOURS_RANGE=10-18
RANDOM_DELAY variabel menunjukkan jumlah menit maksimum yang akan ditambahkan ke variabel penundaan dalam menit yang ditentukan untuk setiap pekerjaan. Oleh karena itu, RANDOM_DELAY yang disetel ke 30 akan menambahkan, secara acak, antara 0 dan 30 menit ke penundaan dalam menit untuk setiap tugas di anacrontab tertentu. Jika disetel ke 0, tidak ada penundaan acak yang ditambahkan.
# grep -i RANDOM_DELAY /etc/anacrontab RANDOM_DELAY=30