kak-sozdavat-i-upravlyat-zadaniyami-s-pomoshhyu-cron-v-linux

Примеры заданий cron для автоматизации задач в Linux

Рубрики:

Cron, Linux

Метки:

, ,

Cron — утилита для планирования операций в Unix-подобных операционных системах, включая Linux. Она позволяет пользователям создавать задания cron, которые будут выполняться автоматически в указанное время. Чаще всего инструмент Cron используют для обслуживания операционной системы, создания резервных копий и других административных задач.

В этой статье мы расскажем, как использовать демон Cron в ОС Linux.

Содержание:

  1. Открытие таблицы заданий cron
  2. Синтаксис заданий cron
  3. Примеры создания заданий cron
  4. Специальные строки представления времени в сrontab
  5. Просмотр и удаление заданий сron
  6. Выводы

Открытие таблицы заданий cron

Таблица cron (или crontab) — системный файл, в котором пользователи могут создавать задания cron. Каждая строка в crontab представляет собой отдельное задание с информацией о расписании и командой для выполнения.

Чтобы открыть таблицу cron, примените следующую команду:

 

crontab e

Синтаксис заданий cron

Задания cron имеют свой синтаксис, который выглядит следующим образом:

 

Где:

  • MIN — указывает минуту часа, когда будет выполняться команда (диапазон: 0-59);
  • HOUR — указывает час дня (диапазон: 0-23);
  • DOM — означает день месяца (диапазон: 1-31);
  • MON — указывает месяц года (диапазон: 1-12 или JAN-DEC);
  • DOW — означает день недели (диапазон: 0-7 или SUN-SAT);
  • command-to-execute — означает команду или скрипт, который нужно выполнять в указанное время.

Читайте также: Настройка планировщика cron в Linux / UNIX.

Также для указания времени выполнения заданий cron можно применять специальные операторы:

  • * (звездочка) — означает все возможные значения для данного поля;
  • , (запятая) — используется для перечисления значений времени;
  • - (дефис) — используется для указания диапазона значений;
  • / (слеш) — означает, что команда будет выполняться с заданным шагом.

Примеры создания заданий Cron

Допустим, нам нужно каждый день в полночь создавать резервную копию каталога /home/user/documents в /backup/documents. Для этого воспользуемся утилитой rsync и запишем в crontab следующее задание:

 

Backup a Directory Every Day at Midnight

Также каждое воскресенье в 2 часа ночи мы хотим очищать содержимое каталога /tmp. Чтобы решить эту задачу, применим такое задание cron:

 

Clear Temporary Files Every Sunday at 2 AM

Также в нашей ОС есть скрипт /home/user/scripts/script.py. Нам нужно запускать его каждые 15 минут. Для этого запишем в таблицу cron следующую строку:

 

Run a Python Script at Every 15 Minutes Past the Hour

Читайте также: Cron или Anacron: как планировать выполнение задач с помощью Anacron в Linux.

Задание cron, показанное ниже, позволит запускать сценарий обслуживания ОС maintenance.sh в час ночи каждый день с 1 по 7 число каждого месяца:

 

Run Maintenance Script at 1 AM Every Day from the 1st to the 7th of Each Month

Напоследок создадим задание cron, которое будет генерировать отчет с помощью скрипта generate_report.sh в 2 часа ночи каждый день в январе, марте, мае и июле:

 

Generate a Report at 2 AM Every Day in January, March, May, and July

Специальные строки представления времени в сrontab

Специальные строки в сrontab — ярлыки, которые позволяют планировать операции без необходимости вручную указывать каждое отдельное поле времени и даты. Вот некоторые из них:

  • @hourly — выполняет задание каждый час (0 * * * *);
  • @daily или @midnight — раз в день в полночь (0 0 * * *);
  • @weekly — раз в неделю в полночь в воскресенье (0 0 * * * 0);
  • @monthly — один раз в месяц в полночь 1-го числа (0 0 1 * * *);
  • @yearly или @annually — раз в год в полночь 1 января (0 0 1 1 *);
  • @reboot — один раз при каждой перезагрузке ОС.

Например, нам нужно:

  • сохранять резервную копию каталога /home/user/documents в /backup/documents каждый день в полночь;
  • выполнять Python-скрипт script.py из каталога /home/user/scripts каждый час;
  • запускать при каждой перезагрузке ОС сценарий /path/to/your/task.sh.

Для этого запишем в таблицу cron следующие строки:

 

string representation

Читайте также: 11 примеров настройки выполнения регулярных задач с помощью Cron в Linux.

Просмотр и удаление заданий сron

Чтобы вывести в окно терминала содержимое сrontab, выполните в командной строке:

 

crontab list

А для удаления всех заданий cron воспользуйтесь командой crontab с опцией -r:

 

crontab delete

Выводы

Мы рассмотрели базовый синтаксис заданий cron в операционной системе 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

Метки:

, ,

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

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

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

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


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