Wie kann ich die Zeitzone für Crontabs einstellen??

Wie kann ich die Zeitzone für Crontabs einstellen??
Crontab, eine verkürzte Form von Cron -Tisch, ist sowohl ein Befehl als auch eine Textdatei in UNIX/Linux -Systemen, die zur Bestimmung der Planung von Cron -Jobs verwendet werden. Was ist ein Cron -Job? Ein Cron-Job, der ebenfalls einfach als Cron bezeichnet wird. Es läuft mit Hilfe der Crond -Dämon -Cron -Jobs, die bei der Automatisierung von Shell -Skripten und anderen Befehlen, die in regelmäßigen Abständen ausgeführt werden müssen.

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.