Wie kann ich Cron-Jobs auf GMT ausführen lassen, nicht auf Ortszeit?
Das ist meine Crontab-Datei:
#m h d m wday command
TZ=GMT
5 0,6,12,18 * * * ~/Documents/bash/transfer.sh
Meine Jobs scheinen zur Ortszeit (GMT + 11) ausgeführt zu werden. Ich verwende OS X Snow Leopard, verschiebe den Code jedoch nach Abschluss der Entwicklung auf Linux.
Die Linux-Umgebung ist möglicherweise eine gemeinsam genutzte Umgebung, in der ich möglicherweise weniger Kontrolle über die Konfiguration habe.
Antworten:
Nicht alle Versionen des
cron
Supports führen Jobs mit einer anderen Zeitzone als der des Systems aus.Wenn dies bei Ihnen der Fall ist, ist es wahrscheinlich, dass die Spezifikation
TZ=GMT
oderTZ=UTC
(ohne die spitzen Klammern) sein sollte. In einigen Fällen wäre die VariableCRON_TZ
.Am besten überprüfen Sie die systemspezifische Dokumentation. Siehe
man 5 crontab
.quelle
Wenn Ihre Ortszeit ist
Europe/London
. Dann:Ein anderes Beispiel:
Wenn Ihre reguläre Zeit eine
+0500
Verschiebung vonUTC
und Ihre saisonale Zeit eine+0600
Verschiebung von istUTC
. Fügen Sie+5
dann alle im obigen Beispiel angegebenen Stunden hinzu. Dies bedeutet, dass Sie zu08:15am
bzw.09:15am
von Ihrer Ortszeit ausgeführt werden. Ihre modifizierten Cron-Linien würden dann so aussehen:[BEARBEITEN] Stellen Sie sicher, dass
\
keine Prozentzeichen%
in Ihrer Crontab-Datei enthalten sind. Wie Crontab sie als Newline-Separator interpretiert. zB%
->\%
.quelle
Sie könnten vielleicht die ursprüngliche Crond-Binärdatei einwickeln.
quelle