Skip to main content
Использование cron Linux, синтаксис, пример настройки

Использование cron linux

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

Демон cron — стандартный инструмент для периодического выполнения команд в UNIX/Linux системах. Запускается на этапе загрузки системы и работает до её выключения.

Демон постоянно считывает файл конфигурации с которого получает список командных строк и расписание их вызова. файл конфигурации в современных Linux системах расположен в каталоге /etc и называется crontab (/etc/crontab).

Формат конфигурационного файла очень прост. Каждая строка содержит шесть полей и представляет одну команду. Первые пять полей содержат информацию о времени запуска команды, шестая и есть сама команда.

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

Каждое поле отделяется друг от друга пробелами, но в поле команда пробел выступает как разделитель аргументов команды.

Спецификация времени в файле конфигурации:


минута - от 0 до 59
час - от 0 до 23
день - от 1 до 31
месяц - от 1 до 12
день_недели - от 0 до 6 (0 - воскресенье)

 

Каждое поле может содержать:

  • * — обозначает любую цифру;
  • целое число;
  • два целых числа разделенных дефисом, задают диапазон;
  • целые числа или диапазоны, разделенные запятыми

Например 30 10 * * * echo "Hello World"

Означает «Каждый день в 10:30» будет выполнятся команда echo «Hello world».

Если в одном из полей установлена звездочка, это означает, что команда будет выполнятся каждый час/день/месяц/минуту. Соответственно «* * * * * echo «Hello World»» — будет выполнять команду каждую минуту.

Мы можем использовать символ шага, чтоб выполнять команду каждые 30 минут мы можем в поле минут установить как значение 30, так и */30.

Применение периодических задач cron очень полезно. Можно применять для очистки файловой системы или для скриптов которые собирают различные метрики, будь то парсинг курсов валют, сбор информации с оборудования, сбор статистики, проверка соединения и т.д.

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

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