crontab

Hvordan kan jeg stille tidssonen for Crontabs?

Hvordan kan jeg stille tidssonen for Crontabs?
Crontab, en forkortet form for Cron bord, er både en kommando og en tekstfil i UNIX / Linux-systemer som brukes til å bestemme planleggingen av Cron-jobber. Hva er en Cron-jobb? En Cron-jobb, også ofte referert til som Cron, er en tidsbasert planlegger som utfører oppgaver i Linux-systemer til bestemte tider. Den kjører ved hjelp av crond daemon. Cron-jobber er ekstremt nyttige for å automatisere Shell-skript og andre kommandoer som må utføres med jevne mellomrom, noe som ellers ville vært kjedelig når det ble gjort manuelt.

Vanligvis kjører Cron-jobber med den lokale tiden som er definert i systemet. Imidlertid foretrekker du kanskje å kjøre Cron-jobben i en annen tidssone uten nødvendigvis å endre serverens tid og dato.

Du kan sjekke lokal tid ved å bruke kommandoen timedatectl som følger:

$ timedatectl

Du kan også bruke datokommandoen som følger:

$ dato

Så hvordan kan du angi en annen tidssone for Crontabs? La oss finne det ut.

Hvordan stille inn tidssonen for Crontabs

I ditt lokale Linux-system er tidssoner vanligvis spesifisert i / usr / share / zoneinfo katalog. Katalogen inneholder en liste over kontinenter og land og deres tidssoner, som vist nedenfor.

$ ls / usr / share / zoneinfo /

Du kan enkelt justere den aktuelle tidssonen til en annen ved hjelp av syntaksen som vises. For eksempel, for å sette systemet til tiden i Tokyo, Japan, bare utfør:

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

Du kan imidlertid ikke endre systemets tid, spesielt når flere brukere planlegger forskjellige Cron-jobber. Dette vil påvirke tiden deres Cron-jobber vil kjøre.

Heldigvis kan du konfigurere en bestemt tidssone for Cron-jobben din som følger:

Først må du eksportere TZ-variabelen i Shell-skriptet før andre Shell-oppføringer. Deretter får du tilgang til crontab og bruker crontab-miljøvariabelen CRON_TZ i begynnelsen av crontab-filen.

Anta at jeg vil stille Cron-jobben til å kjøre et backup-skript klokka 14:20 hver dag i Europa / London tid og ikke min lokale tid. Min lokale tid er to timer foran London-tid, så klokka 14.20 i London vil lokal tid være 16:20 eller 1420 HRS.

Først går du til Shell-skriptfilen og eksporterer TZ-variabelen før andre skriptoppføringer. Sjekk ut hva jeg gjorde i Shell-skriptet mitt.

EKSPORT TZ = Europa / London

Lagre endringene og avslutt skriptet.

Deretter får du tilgang til crontab-filen din ved å kjøre kommandoen:

$ crontab -e

Sørg for å definere crontab-variabelen CRON_TZ før alle de andre Cron-oppføringene som følger.

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

Lagre og gå ut av crontab. For å være sikker på innstillingene, kan du liste crontab ved å bruke kommandoen:

$ crontab -l

Da klokken tikket 14:20 London tid, som tilsvarer 16:40 lokal tid eller 1620 HRS, var sikkerhetskopien vellykket.

Konklusjon

Denne guiden er en perfekt demonstrasjon av at du faktisk kan angi en spesifisert tidssone for Crontabs uten å endre systemtiden. På denne måten kan du konfigurere forskjellige oppgaver for å kjøre i forskjellige tidssoner for å dekke dine behov, for eksempel hvis du vil sende e-post til abonnenter i en bestemt tidssone på det tidspunktet og ikke din lokale tid.

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...