Pertanyaan Jika saya menambahkan sesuatu ke cron sebagai pekerjaan mingguan, apakah itu tidak akan berjalan kecuali komputer saya pada waktu yang sangat tepat?


Katakanlah saya melakukan ini:

0 0 0 * * somejob

Apakah ini akan berjalan pada tanggal yang ditetapkan, dan jika komputer saya tidak tidak pada tanggal itu akan melewati minggu itu?

Katakanlah saya mengatur pekerjaan ini sekarang. Dan kemudian komputer saya dimatikan 5 hari dari tahu sepanjang hari.

Pada dasarnya saya butuh sesuatu untuk dijalankan setiap minggu, tetapi komputer saya mungkin tidak ada dalam 24/7.


2
2017-07-10 23:02


asal


Anda harus menjaga agar mesin tetap bekerja agar pekerjaan dapat dijalankan ... - nicorellius


Jawaban:


Ya, cron hanya akan menjalankan pekerjaan yang dijadwalkan untuk waktu tertentu jika komputer aktif pada waktu itu. Cara kerjanya adalah setiap menit, ia memeriksa semua tugas cron yang dijadwalkan untuk melihat apakah bidang waktunya sesuai dengan menit saat ini, dan jika demikian, ia menjalankan pekerjaan. Jika tidak, itu akan dilewati. Tidak ada konsep "menyelamatkan" pelaksanaan pekerjaan untuk waktu kemudian.

Apa yang bisa Anda lakukan, untuk situasi Anda, adalah menggunakan file penanda untuk menunjukkan terakhir kali pekerjaan itu dijalankan. Buat skrip atau program kecil yang terlihat seperti ini (ini adalah sintaks pseudo-Bash):

if (marker file was last modified > 1 week ago); then
    run the job
    touch marker file
fi

dan Anda dapat mengatur skrip tersebut sebagai tugas cron untuk dijalankan setiap hari, setiap jam, atau bahkan setiap menit - sesering yang Anda perlukan untuk memastikan bahwa itu akan berjalan setidaknya sekali setiap minggu selama waktu Anda menyalakan komputer.


4
2017-07-10 23:26





Anacron kemungkinan yang Anda cari:

Anacron adalah scheduler perintah periodik. Ini menjalankan perintah atintervals yang ditentukan dalam beberapa hari. Tidak seperti cron, itu tidak menganggap bahwa sistem ini berjalan terus menerus.


2
2017-07-11 03:27