crontab

Kaip galiu nustatyti „Crontabs“ laiko juostą?

Kaip galiu nustatyti „Crontabs“ laiko juostą?
Crontab, sutrumpinta forma „Cron“ stalas, yra komanda ir tekstinis failas UNIX / Linux sistemose, naudojamos nustatyti „Cron“ užduočių planavimą. Kas yra „Cron“ darbas? „Cron“ darbas, taip pat plačiai vadinamas tiesiog „Cron“, yra laiko planuotojas, vykdantis užduotis „Linux“ sistemose nurodytu laiku. „Cron“ užduotys yra labai naudingos automatizuojant „Shell“ scenarijus ir kitas komandas, kurias reikia vykdyti reguliariais laiko tarpais, o tai priešingu atveju būtų varginanti.

Paprastai „Cron“ darbai vykdomi naudojant sistemoje apibrėžtą vietos laiką. Tačiau galbūt norėsite paleisti „Cron“ darbą kita laiko juosta, nebūtinai pakeisdami serverio laiką ir datą.

Galite patikrinti savo vietos laiką naudodami komandą „timedatectl“ taip:

$ timedatectl

Taip pat galite naudoti komandą data taip:

$ data

Taigi, kaip galite nustatyti kitą „Crontabs“ laiko juostą? Išsiaiškinkime.

Kaip nustatyti „Crontabs“ laiko juostą

Vietinėje „Linux“ sistemoje laiko juostos paprastai nurodomos / usr / share / zoneinfo kataloge. Kataloge yra žemynų ir šalių bei jų laiko juostų sąrašas, kaip parodyta žemiau.

$ ls / usr / share / zoneinfo /

Naudodami parodytą sintaksę, galite lengvai koreguoti esamą laiko juostą. Pavyzdžiui, norėdami nustatyti sistemą tokiam laikui Tokijuje, Japonijoje, tiesiog vykdykite:

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

Tačiau negalite pakeisti savo sistemos laiko, ypač kai keli vartotojai suplanuoja skirtingus „Cron“ darbus. Tai turėtų įtakos jų „Cron“ darbų vykdymo laikui.

Laimei, galite sukonfigūruoti konkrečią „Cron“ darbo laiko juostą taip:

Pirmiausia turite eksportuoti TZ kintamąjį į savo „Shell“ scenarijų prieš kitus „Shell“ įrašus. Tada prieikite prie savo „crontab“ ir naudokite „crontab“ aplinkos kintamąjį CRON_TZ crontab failo pradžioje.

Tarkime, kad noriu nustatyti „Cron“ užduotį paleisti atsarginį scenarijų kiekvieną dieną 2:20 val Europa / Londonas ne mano vietos laiku. Mano vietos laikas yra 2 valandos anksčiau nei Londono laikas, taigi Londone 14:20 val. Mano vietos laikas bus 16:20 arba 1420 HRS.

Pirmiausia eikite į „Shell“ scenarijaus failą ir eksportuokite TZ kintamąjį prieš kitus scenarijaus įrašus. Patikrinkite, ką padariau savo „Shell“ scenarijuje.

EKSPORTAS TZ = Europa / Londonas

Išsaugokite pakeitimus ir išeikite iš scenarijaus.

Tada pasiekite savo crontab failą paleisdami komandą:

$ crontab -e

Būtinai apibrėžkite crontab kintamąjį CRON_TZ prieš visus kitus „Cron“ įrašus taip.

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

Išsaugokite ir išeikite iš crontab. Norėdami įsitikinti nustatymais, galite išvardyti crontab naudodami komandą:

$ crontab -l

Taigi, kai laikrodis pažymėjo 14:20 Londono laiku, kuris atitinka 16:40 vietos laiku arba 1620 HRS, atsarginė kopija buvo sėkminga.

Išvada

Šis vadovas puikiai parodo, kad iš tikrųjų galite nustatyti nurodytą „Crontabs“ laiko juostą, nekeisdami savo sistemos laiko. Tokiu būdu galite sukonfigūruoti skirtingas užduotis vykdyti skirtingomis laiko juostomis, kad atitiktų jūsų poreikius, pavyzdžiui, jei norite siųsti el. Laiškus tam tikros laiko juostos abonentams jų, o ne vietiniu laiku.

Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...
Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...