Bagaimana cara kerja anacron jika itu bukan daemon?

13

Saya membaca tentang perbedaan antara cron dan anacron dan saya menyadari bahwa anacron, tidak seperti cron bukan daemon. Jadi saya bertanya-tanya bagaimana cara kerjanya sebenarnya jika itu bukan daemon.

tgwtdt
sumber

Jawaban:

20

Ini menggunakan berbagai metode untuk menjalankan:

  • jika sistem menjalankan systemd, ia menggunakan timer systemd (dalam paket Debian, Anda akan melihatnya di /lib/systemd/system/anacron.timer);
  • jika sistem tidak menjalankan systemd, ia menggunakan sistem cron job (in /etc/cron.d/anacron);
  • dalam semua kasus ini menjalankan pekerjaan cron harian, mingguan dan bulanan (dalam /etc/cron.{daily,weekly,monthly}/0anacron);
  • ini juga berjalan saat boot (dari /etc/init.d/anacronatau unit systemdnya).
Stephen Kitt
sumber
Saya telah melihat {a,b,c}notasi sekitar; dapatkah saya menggunakannya di shell saya? (Saya tidak memiliki akses ke sana sekarang atau saya akan menguji.) Apakah itu berarti apa yang tampaknya - yaitu, semua file dengan {...}diganti dengan hal-hal yang dipisahkan koma?
Dana Gugatan Monica
3
@QPaysTaxes - Bash (dan beberapa cangkang lainnya) memperluas braces dengan cara itu - lihat Manual Referensi Bash: Brace Expansion
shalomb
6

anacronbukan daemon, dan karena itu perlu dijalankan secara berkala dengan cara lain. Paling sering, ini berarti mengeksekusinya dengan pekerjaan cron sekali sehari, dan mungkin juga saat bootup.

Ini mungkin terlihat seperti berikut ini di crontab root, misalnya:

@reboot /usr/local/sbin/anacron -ds
@daily  /usr/local/sbin/anacron -ds

Sistem Linux yang menggunakan systemd mungkin melakukan ini secara berbeda, jelas, tetapi masih perlu memfasilitasi setidaknya satu kali anacronper periode 24 jam.

Berlari anacronlebih dari sekali setiap 24 jam tidak ada gunanya karena periode terpendek yang dapat dijadwalkan pekerjaan anacronadalah sekali sehari.

Kusalananda
sumber
Terima kasih. (1) Saya bertanya-tanya apa artinya "bukan daemon"? (2) mengenai kalimat terakhir Anda: "Timer sistemd berjalan anacron setiap jam untuk mengurangi penundaan antara melanjutkan kembali sistem yang ditangguhkan dan menjalankan anacron berikutnya" unix.stackexchange.com/questions/478803/…
Tim