I lavori Cron hanno una durata di 1 ora, in totale disaccordo con i tempi di sistema


9

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?
  • Hai resettato cron dopo aver corretto il fuso orario?
  • Mi sono assicurato che il servizio cron fosse riavviato?
  • Ho riavviato il servizio cron?
  • 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.


1
È CRON_TZl'env var impostato da qualche parte?
thrig

provare hwclock --systohcsolo per completezza e aggiungere cat /etc/sysconfig/clockalla domanda?
steve

Aggiunti entrambi i suggerimenti alle mie informazioni, purtroppo nessuno dei due ha fornito molto valore. CRON_TZ non è impostato in nessun ambiente che posso vedere, la risincronizzazione di hwclock ha dato gli stessi risultati di prima (controllato comunque per vedere se è cambiato, non lo ha fatto) e non ho un '/ etc / sysconfig / clock ' file.
jmurrayufo,

Risposte:


1

Un altro posto in cui cercare: gli script di avvio all'avvio crono il file crontab del sistema della vecchia scuola /etc/crontab. È possibile che la variabile d'ambiente TZ sia impostata, diciamo, /etc/init.d/cronieo /lib/systemd/system/crond.service, non sono sicuro di cosa Debian usi per il sistema init.

Ho visto qualcosa del genere quando ho provato a far crondfunzionare le cose a ore alterne:

0 */2 * * * /opt/dbms/rainstor/archiving/ama_term

crondeseguiva lo script per ore dispari. Sospettavo, ma non ho mai dimostrato a me stesso, che aveva a che fare con una confusione dell'ora legale.


/etc/init.d/cron sta afferrando il /etc/timezonefile. TZ = cat /etc/timezone. Quel file sembra essere corretto (ha eseguito un checksum solo per essere doppiamente sicuro che sia identico a quello che dovrebbe essere.). /lib/systemd/system/crond.service non sembra voler modificare alcuna variabile TZ. Controllerò il suggerimento * / 2 per vedere se vedo la stessa cosa.
jmurrayufo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.