Parasti Cron darbi tiek izmantoti, izmantojot sistēmā noteikto vietējo laiku. Tomēr jūs varat izvēlēties palaist Cron darbu citā laika joslā, nemainot servera laiku un datumu.
Vietējo laiku varat pārbaudīt, izmantojot komandu timedatectl šādi:
$ timedatectl
Komandu datums var izmantot arī šādi:
$ datums
Tātad, kā jūs varat iestatīt savam Crontabs atšķirīgu laika joslu? Noskaidrosim.
Kā iestatīt laika joslu pakalpojumam Crontabs
Vietējā Linux sistēmā laika joslas parasti tiek norādītas / usr / share / zoneinfo direktorijā. Katalogā ir kontinentu un valstu saraksts un to laika joslas, kā parādīts zemāk.
$ ls / usr / share / zoneinfo /
Izmantojot parādīto sintaksi, varat viegli pielāgot pašreizējo laika joslu citai. Piemēram, lai iestatītu sistēmu uz laiku Tokijā, Japānā, vienkārši izpildiet:
$ sudo ln -sf / usr / share / zoneinfo / Asia / Tokyo / etc / localtimeTomēr jūs nevarat mainīt savas sistēmas laiku, it īpaši, ja vairāki lietotāji ieplāno dažādus Cron darbus. Tas ietekmētu laiku, kad darbosies viņu Cron darbi.
Par laimi, jūs varat konfigurēt noteiktu laika joslu savam Cron darbam šādi:
Pirmkārt, jums ir jāeksportē TZ mainīgais Shell skriptā pirms citiem Shell ierakstiem. Pēc tam piekļūstiet savam crontab un izmantojiet crontab vides mainīgo CRON_TZ crontab faila sākumā.
Pieņemsim, ka es vēlos iestatīt Cron darbu, lai palaistu rezerves skriptu katru dienu plkst Eiropa / Londona nevis mans vietējais laiks. Mans vietējais laiks ir 2 stundas pirms Londonas laika, tāpēc pulksten 14:20 Londonā mans vietējais laiks būs 16:20 vai 1420 HRS.
Vispirms dodieties uz Shell skripta failu un eksportējiet TZ mainīgo pirms citiem skripta ierakstiem. Pārbaudiet, ko es darīju savā Shell skriptā.
EKSPORTS TZ = Eiropa / Londona
Saglabājiet izmaiņas un izejiet no skripta.
Pēc tam piekļūstiet savam crontab failam, palaižot komandu:
$ crontab -eNoteikti definējiet crontab mainīgo CRON_TZ pirms visiem pārējiem Cron ierakstiem šādi.
CRON_TZ = Eiropa / Londona20 14 * * * / home / james / backup.sh
Saglabājiet un izejiet no crontab. Lai pārliecinātos par iestatījumiem, varat uzskaitīt crontab, izmantojot komandu:
$ crontab -lTātad, kad pulkstenis iezīmējās 14:20 pēc Londonas laika, kas atbilst 16:40 pēc vietējā laika vai 1620 HRS, dublēšana bija veiksmīga.
Secinājums
Šī rokasgrāmata ir lielisks pierādījums tam, ka jūs faktiski varat iestatīt noteiktu laika joslu saviem Crontabs, nemainot sistēmas laiku. Tādā veidā jūs varat konfigurēt dažādus uzdevumus izpildīšanai dažādās laika joslās, lai tas atbilstu jūsu vajadzībām, piemēram, ja vēlaties sūtīt e-pastus noteiktā laika joslas abonentiem viņu laikā, nevis vietējā laikā.