Saya menjadwalkan beberapa tugas menggunakan crontab.
Apa yang akan terjadi jika komputer saya dimatikan atau dimatikan saat cron dijadwalkan melakukan sesuatu?
Apakah setiap pekerjaan cron yang terlewat berjalan setelah komputer dihidupkan, atau apakah pekerjaan yang terlewatkan untuk hari itu diabaikan? Jika pekerjaan tidak terjawab tidak dilanjutkan, apakah ada cara untuk mengkonfigurasi cron sehingga menjalankan tugas yang tidak terjawab setelah komputer dihidupkan kembali?
Jawaban:
Ketika komputer Anda dimatikan (atau cron daemon tidak berjalan), tugas cron tidak akan dimulai.
Jika Anda memiliki pekerjaan yang ingin Anda jalankan setelah fakta pada saat-saat ketika komputer dimatikan, gunakan anacron. Diinstal secara default, lihat "man anacron", "man anacrontab", atau file / etc / anacrontab untuk info lebih lanjut.
Ubuntu menggunakan anacron secara default untuk entri crontab di:
meninggalkan crontab yang tersisa untuk ditangani oleh daemon cron utama, khususnya:
CATATAN
Anacron sendiri tidak berjalan sebagai daemon, tetapi bergantung pada skrip startup sistem dan cron sendiri untuk dijalankan.
Pada kotak Ubuntu 8.04 yang saya cari, /etc/init.d/anacron dijalankan saat boot, dan sekali lagi dengan cron setiap pagi pukul 07:30.
README di /usr/share/doc/anacron/README.gz memiliki info sedikit lebih banyak daripada yang terkandung dalam manual.
CONTOH
Untuk pekerjaan "harian", "mingguan", "bulanan" yang sederhana, letakkan salinan atau symlink ke skrip di salah satu direktori /etc/cron.{daily|weekly|monthly} di atas. Anacron akan menjalankannya setiap hari / mingguan / bulanan, dan jika komputer Anda mati pada hari skrip "mingguan" biasanya berjalan, ia akan menjalankannya saat komputer dihidupkan lagi.
Sebagai contoh lain, dengan asumsi Anda memiliki skrip di sini: /usr/local/sbin/maint.sh
Dan Anda ingin menjalankannya setiap tiga hari, entri standar di / etc / crontab akan terlihat seperti ini:
Jika komputer Anda tidak aktif pukul 00:00 pada tanggal 3 bulan itu, pekerjaan itu tidak akan berjalan hingga tanggal 6.
Agar pekerjaan dijalankan alih-alih pada tanggal 4 saat komputer mati dan "melewatkan" proses pada tanggal 3, Anda akan menggunakan ini di / etc / anacrontab (jangan lupa untuk menghapus baris dari / etc / crontab):
"Penundaan" dari "5" di atas berarti bahwa anacron akan menunggu selama 5 menit sebelum menjalankan pekerjaan ini. Idenya adalah untuk mencegah anacron menembakkan sesuatu dengan segera pada saat boot.
sumber
anacron
, instalcronie-anacron
paket.Ini tergantung pada penjadwal cron yang Anda gunakan. Daemon vanilla cron dasar tidak akan menjalankan tugas yang tidak terjawab karena downtime sistem. Namun, ada penjadwal cron lain yang dirancang khusus untuk situasi ini yang akan melakukan ini untuk Anda. Dua contoh yang paling umum adalah anacron dan fcron .
sumber
Tugas yang dijadwalkan saat komputer mati tidak akan berjalan ketika komputer menyala kembali
sumber
Jika Anda mematikan ketika pekerjaan cron berjalan, sistem dimatikan dan pekerjaan cron berhenti (atau tidak berjalan).
Salah satu alternatif yang bisa Anda periksa adalah anacron.
sumber
Sangat tergantung pada cron deamon yang Anda jalankan. Vixie-cron hanya akan melewatkan cronjobs yang tidak terjawab. fcron akan menjalankan crons yang terlewat sesegera mungkin. IIRC juga didasarkan pada vixie-cron, jadi jika itu yang Anda cari, Anda mungkin ingin memeriksa fcron.
sumber