Linux -- это интересно

cron / crontab


Рубрика: Изучаем Linux -> Системные утилиты -> Hужное/полезное
Метки: | | |
Просмотров: 1913

Cron (Command Run ON) — демон-планировщик задач, система для автоматического запуска приложений и скриптов в заданное время, или через определенные промежутки времени. Для редактирования заданий используется утилита crontab (таблицы, управляющие работой демона cron), командой 'crontab -e' автоматически запускается текстовый редактор и загружается в него файл конфигурации cron (редактировать их вручную не рекомендуется). После выхода из редактора, новая конфигурация cron будет установлена (вступит в силу) автоматически. Если необходимо полностью удалить свой crontab, используется команда crontab -r.

Утилита cron (vixie-cron) использует два разных типа конфигурационных файлов, системный и пользовательский. Файлы crontab создаваемые для отдельных пользователей находятся в каталоге /usr/spool/cron/crontabs/ или /var/spool/cron/tabs/. Файлы crontab используемые для управления всей системой, располагаются в директории /etc/cron.d/. Кроме того, в директориях /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/ размещаются автоматически запускаемые приложения (ежедневно, еженедельно или ежемесячно).

Различие между системными и пользовательскими форматами заключается в шестом поле. В системном файле шестое поля это имя пользователя, с правами которого будет запущена команда. Это позволяет запускать команды из системного crontab от любого пользователя. В пользовательском файле шестое поле указывает запускаемую команду и все команды запускаются от пользователя который создал crontab (это важно для безопасности).

Пользовательские crontab позволяют индивидуальным пользователям планировать задачи без привилегий суперпользователя (root). Команды из crontab пользователя запускаются с привилегиями этого пользователя. Пользователь root может использовать собственный crontab, как и любой другой пользователь. Он будет отличаться от системного crontab /etc/crontab. Поскольку существует системный crontab, обычно не требуется создавать пользовательский crontab для root.

Конфигурационный файл cron содержит последовательность командных строк и расписание их вызова. Пустые строки и строки, начинающиеся с символа '#' игнорируются, остальные строки являются установками переменных окружения и командами cron. Запись crontab-файла в общем случае состоит из семи полей:

минуты   часы   день  месяц   день_недели  имя_пользователя   команда

Допустимые значения временных параметров:

  • параметр допустимый интервал
  • минуты 0-59
  • часы 0-23
  • день_месяца 1-31
  • месяц 1-12
  • день_недели 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)

Поле может быть задано явно или шаблоном:

  • звездочка - любая цифра
  • целое число
  • целые числа через запятую — задание дискретного множества значений
  • два целых числа, разделенные дефисом, соответствующие диапазону значений.

Простой пример файла расписания для создания снимка экрана каждый час:

SHELL=/bin/bash
MAILTO=username
0 * * * * scrot

Один из самых больших недочетов демона-планировщика Cron заключается в том что он предполагает что сервер или компьютер всегда включен. Если же в установленное время выполнения задачи машина выключена, то задача не будет запущена. Это серьезная проблема для систем, которые не могут быть включены постоянно, потому для устранения этого недочета был разработан «анахронический» демон-планировщик Anacron (наименьший интервал для него день и использовать его надо как дополнение к cron, а не как замещение его).

cron – help.ubuntu.ru/wiki

Использование CRON и команды crontab

Планирование задач с помощью cron и at

Vixie cron - полноценная реализация cron основанная на SysV cron, каждый пользователь в ней имеет свой собственный файл заданий crontab и ему разрешается указывать переменные среды в файлах заданий crontabs (PATH, SHELL, HOME и пр), доступ контролируется файлами cron.allow и cron.deny. В отличие от других видов cron, он также предлагает поддержку SELinux и PAM (/etc/security/limits.conf), но поддерживает меньшее количество архитектур чем Dcron, но большее по сравнению с Fcron.

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)