Normalerweise laufen Cron -Jobs mit der lokalen Zeit im System, die im System definiert ist. Möglicherweise bevorzugen Sie jedoch, den Cron -Job in einer anderen Zeitzone auszuführen, ohne die Uhrzeit und Datum Ihres Servers notwendigerweise zu ändern.
Sie können Ihre lokale Zeit mit dem Befehl Timedatectl wie folgt überprüfen:
$ Timedatectl
Sie können den Befehl Datum auch wie folgt verwenden:
$ Datum
Wie können Sie also eine andere Zeitzone für Ihre Crontabs festlegen?? Lass es uns herausfinden.
So setzen Sie die Zeitzone für Crontabs
In Ihrem lokalen Linux -System werden Timezones normalerweise in der angegeben /usr/share/zoneInfo Verzeichnis. Das Verzeichnis enthält eine Liste von Kontinenten und Ländern und ihren Zeitzonen, wie unten gezeigt.
$ ls/usr/share/zoneInfo/
Sie können die aktuelle Zeitzone einfach mit der gezeigten Syntax an eine andere anpassen. Um das System beispielsweise auf die Zeit in Tokio, Japan, zu setzen, führen Sie einfach aus:
$ sudo ln -sf/usr/share/zoneInfo/asia/tokyo/etc/local time
Sie können jedoch nicht die Zeit Ihres Systems ändern, insbesondere wenn mehrere Benutzer verschiedene Cron -Jobs planen. Dies würde sich auf die Zeit auswirken, die ihre Cron -Jobs verlaufen werden.
Zum Glück können Sie eine bestimmte Zeitzone für Ihren Cron -Job wie folgt konfigurieren:
Zuerst müssen Sie die TZ -Variable in Ihrem Shell -Skript vor anderen Shell -Einträgen exportieren. Greifen Sie anschließend auf Ihr Crontab zu und verwenden_TZ Zu Beginn der Crontab -Datei.
Angenommen, ich möchte den Cron -Job festlegen, um jeden Tag um 14.20 Uhr ein Backup -Skript um 14.20 Uhr auszuführen Europa/London Zeit und nicht meine Ortszeit. Meine Ortszeit ist 2 Stunden vor der Londoner Zeit, also um 14:20 Uhr in London ist meine Ortszeit um 16:20 Uhr oder 1420 Std.
Gehen Sie zunächst zur Shell -Skriptdatei und exportieren Sie die TZ -Variable vor anderen Skripteinträgen. Schauen Sie sich an, was ich in meinem Shell -Skript getan habe.
Export TZ = Europa/London
Speichern Sie die Änderungen und beenden Sie das Skript.
Greifen Sie anschließend auf Ihre Crontab -Datei zu, indem Sie den Befehl ausführen:
$ crontab -e
Stellen Sie sicher, dass Sie die Crontab -Variable definieren Cron_tz vor allen anderen Cron -Einträgen wie folgt.
Cron_tz = Europa/London
20 14 * * */home/james/backup.Sch
Speichern und verlassen Sie den Crontab. Um die Einstellungen sicherzustellen, können Sie den Crontab mit dem Befehl auflisten:
$ crontab -l
Als die Uhr um 14:20 Uhr London Zeit tickte, die um 16.40 Uhr Ortszeit oder 1620 Stunden entspricht, war die Sicherung erfolgreich.
Abschluss
Diese Anleitung ist eine perfekte Demonstration, dass Sie tatsächlich eine bestimmte Zeitzone für Ihre Crontabs festlegen können, ohne Ihre Systemzeit zu ändern. Auf diese Weise können Sie verschiedene Aufgaben so konfigurieren.