crontab

Как мога да задам часовата зона за Crontabs?

Как мога да задам часовата зона за Crontabs?
Crontab, съкратена форма на Cron маса, е едновременно команда и текстов файл в UNIX / Linux системи, използвани за определяне на графика на задания Cron. Какво е Cron работа? Работата в Cron, наричана още просто Cron, е планиран по време график, който изпълнява задачи в Linux системи в определено време. Изпълнява се с помощта на crond daemon Cron заданията са изключително полезни при автоматизирането на Shell скриптове и други команди, които трябва да се изпълняват на редовни интервали, което иначе би било досадно при ръчно изпълнение.

Обикновено заданията на Cron се изпълняват, като се използва местното време, дефинирано в системата. Въпреки това, може да предпочетете да стартирате заданието Cron в различна часова зона, без непременно да променяте часа и датата на сървъра си.

Можете да проверите местното си време, като използвате командата timedatectl, както следва:

$ timedatectl

Можете също да използвате командата за дата, както следва:

$ дата

И така, как можете да зададете различна часова зона за вашите Crontabs? Нека разберем.

Как да зададете часовата зона за Crontabs

Във вашата локална Linux система часовите зони обикновено са посочени в / usr / share / zoneinfo директория. Директорията съдържа списък с континенти и държави и техните часови зони, както е показано по-долу.

$ ls / usr / share / zoneinfo /

Можете лесно да настроите текущата часова зона към различна, като използвате показания синтаксис. Например, за да зададете системата на времето в Токио, Япония, просто изпълнете:

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

Не можете обаче да промените времето на вашата система, особено когато множество потребители планират различни задания на Cron. Това би повлияло на времето, в което ще работят техните Cron работни места.

За щастие можете да конфигурирате конкретна часова зона за вашата Cron работа, както следва:

Първо, трябва да експортирате променливата TZ във вашия скрипт Shell преди други записи на Shell. След това отворете своя crontab и използвайте променливата на средата crontab CRON_TZ в началото на файла crontab.

Да предположим, че искам да задам заданието на Cron да изпълнява резервен скрипт в 14:20 ч. Всеки ден през Европа / Лондон време, а не моето местно време. Моето местно време е с 2 часа преди лондонското, така че в 14:20 ч. В Лондон, моето местно време ще бъде 16:20 или 1420 HRS.

Първо се насочете към скриптния файл на Shell и експортирайте променливата TZ преди други записи в скрипта. Вижте какво направих в моя скрипт Shell.

ИЗНОС TZ = Европа / Лондон

Запазете промените и излезте от скрипта.

След това отворете вашия crontab файл, като изпълните командата:

$ crontab -e

Уверете се, че сте дефинирали променливата crontab CRON_TZ преди всички останали записи на Cron, както следва.

CRON_TZ = Европа / Лондон
20 14 * * * / home / james / backup.ш

Запазете и излезте от crontab. За да сте сигурни в настройките, можете да изброите crontab с помощта на командата:

$ crontab -l

И така, когато часовникът отчете 14:20 ч. Лондонско време, което съответства на 16:40 ч. Местно време или 1620 HRS, архивирането беше успешно.

Заключение

Това ръководство е перфектна демонстрация, че всъщност можете да зададете определена часова зона за вашите Crontabs, без да променяте системното си време. По този начин можете да конфигурирате различни задачи, които да се изпълняват в различни часови зони, за да отговарят на вашите нужди, например, ако искате да изпращате имейли до абонати на определена часова зона по тяхно време, а не по ваше местно време.

Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...
Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...