Yleensä Cron-työt suoritetaan käyttäen järjestelmässä määritettyä paikallista aikaa. Saatat kuitenkin haluta suorittaa Cron-työn eri aikavyöhykkeellä muuttamatta välttämättä palvelimesi aikaa ja päivämäärää.
Voit tarkistaa paikallisen ajan timedatectl-komennolla seuraavasti:
$ timedatectl
Voit käyttää date-komentoa myös seuraavasti:
$ päivämäärä
Joten miten voit asettaa uuden aikavyöhykkeen Crontabs-laitteellesi? Otetaan selvää.
Kuinka asettaa aikavyöhyke Crontabsille
Paikallisessa Linux-järjestelmässä aikavyöhykkeet määritetään yleensä / usr / share / zoneinfo hakemistoon. Hakemisto sisältää luettelon mantereista ja maista sekä niiden aikavyöhykkeistä, kuten alla on esitetty.
$ ls / usr / share / zoneinfo /
Voit helposti säätää nykyisen aikavyöhykkeen toiseksi käyttämällä näkyvää syntaksia. Esimerkiksi, jos haluat asettaa järjestelmän kellonajaksi Tokioon, Japaniin, suorita vain:
$ sudo ln -sf / usr / share / zoneinfo / Aasia / Tokio / etc / localtimeEt kuitenkaan voi muuttaa järjestelmän aikaa, varsinkin kun useat käyttäjät ajastavat eri Cron-töitä. Tämä vaikuttaisi heidän Cron-työpaikkojensa kestoon.
Onneksi voit määrittää tietyn aikavyöhykkeen Cron-työllesi seuraavasti:
Ensin sinun on vietävä TZ-muuttuja Shell-komentosarjassa ennen muita Shell-merkintöjä. Seuraavaksi avaa crontab ja käytä crontab-ympäristömuuttujaa CRON_TZ crontab-tiedoston alussa.
Oletetaan, että haluan asettaa Cron-työn suorittamaan varmuuskopion komentosarjan joka päivä klo 20.20 Eurooppa / Lontoo aikaa enkä paikallista aikaa. Paikallinen aikani on 2 tuntia Lontoon aikaa edellä, joten Lontoossa kello 20.20 paikallista aikaa on 16.20 tai 1420 HRS.
Siirry ensin Shell-komentotiedostoon ja vie TZ-muuttuja ennen muita komentosarjamerkintöjä. Katso mitä tein Shell-käsikirjoituksessani.
VIENTI TZ = Eurooppa / Lontoo
Tallenna muutokset ja sulje komentosarja.
Seuraavaksi pääset crontab-tiedostoon suorittamalla komento:
$ crontab -eVarmista, että määrität crontab-muuttujan CRON_TZ ennen kaikkia muita Cron-merkintöjä seuraavasti.
CRON_TZ = Eurooppa / Lontoo20 14 * * * / home / james / backup.sh
Tallenna ja poistu sivuradalta. Voit olla varma asetuksista, kun luet listan välilehden komennolla:
$ crontab -lJoten, kun kello nappasi 14:20 Lontoon aikaa, mikä vastaa kello 16:40 paikallista aikaa tai 1620 HRS, varmuuskopiointi onnistui.
Johtopäätös
Tämä opas on täydellinen osoitus siitä, että voit itse asettaa tietyn aikavyöhykkeen Crontabs-laitteellesi muuttamatta järjestelmän aikaa. Näin voit määrittää eri tehtävät suoritettavaksi eri aikavyöhykkeillä tarpeidesi mukaan, esimerkiksi jos haluat lähettää sähköpostia tietyn aikavyöhykkeen tilaajille heidän aikanaan eikä paikalliseen aikaan.