Mes tâches cron sont calculées une heure plus tard par rapport à l'heure du serveur. Je ne comprends pas ce qui se passe.
Ma configuration est la suivante:
Heure du serveur:
Europe/Paris
Dans / etc / default / cron, j'ai ajouté la ligne suivante:
TZ="Europe/Paris"
Malgré cela, les tâches cron sont lancées une heure plus tard que l'heure du serveur. Ce qui est vraiment délicat, c'est que si je demande à cron de jouer l'instruction "date", cela donne la date du serveur (la bonne!).
Je n'ai aucune idée de la façon de résoudre ce problème; J'ai fait de la lecture sur les forums, mais je n'ai rien trouvé d'intéressant.
Qu'est-ce que tu penses ?
/etc/timezone
? Avez-vous modifié/etc/timezone
plus récemment que lecron
processus a commencé? As-tu essayé/etc/init.d/cron restart
?Réponses:
(Copier mon commentaire comme réponse, car il s'est avéré être la solution; j'ai deviné juste.)
Les tâches cron sont donc planifiées en UTC (
Europe/Paris
à une heure de décalage par rapport à UTC).La page de manuel Vixie cron dit:
Qu'y a-t-il
/etc/timezone
? Avez-vous modifié/etc/timezone
plus récemment que le processus cron a commencé? As-tu essayé?
la source
Certaines distributions telles que Fedora fournissent un mécanisme où vous pouvez définir
CRON_TZ=
pour remplacer votre fuseau horaire par défaut.De la Fedora
man 5 crontab
Quelque chose comme ça:
la source
Wikipédia dit
Alors peut-être que votre ID de connexion a un paramètre TZ différent du paramètre TZ système?
la source
Redémarrer cron était ce dont j'avais besoin mais pour moi la commande était
la source
Je viens de comprendre cela sur Ubuntu 14/16. A parfaitement fonctionné pour moi.
Étapes (sudo implicite):
cat /etc/timezone
rm -fv /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
apt install -y --reinstall tzdata
/etc/init.d/rsyslog restart
tail -f /var/log/syslog
cat /etc/timezone
la source
cron
redémarré?