Tavaliselt töötavad Croni töökohad süsteemis määratud kohaliku aja järgi. Võite siiski eelistada Croni töö käivitamist erinevas ajavööndis, muutmata tingimata serveri kellaaega ja kuupäeva.
Kohalikku aega saate kontrollida käsuga timedatectl järgmiselt:
$ timedatectl
Kuupäeva käsku saate kasutada ka järgmiselt:
$ kuupäev
Niisiis, kuidas saate oma Crontabsi jaoks erineva ajavööndi määrata? Uurime välja.
Kuidas määrata Crontabsi ajavöönd
Teie kohalikus Linuxi süsteemis on ajavööndid tavaliselt määratud / usr / share / zoneinfo kataloogi. Kataloog sisaldab loendit mandritest ja riikidest ning nende ajavöönditest, nagu allpool näidatud.
$ ls / usr / share / zoneinfo /
Näidatud süntaksiga saate praegust ajavööndit hõlpsasti teisendada. Näiteks selleks, et seadistada süsteem Jaapanis Tokyos toimuvale ajale, käivitage lihtsalt:
$ sudo ln -sf / usr / share / zoneinfo / Asia / Tokyo / etc / localtimeKuid te ei saa oma süsteemi aega muuta, eriti kui mitu kasutajat ajastavad erinevaid Croni töid. See mõjutaks nende Croni töökohtade töötamise aega.
Õnneks saate oma Croni töö jaoks konkreetse ajavööndi konfigureerida järgmiselt:
Esiteks peate enne muid Shelli kirjeid oma Shelli skripti eksportima TZ muutuja. Järgmisena pöörduge oma crontabi juurde ja kasutage crontabi keskkonnamuutujat CRON_TZ crontabi faili alguses.
Oletame, et ma tahan seada Croni töö varukripti käitama iga päev kell 14:20 Euroopa / London mitte minu kohaliku aja järgi. Minu kohalik aeg on 2 tundi Londoni ajast ees, seega kell 14.20 Londonis on minu kohalik aeg 16.20 või 1420 HRS.
Kõigepealt minge Shelli skriptifaili ja eksportige muutuja TZ enne muid skripti sisestusi. Vaadake, mida ma oma Shelli skriptis tegin.
EKSPORT TZ = Euroopa / London
Salvestage muudatused ja väljuge skriptist.
Järgmisena avage oma crontabi fail, käivitades käsu:
$ crontab -eKindlasti määrake crontab-muutuja CRON_TZ enne kõiki muid Croni kirjeid järgmiselt.
CRON_TZ = Euroopa / London20 14 * * * / home / james / backup.sh
Salvestage crontab ja väljuge sellest. Seadetes veendumiseks võite crontabi loendi lisada käsuga:
$ crontab -lNiisiis, kui kell tiksus kell 14:20 Londoni aja järgi, mis vastab kohaliku aja järgi 16:40 või 1620 HRS, oli varundamine edukas.
Järeldus
See juhend on suurepärane näide sellest, et saate Crontabsi jaoks määratud ajavööndi seadistada ilma oma süsteemi aega muutmata. Nii saate konfigureerida erinevaid ülesandeid teie vajadustele vastavaks erinevates ajavööndites käitamiseks, näiteks kui soovite saata kirju teatud ajavööndi tellijatele nende ja mitte teie kohaliku aja järgi.