|
В системе Ubuntu Linux для каждого пользователя, включая root, создается свое отдельное задание в планировщике cron.
Это значит что выполняя команды:
1 | crontab -e |
и
1 | sudo crontab -e |
создаются задания для разных пользователей. В первом случае для текущего пользователя, во втором для супер пользователя, т.е. учетной записи root.
Просмотреть задания, которые уже добавлены в cron файл можно выполнив команду:
1 | crontab -l |
Текущий cron файл может быть пустым. Что бы добавить новое задание выполняем команду:
1 | crontab -e |
Эта команда открывает cron файл текущего пользователя через редактор, который используется по умолчанию в системе.
В системах типа Linux / UNIX выполнением заданий по расписанию управляет демон Cron.
Регулярные действия описываются инструкциями, помещенными в конфигурационные файлы crontab. Каждая инструкция содержит расписание и команду на запуск задачи и представляет собой строку следующего вида:
1 2 3 4 5 6 7 8 | * * * * * выполняемая команда - - - - - | | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59) |
Примеры расписаний заданий Cron
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # # Выполнять каждые 10 минут */10 * * * * $HOME/bin/every10min # Выполнять каждый день в 06:30 30 6 * * * $HOME/bin/daily # Выполнять каждый час по рабочим дням 0 * * * 1-5 $HOME/bin/hourly # Выполнять в час ночи (01:00) с субботы на воскресенье 0 1 * * 7 $HOME/bin/weekly |
- Запятая (',') определяет список значений, например: "1,3,4,7,8"
- Тире ('-') определяет диапазон значений, например: "1-6", что эквивалентно "1,2,3,4,5,6"
- Звездочка ('*') определяет все допустимые значения поля. Например, звездочка в поле часы будет эквивалентно значению 'каждый час'..
- Слэш ('/') может использоваться для пропуска данного числа значений. Например, "*/3" в поле часы эквивалентно строке "0,3,6,9,12,15,18,21"; "*" означает 'ежечасно', но "/3" устанавливает использовать только первое, четвертое, седьмое...и так далее значение определенное "*".
- Если результатом выполнения команды из crontab являются какие-то выходные данные, то демон cron обычно высылает эти данные пользователю по email. Что бы отключить данную функцию для любой специфичной команды, вы можете перенаправить вывод на /dev/null. Для отключения пересылки сообщений по email из crontab добавьте в строку вызова команды: > /dev/null 2>&1
Это позволит перенаправить вывод на устройство /dev/null, однако, если возникнут ошибки, то вы их тоже не увидите:
- SHELL=/bin/bash означает использовать для запуска команд /bin/bash , если переменная не указана, то значение будет взято из /etc/passwd для пользователя являющимся владельцем файла.
- HOME=/ корневой каталог для пользователя (параметр не обязательный) При необходимости доступа к специальным свойствам интерпретатора, значения переменных SHELL и HOME можно изменить, не зависимо от того, что прописано в /etc/passwd
- MAILTO=root означает кому отсылать сообщение о результате работы команд.
Вы также можете ознакомиться с другими статьями:
9th Июл 2016
|
Теги:
|