Esempio di problema:
* 9 * * * echo 9
* 10 * * * echo 10
Quanto sopra emetterà un'email all'utente ogni minuto, ma tutte le risposte "9" accadranno alle 10:00 -> 10:59, mentre i "10" arriveranno alle 11:00-> 11:59 .
Esecuzione di un lavoro di
* * * * * /bin/date ; /bin/date -u
Restituito la data e l'ora (corrette) previste. questo era vero sia per UTC che per l'ora locale (America / Denver). Modificare questo lavoro per eseguirlo ogni minuto a un'ora specifica comporta l'offset (i lavori che dicono di essere eseguiti su 9 vengono eseguiti su 10, ecc. Ecc.).
Debug corrente che ho completato:
Va bene, è strano. Forse il mio file del fuso orario è in qualche modo incasinato? Controlliamo quello
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical
Ho controllato l'orologio hardware per vedere se questo è spento o in qualche modo non è d'accordo con le mie impostazioni locali (esegui come root).
date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT -0.204171 seconds
Sembra essere spento per un secondo, ma ciò non dovrebbe far sì che i miei lavori cron eseguano un'ora fuori orario, giusto?
Sono anche sicuro di quanto segue:
- Il mio fuso orario è cambiato di recente? No
- Hai provato a correggere manualmente il fuso orario comunque? sì
- Hai resettato cron dopo aver corretto il fuso orario? sì
- Mi sono assicurato che il servizio cron fosse riavviato? sì
- Ho riavviato il servizio cron? sì
- Sei davvero sicuro che cron sia stato riavviato? Cron sicuro al 100% è stato riavviato
Altre informazioni potenzialmente rilevanti:
Esecuzione di Debian.
cat /etc/debian_version
8.6
Kernel corrente
uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
Debug aggiornato:
Esegui 'hwclock --systohc', non si notano cambiamenti nel comportamento. Ho eseguito questo comando per verificare
date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT -0.875328 seconds
Non riesco a eseguire 'cat / etc / sysconfig / clock' poiché questo file non esiste. L'esecuzione di un comando find sotto / etc / tree per trovare 'clock' conferma che non ho alcun file con quel nome lì.
Controllato per vedere se qualcosa di cui sono a conoscenza ha impostato la variabile CRON_TZ. Non è impostato a livello di utente, né a livello di root. Avere cron echo fuori non dà alcun output.
hwclock --systohc
solo per completezza e aggiungere cat /etc/sysconfig/clock
alla domanda?
CRON_TZ
l'env var impostato da qualche parte?