Полный цикл в digital

Переменные среды для cron

При настройке переменных для заданий cron, есть несколько вариантов в зависимости от конкретных требований:

  1. Объявление переменных непосредственно в файлах crontab
  2. Объявление переменных как часть командной строки
  3. Загрузка переменных из файла перед выполнением команды

Объявите переменные прямо crontab

В этом примере мы настраиваем переменную PATH и пользовательскую переменную приложения APP_ENV. Когда задание cron запускается, оно будет искать example.sh в переменной PATH, когда команда запустится, ее среда будет включать в себя APP_ENV и PATH:

APP_ENV=production
PATH=/root/it/scripts
0 0 * * * example.sh

PATH

Когда команда запускается без полного пути, ваша оболочка будет искать команду в местоположениях, указанных в переменной PATH, можно добавить любое количество местоположений, разделенных двоеточием, поиск по ним будет осуществляться в том порядке, в котором вы их написали:

PATH="/users/dataproc/bin:/var/data-analytics/bin:/root/it/scripts"

MAILTO и MAILFROM

Сron отправляет по электронной почте после завершения работы уведомления. Часто это является раздражающим источником, особенно для часто выполняемых заданий, простой способ запретить cron отправлять электронные письма, установить MAILTO переменную пустой, или если нужны уведомления указать адрес электронной почты получателя:

MAILTO=""

SHELL

По умолчанию cron использует классическую оболочку dash по адресу /bin/sh для вызова ваших команд, можно явно указать cron использовать любую оболочку:

SHELL=/bin/bash

CRON_TZ

Задания cron выполняются в любом часовом поясе, на котором установлены системные часы сервера. Добавив CRON_TZ в вашем crontab, вы можете контролировать часовой пояс:

CRON_TZ=America/New_York

Переменные как часть команды

Переменные среды могут быть объявлены встроенными. Здесь вы можете увидеть пример, когда два задания получают разные значения для одной и той же переменной:

0 * * * * APP_ENV=production /var/data-analytics/export-to-datalake.py  # Every hour
0 0 * * * APP_ENV=staging    /var/data-analytics/export-to-datalake.py  # Once a day

Загрузка переменных из файла

Можно объявить переменные непосредственно в файле, который можно повторно использовать повсюду. В этом случае файл прописывается непосредственно как часть командной строки. Любые переменные, экспортированные в файл, будут частью среды задания:

0 * * * * source /var/data-analytics/bootstrap.sh ; /var/data-analytics/export-to-datalake.py
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг