2011-09-26 20 views
5

Crontab man sayfasından.Kapatma sırasında sistem cron işlerine ne olur?

 string   meaning 
     ------   ------- 
     @daily   Run once a day, "0 0 * * *". 
     @midnight  (same as @daily) 

Yani sistem her zaman gece yarısında kapanıyorsa @daily hiçbir iş yürütülmeyecek? Bu işi günde bir kez çalıştırmak istediğimi belirtmenin doğru yolu nedir, ancak bir günde tam olarak ne zaman uygulandığı umrumda değil mi?

+4

http://serverfault.com/questions/52335/job-scheduling-using- crontab-what-will-when-computer-is-shutdown-sırasında-t – jman

+1

Sunucular, bir gecede kapanma anlamına gelmez ... neden çevrimiçi tutmamaları ve haftada bir kez kapatmamaları? Ya da en azından daha önce çalıştırmak için cron işini değiştirebilir mi? –

cevap

2

Bu iş işe yarayabilir, ancak muhtemelen tamamlanmaz. cron bir daemon ile uygulanır, bu yüzden her zaman çalışır. Sisteminizin kapatma sırasına bağlı olarak, cron aslında kapatma işleminde kapatma sinyalini oldukça geç gönderebilir, bu nedenle kapatma işleminin başlatıldığı an için planlanan işler yine de çalışabilir.

örn. Kapanış tam olarak 00:00:00 de başlar, ancak 00:00:05 (gece yarısından sonra 5 saniye sonra), bir cron bir kill sinyali göndermezse, o zaman kısa bir koşu 2-saniye iş hala tamamlamak için zaman alabilir

Ancak, işe bağlı olan herhangi bir hizmet zaten kapatılmışsa veya kapatılma aşamasındaysa, bitirme olasılığı düşüktür, mesela ... komut dosyası küçük bir parça için bir mysql sunucusuna ping atar veri ... ama mysql 00:00:01 'da kapatıldı ve senaryonuz saat 00: 00'a kadar mysql bölümüne gitmedi.

tl; dr: bu bir yarış durumu ve işiniz MAY execute ama muhtemelen yapmaz.

+1

+1 efendim, iyi cevap! – chown

İlgili konular