Настройка планировщика cron в Linux / UNIX

Настройка планировщика cron в Linux / UNIX

Рубрики:

Cron, Linux

Метки:

, , ,

Сегодня мы расскажем о достоинствах планировщика cron. Итак, сron — один из самых полезных инструментов в Linux или UNIX. Он используется для планирования задач, которые будут выполняться периодически. Кроме того, Вы можете настроить команды или сценарии, которые будут повторяться в заданное время. Служба (daemon) cron работает в фоновом режиме и постоянно проверяет файл /etc/crontab, а также каталоги /etc/cron.*/ и /var/spool/cron/.

Содержание:

  1. Команда crontab
  2. Типы файлов конфигурации cron
  3. Как установить, создать или отредактировать собственные задания cron
  4. Синтаксис crontab (описание полей)
  5. Как использовать операторы
  6. Подробнее о файле /etc/crontab и /etc/cron.d/*
  7. Сохранение списка заданий в файл
  8. Выводы

Команда crontab

crontab — это команда Linux, позволяющая создавать, удалять и просматривать файл конфигурации для службы cron. Каждый пользователь может создать свой собственный файл задач, хранящийся в каталоге /var/spool/cron/crontabs.

Важно: файл crontabs не предназначен для прямого редактирования — редактируйте список задач только с помощью команды crontab, чтобы планировщик cron работал корректно.

Типы файлов конфигурации сron

Существуют два типа файлов конфигурации службы cron:

  1. Системный файл crontab. Обычно используется системными службами и критическими заданиями, требующими привилегий root-доступа. Системные файлы crontab состоят из полей. Пять из них заполнены данными о времени, а в шестом поле указывается имя пользователя, от которого запускается команда. То есть crontab дает системе возможность запускать команды от имени разных пользователей.
  2. Пользовательский crontab. Пользователь может установить свои собственные задания в планировщике сron, используя команду crontab. В этом случае, шестое поле — это команда для запуска. Следовательно, все команды будут выполняться от имени пользователя, который задал их в своем собственном crontab.

Как установить, создать или отредактировать собственные задания сron

Чтобы отредактировать файл crontab, введите следующую команду в командной строке оболочки Unix / Linux:

Синтаксис crontab (описание полей)

Синтаксис:

 

Например:

 

Где цифры обозначают:

  • 1: Минуты (0-59)
  • 2: Часы (0-23)
  • 3: День (0-31)
  • 4: Месяц (0-12 [12 == Декабрь])
  • 5: День недели (0-7 [7 или 0 == sunday])

/path/to/command — имя скрипта или команды для выполнения по расписанию

Легко запоминаемый формат:

 

Пример:

Как использовать операторы

Оператор позволяет указать несколько значений в поле. Существуют четыре оператора:

  1. Звездочка (*): этот оператор задает все возможные значения для поля. Например, звездочка в поле «Часы» будет эквивалентна каждому часу, а звездочка в поле месяца будет эквивалентна каждому месяцу и т.д.
  2. Запятая (,): Этот оператор задает список значений, например: «1,5,10,15,20,25».
  3. Тире (-): Этот оператор задает диапазон значений, например: «5-15» дней, что эквивалентно набору «5,6,7,8,9 … …, 13,14,15», при использования оператора «Запятая».
  4. Слеш (/): этот оператор задает значение шага, например: «0-23 /» можно использовать в поле часов, чтобы указывать выполнение команды каждый час. Шаги также разрешены после звездочки, поэтому, если Вы хотите выполнять что-то каждые два часа, просто используйте «*/2».

Вместо первых пяти полей Вы можете использовать любую из восьми специальных строк. Планировщик cron позволяет такую настройку. Это не только сэкономит Ваше время, но и улучшит читаемость.

Специальная строка Значение
@reboot Запускается только один раз при запуске.
@yearly Запускается раз в год, «0 0 1 1 *».
@annually Такое же, как у @yearly
@monthly Запускается раз в месяц, «0 0 1 * *».
@weekly Выполняется раз в неделю, «0 0 * * 0».
@daily Выполняется один раз в день, «0 0 * * *».
@midnight Такое же, как у @daily.
@hourly

Запускается один раз в час, «0 * * * *».

 

Пример:

Подробнее о файле /etc/crontab и /etc/cron.d/*

/etc/crontab — это файл crontabсистемы. Обычно используется только пользователем root или для настройки системных задач. Обычные пользователи должны использовать команду crontab для установки и редактирования своих заданий.

/var/spool/cron/ или /var/cron/tabs/ — это каталог для личных файлов пользователя crontab.

Типичные записи файла /etc/crontab:

 

Первым делом необходимо определить оболочку для выполнения задач. Если указатель оболочки отсутствует — cron будет использовать значение по умолчанию (а именно — sh). Если переменная PATH не указана — расположение файлов будет считаться абсолютным. Если перемененная HOME не указана — cron будет использовать для работы домашний каталог.

Кроме того, cron считывает файлы в каталоге /etc/cron.d/. Обычно это файлы демона системы, такие как sa-update или sysstat. В качестве пользователя root, для настройки заданий cron, Вы можете использовать каталоги которые указаны ниже. Помимо этого, здесь Вы можете напрямую запускать свои скрипты. Команда run-parts запускает скрипты или программы в каталоге через файл /etc/crontab:

Каталог Описание
/etc/cron.d/ Поместите в эту директиву все скрипты и вызовите их из файла /etc/crontab
/etc/cron.daily/ Запуск всех скриптов один раз в день
/etc/cron.hourly/ Запуск всех скриптов один раз в час
/etc/cron.monthly/ Запуск всех скриптов один раз в месяц
/etc/cron.weekly/ Запуск всех скриптов один раз в неделю

Сохранение списка заданий в файл

Сохранить список заданий можно с помощью следующей команды:

Выводы

Спасибо за время, уделенное на прочтение статьи! Теперь Вы знаете о том, как добавлять и настраивать задания в Linux с помощью планировщика cron. Кроме того, Вы научились пользоваться синтаксисом и операторами crontab. Надеемся, эти знания и навыки будут полезны как для личного пользования, так и для системного администрирования Linux.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Cron, Linux

Метки:

, , ,

Больше похожих постов

2 комментария. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню