Comment puis-je exécuter des tâches cron sur GMT, pas sur l'heure locale?
voici mon fichier crontab:
#m h d m wday command
TZ=GMT
5 0,6,12,18 * * * ~/Documents/bash/transfer.sh
mes travaux semblent s'exécuter à l'heure locale (GMT + 11) J'utilise os x snow leopard, mais je déplacerai le code sur linux une fois le développement terminé.
L'environnement Linux peut être un environnement partagé où je peux avoir moins de contrôle sur la configuration.
Réponses:
Toutes les versions de
cron
prise en charge ne exécutent pas de travaux utilisant un fuseau horaire autre que celui du système.Si c'est le cas, il est probable que la spécification soit
TZ=GMT
ouTZ=UTC
(sans les équerres). Dans certains cas, la variable seraitCRON_TZ
.La meilleure chose à faire est de vérifier la documentation spécifique au système particulier. Tu vois
man 5 crontab
.la source
Si votre heure locale est
Europe/London
. Alors:Un autre exemple:
Si votre horaire normal est
+0500
décalé deUTC
, et votre horaire saisonnier est+0600
décalé deUTC
. Ajoutez ensuite+5
à toutes les heures spécifiées dans l'exemple ci-dessus. Cela signifie être exécuté respectivement à08:15am
et09:15am
de votre heure locale. Ainsi, vos lignes cron modifiées ressembleraient alors à ceci:[MODIFIER] Assurez-vous d'
\
échapper tous les%
caractères de pourcentage dans votre fichier crontab. Comme crontab les interprète comme un séparateur de nouvelle ligne. par exemple%
->\%
.la source
Vous pourriez peut-être envelopper le binaire crond d'origine.
la source