Инструменты пользователя

Инструменты сайта


cron

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

cron [2018/11/11 02:18] (текущий)
Строка 1: Строка 1:
 +====== Демон cron примеры ======
 +cron пример
 +~~Title: Использование планировщика cron в Linux ~~
 +{{htmlmetatags>​
 +metatag-description=(Cron используется для планирования задач Linux, FreeBSD, которые будут выполняться периодически.)
 +}}
  
 +
 +  * Конфигурационный файл /​etc/​crontab. Директория для конфиг. файлов /​var/​spool/​cron/​
 +  * Демон crond вызывает [[run-parts]] для запуска сценариев из каталогов /​etc/​cron.*.
 +
 +<note important>​Если для run-parts не задана ни опция --lsbsysinit ни опция --regex, то имена должны состоять полностью из букв в верхнем и нижнем регистре,​ цифр, знаков подчёркивания и дефисов. Точку run-parts НЕ понимает.</​note>​
 +
 +Демон ​ cron  при ​ каждой ​ активизации ​ проверяет ​ дату изменения файла /​etc/​crontab ​ и директории /​var/​spool/​cron/​. Если они изменились,​ то он перечитывает ​ все ​ изменения ​ и  учитывает их при последующих вызовах. Поскольку ​ утилита ​ crontab ​ после редактирования файла заданий меняет дату ​ изменения ​ для ​ папки ​ /​var/​spool/​cron/, ​ то  после ​ того, ​ как ​ в пользовательский ​ файл расписаний будут внесены изменения,​ нет нужды в перезапуске ​ процесса ​ cron - эти изменения будут учтены при следующей активизации. Именно по этой причине для редактирования пользовательских файлов расписаний ​ следует ​ использовать команду crontab -e,  а  не  редактировать ​ файлы непосредственно. ​ Для файла /​etc/​crontab ​ дата ​ изменения ​ проверяется отдельно,​ поэтому его можно изменять обычным редактором (для этого нужны права root).
 +
 +{{ ::cron.png |}}
 +
 +Выводимая выполняемыми командами информация по умолчанию пересылается на почтовый ящик владельца файла расписаний(обычно это root и его EMail указывается в файле /​etc/​aliases). Если нужно отменить действие по умолчанию используют переменную MAILTO. Пустое ​ значение (MAILTO=""​) будет перенаправлять сообщения в /dev/null.
 +
 +Формат файла crontab также допускает вместо первых пяти позиций,​ означающих время выполнения задания,​ использовать предопределенные значения:​
 +
 +     * @reboot (выполнять при загрузке операционной системы)
 +     * @yearly (выполнять ежегодно в полночь 1-го января)
 +     * @monthly (выполнять ежемесячно в полночь 1-го числа)
 +     * @weekly (выполнять в полночь каждый понедельник)
 +     * @daily (выполнять ежедневно в 0:00)
 +     * @hourly (выполнять в начале каждого часа).
 +Посмотреть файл crona для пользователя www-data. Ключ -е позволит редактировать файл крона пользователя www-data.
 +<​code>​
 +# crontab -u www-data -e # редактировать содержимое файла crontab
 +# crontab -u www-data -l # отобразить содержимое файла crontab
 +</​code>​
 +<​file>​
 +# Example of job definition:
 +# .---------------- minute (0 - 59)
 +# |  .------------- hour (0 - 23)
 +# |  |  .---------- day of month (1 - 31)
 +# |  |  |  .------- month (1 - 12) OR jan,​feb,​mar,​apr ...
 +# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,​mon,​tue,​wed,​thu,​fri,​sat
 +# |  |  |  |  |
 +# *  *  *  *  *  command to be executed
 +</​file>​
 +<note tip>​Если указаны ​ все звездочки - значит запускать каждую минуту.</​note>​
 +
 +===== Примеры запуска при помощи cron =====
 +
 +  * Запускать программу каждый два дня в 10:00 и высылать отчет на EMail указанный в переменной MAILTO<​file>​
 +MAILTO=noc@example.net
 +0 10 */2 * * root /​usr/​local/​repl/​restart_repl.sh
 +</​file>​
 +  * Запускать скрипт 1-го и 15-го числа каждого месяца в 2:05, а также по воскресеньям (Day и WDay работают в режиме "​ИЛИ"​)<​file>​
 +5  2  1,15 * Sun /​home/​script
 +</​file>​
 +  * Запускать скрипт первого числа каждого месяца в 4:10 утра<​file>​
 +10 4 1 * * /​root/​scripts/​backup.sh
 +</​file>​
 +  * Запускать каждую минуту<​file bash>
 +*/1 * * * *  root /​usr/​bin/​letsencrypt renew
 +</​file>​
 +  * Запускать каждые 2 часа<​file bash>
 +0 */2 * * *  root /​usr/​bin/​letsencrypt renew
 +</​file>​
 +
 +  * [[http://​www.opennet.ru/​base/​sys/​cron_intro.txt.html|Работа по расписанию во FreeBSD]]
 +  * [[http://​www.rhd.ru/​docs/​manuals/​enterprise/​RHEL-AS-2.1-Manual/​custom-guide/​cron-task.html|Настройка задач Cron Red Hat Linux 7.2: Официальное руководство по настройке Red Hat Linux]]
 +  * [[run-parts]]
 +  * [[Что означает "> /dev/null 2>&​1"​ или перенаправление STDIN, STDOUT и STDERR?]]
загрузка...
cron.txt · Последние изменения: 2018/11/11 02:18 (внешнее изменение)