Крон является одним из самых мощных инструментом в базе Linux / Unix операционных систем. Cron это утилита, которую Linux использует для планирования задачи, которая будет выполнена в определенное время в соответствии с графиком его, в назначенное время.
Чаще всего они используются для автоматизации деятельности по администрированию системы и техническое обслуживание. Как и рассылка уведомления каждый день об успешном завершении запланированных резервных копий или очистки каталога /tmp/
. Есть много других ситуаций, когда веб – приложение требует периодически запускать определенные задачи.
Итак, в этой статье мы будем направлять вас о своем рабочем механизме и показать, как легко вы можете планировать свои задачи с помощью заданий Cron. “Cron” сам по себе это демон, который работает в фоновом режиме, а график различных задач находится в конфигурационном файле под названием “Crontab“, где все задачи и сроки планируется.
Запуск Cron Service
Почти все дистрибутивы Linux поставляется с предварительно установленной Cron по умолчанию. В случае, если он не установлен на вашем компьютере, вы можете установить его с помощью следующей команды.
apt-get install cron
Теперь проверьте статус службы Cron, она должна быть запущена в фоновом режиме по умолчанию, вы можете запустить его с команды запуска, если он в остановленном состоянии.
service cron start service cron status #cron start/running, process 1027
Использование помощи по Cron
После того, как ваша служба Cron установлена, вы можете продолжить вперед и начать использовать его. Для получения дополнительной справки о его использовании вы можете проверить свои страницы человека, выполнив следующие команды.
man crontab
Эта команда показывает общие инструкции о помощи Crontab. Для того, чтобы получить более конкретную информацию о том, как использовать задачи в Cron, вы также можете проверить с помощью следующей команды.
man 5 crontab
Для выхода из руководства просто нажмите q
или h
.
Использование команды Crontab
Здесь мы покажем вам некоторые наиболее важные команды, которые используются для планирования автоматизированных задач с помощью команды Crontab.
Список задач Cron
Используйте следующую команду для получения списка запланированных заданий Cron для текущего авторизованного пользователя.
crontab –l
В команде вывода покажет вам весь список задач, работающих под управлением этого пользователя. Если вы хотите отобразить задания другого пользователя, то мы можем проверить это с помощью следующей команды.
crontab –l –u username
Это будет список задач где упоминалось имя пользователя: username
.
Редактирование задач Cron
Чтобы добавить новую задачу или отредактировать существующую, мы будем использовать следующую команду Crontab.
crontab -e
Удалить задачу Cron
Команда может быть использована для удаления запланированных заданий Cron.
crontab –r
Это удалит все задачи без запроса подтверждения. Используйте , -ir
если вы хотите, чтобы задачи удалялись в интерактивном режиме .
crontab -ir
Планирование задач с помощью Crontab
Теперь мы начинаем использовать задачи с помощью конфигурационного файла, который находится в crontab, в
то время как существуют различные способы использования Cron. Вы найдете некоторые каталоги, как cron.daily
, cron.hourly
, и cron.monthly и
т.д. Так что, если вы поместите сценарий задачи в один из этих каталогов, то они будут запускаться по графику в зависимости от имени каталога.
Типы конфигурации Cron
Существуют два типа конфигурационных файлов, которые используются для планирования автоматизированных задач.
Система Crontab
Эти задания Cron используются системными службами и критическими задачами, которые требуются привилегии корневого уровня. Мы можем проверить общесистемный crontab в файле /etc/crontab
.
Crontab пользователя
Пользовательские задания уровня хрон задаются отдельно для каждого пользователя, так что каждый пользователь может создавать свои собственные задачи с помощью команды crontab
.
Мы можем проверить или редактировать пользовательские задания уровня хрон с помощью следующей команды.
crontab –e
После выбора редактора вы сможете настроить свои новые рабочие места хрон здесь.
Планирование заданий с помощью Crontab
Мы можем планировать задачи, используя свой специальный синтаксис. Существуют также различные короткие ручные команды, которые могут быть использованы в файле crontab, чтобы создавать задачи с легкостью.
Синтаксис записи кронтаб должен быть следующим:
#* * * * * command to be executed #- - - - - #| | | | | #| | | | ----- Day of week (0 - 7) (Sunday=0 or 7) #| | | ------- Month (1 - 12) #| | --------- Day of month (1 - 31) #| ----------- Hour (0 - 23) #------------- Minute (0 - 59)
Теперь вы знакомы с командами crontab, синтаксис и типы задач в cron, в настоящее время мы создадим несколько тестовых заданий, добавим в крон и посмотрим, как это работает. Вы можете запланировать любую из вашей повседневной задачи, добавив его с командой crontab –e
.
Планирование заданий для запуска каждую минуту
В этом примере мы создадим cronjob, который будет выполнять текст “Тест задачи cron выполняется каждую минуту” каждую минуту и отправить по электронной почте user@andreyex.ru
.
Ваше первое действие, это редактирование кронтаб с командой ниже:
crontab –e
Поместите следующий скрипт cronjob в cronjob и сохраните изменения.
SHELL=/bin/bash HOME=/ MAILTO=”user@andreyex.ru” #This is a comment * * * * * echo 'Тест задачи cron выполняется каждую минуту' :wq!
После того, как вы сохраните файл, вы получите вывод вроде crontab: installing new crontab
. Таким образом, это означает, что вы успешно добавили новую задачу в cron.
Планирование задания Cron в определенное время
Теперь давайте посмотрим, сценарий, если вы хотите запланировать задания cron для запуска в определенное время, как в “7:00 вечера” каждый четверг.
00 15 * * 4 sh /root/test.sh
Давайте добавим эту строку в crontabs используя следующие команды.
crontab -e crontab: installing new crontab
В приведенном выше сценарии “00 15” относится к 3:00 PM в то время как “4” относится ко дню “четверг”.
Вывод
В конце этой статьи вы узнали, как легко можно автоматизировать задачи с помощью crontabs вместо того, чтобы делать это вручную с помощью повторений. Вы узнали о его основных команд и синтаксиса, который будет помогает вам при создании собственных задач.