2012-11-02 11 views
34

Jeśli Cron ma zaplanowane zadanie o godzinie drugiej w nocy, a jedno o trzeciej nad ranem, w jaki sposób na te prace wpłynie czas letni?Oszczędności czasu letniego i Cron

Kiedy godzina cofnie się o godzinę, czas mija od 2:59:59 do 2:00:00 rano? Czy oznacza to, że praca o 2 rano miałaby się odbyć dwukrotnie, a praca o 3 nad ranem byłaby jednorazowa? A może pierwsza zmiana czasu na 3:00:00, a następnie 2:00:00 powoduje dwukrotne uruchomienie obu zadań?

Kiedy godzina przesuwa się o godzinę, godzina zmienia się z 1:59:59 na 3:00:00, powodując, że zadanie o 2 nad ranem nie działa, a zadanie o 3 nad ranem raz? A może przesunięcie czasu z 2:00:00 na 3:00:00 powoduje, że oba zadania są uruchamiane jeden raz?

W skrócie co zastanawiam się kiedy zyskuje na godzinę robi 3 am godzin zdarzyć raz lub dwa razy, a tracąc godzinę robi 2 am godzin zdarzyć w ogóle. Nie mogłem znaleźć nic na ten temat, patrząc na Google.

Odpowiedz

35

Odpowiedź będzie zależna od wariantu/rozszerzenia crona, którego używasz. Niektóre warianty nie obsługują czasu letniego, co prowadzi do brakujących zadań i dwukrotnego uruchomienia zadania.

Jeśli korzystasz z cron Paul Vixie, to obsługuje zmiany DST. Jak na cron man page:

kontroli crona każda minuta, aby zobaczyć, jeśli jego katalogu spool modtime (lub czas modyfikacji pliku/etc/crontab) zmieniła

I dalej, w nawiązaniu do Daylight Saving Time (The 2nd para wyraźnie wyjaśnia swoją odpowiedź)

Daylight Saving time, a innym razem zmienia

Local time changes of less than three hours, such as those caused by 
    the start or end of Daylight Saving Time, are handled specially. This 
    only applies to jobs that run at a specific time and jobs that are run 
    with a granularity greater than one hour. Jobs that run more fre- 
    quently are scheduled normally. 

    If time has moved forward, those jobs that would have run in the inter- 
    val that has been skipped will be run immediately. Conversely, if time 
    has moved backward, care is taken to avoid running jobs twice. 

    Time changes of more than 3 hours are considered to be corrections to 
    the clock or timezone, and the new time is used immediately. 

Tak więc, gdy zmiany czasu mogą być 2:59:59 lub o 3:00:00, cron opiekuje się biegami pracy, radząc sobie z sytuacją i uruchamiając tylko pominięte i unikając prowadzenia już uruchomionych zadań .

+1

Link jest uszkodzony. Co Paul Vixie cron. Nic nie znalazłem w Internecie. –

+1

Tu jest link do archiwum strony nieistniejącego: https://web.archive.org/web/20130905110602/http://unixhelp.ed.ac.uk/CGI/man-cgi?cron+8 i tutaj jest aktualna strona, która obsługuje strony man linux: https://linux.die.net/man/8/cron –

Powiązane problemy