crontab

Hvordan kan jeg indstille tidszonen for Crontabs?

Hvordan kan jeg indstille tidszonen for Crontabs?
Crontab, en forkortet form for Cron bord, er både en kommando og en tekstfil i UNIX / Linux-systemer, der bruges til at bestemme planlægningen af ​​Cron-job. Hvad er et Cron-job? Et Cron-job, også almindeligt kaldet Cron, er en tidsbaseret planlægning, der udfører opgaver i Linux-systemer på bestemte tidspunkter. Det kører ved hjælp af crond daemon Cron-job er yderst nyttige til automatisering af Shell-scripts og andre kommandoer, der skal udføres med jævne mellemrum, hvilket ellers ville være kedeligt, når manuelt udføres.

Normalt kører Cron-job den lokale tid, der er defineret i systemet. Du foretrækker dog at køre Cron-jobbet i en anden tidszone uden nødvendigvis at ændre din servers tid og dato.

Du kan kontrollere din lokale tid ved hjælp af timedatectl-kommandoen som følger:

$ timedatectl

Du kan også bruge datokommandoen som følger:

$ dato

Så hvordan kan du indstille en anden tidszone til dine Crontabs? Lad os finde ud af det.

Sådan indstilles tidszonen for Crontabs

I dit lokale Linux-system er tidszoner normalt angivet i / usr / share / zoneinfo vejviser. Mappen indeholder en liste over kontinenter og lande og deres tidszoner, som vist nedenfor.

$ ls / usr / del / zoneinfo /

Du kan nemt justere den aktuelle tidszone til en anden ved hjælp af den viste syntaks. For eksempel, for at indstille systemet til tiden i Tokyo, Japan, skal du blot udføre:

$ sudo ln -sf / usr / share / zoneinfo / Asia / Tokyo / etc / localtime

Du kan dog ikke ændre dit systems tid, især når flere brugere planlægger forskellige Cron-job. Dette vil påvirke den tid, deres Cron-job kører.

Heldigvis kan du konfigurere en bestemt tidszone til dit Cron-job som følger:

Først skal du eksportere TZ-variablen i dit Shell-script før andre Shell-poster. Dernæst skal du få adgang til din crontab og bruge crontab-miljøvariablen CRON_TZ i starten af ​​crontab-filen.

Antag, at jeg vil indstille Cron-jobbet til at køre et backup-script kl. 14:20 hver dag i Europa / London tid og ikke min lokale tid. Min lokale tid er 2 timer foran London-tid, så kl. 14.20 i London vil min lokale tid være 16:20 eller 1420 HRS.

Gå først til Shell-scriptfilen og eksporter TZ-variablen før andre script-poster. Tjek hvad jeg gjorde i mit Shell-script.

EXPORT TZ = Europa / London

Gem ændringerne, og afslut scriptet.

Gå derefter til din crontab-fil ved at køre kommandoen:

$ crontab -e

Sørg for at definere crontab-variablen CRON_TZ før alle de andre Cron-poster som følger.

CRON_TZ = Europa / London
20 14 * * * / home / james / backup.sh

Gem og afslut crontab. For at være sikker på indstillingerne kan du liste crontab ved hjælp af kommandoen:

$ crontab -l

Da uret krydsede kl. 14.20 London tid, hvilket svarer til kl. 16:40 lokal tid eller 1620 HRS, var sikkerhedskopien vellykket.

Konklusion

Denne guide er en perfekt demonstration af, at du rent faktisk kan indstille en bestemt tidszone til dine Crontabs uden at ændre din systemtid. På denne måde kan du konfigurere forskellige opgaver til at køre i forskellige tidszoner, der passer til dine behov, for eksempel hvis du vil sende e-mails til abonnenter i en bestemt tidszone på deres tidspunkt og ikke din lokale tid.

Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...
Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...
Mus Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
I de senere år har computere og operativsystemer udviklet sig meget. Der var et tidspunkt, hvor brugerne skulle bruge kommandoer til at navigere genne...