Крон является одним из самых мощных инструментом в базе Linux / Unix операционных систем. Cron это утилита, которую Linux использует для планирования задачи, которая будет выполнена в определенное время в соответствии с графиком его, в назначенное время.
Чаще всего они используются для автоматизации деятельности по администрированию системы и техническое обслуживание. Как и рассылка уведомления каждый день об успешном завершении запланированных резервных копий или очистки каталога /tmp/
. Есть много других ситуаций, когда веб – приложение требует периодически запускать определенные задачи.
Итак, в этой статье мы будем направлять вас о своем рабочем механизме и показать, как легко вы можете планировать свои задачи с помощью заданий Cron. “Cron” сам по себе это демон, который работает в фоновом режиме, а график различных задач находится в конфигурационном файле под названием “Crontab“, где все задачи и сроки планируется.
Почти все дистрибутивы Linux поставляется с предварительно установленной Cron по умолчанию. В случае, если он не установлен на вашем компьютере, вы можете установить его с помощью следующей команды.
apt-get install cron
Теперь проверьте статус службы Cron, она должна быть запущена в фоновом режиме по умолчанию, вы можете запустить его с команды запуска, если он в остановленном состоянии.
service cron start service cron status #cron start/running, process 1027
После того, как ваша служба Cron установлена, вы можете продолжить вперед и начать использовать его. Для получения дополнительной справки о его использовании вы можете проверить свои страницы человека, выполнив следующие команды.
man crontab
Эта команда показывает общие инструкции о помощи Crontab. Для того, чтобы получить более конкретную информацию о том, как использовать задачи в Cron, вы также можете проверить с помощью следующей команды.
man 5 crontab
Для выхода из руководства просто нажмите q
или h
.
Здесь мы покажем вам некоторые наиболее важные команды, которые используются для планирования автоматизированных задач с помощью команды Crontab.
Используйте следующую команду для получения списка запланированных заданий Cron для текущего авторизованного пользователя.
crontab –l
В команде вывода покажет вам весь список задач, работающих под управлением этого пользователя. Если вы хотите отобразить задания другого пользователя, то мы можем проверить это с помощью следующей команды.
crontab –l –u username
Это будет список задач где упоминалось имя пользователя: username
.
Чтобы добавить новую задачу или отредактировать существующую, мы будем использовать следующую команду Crontab.
crontab -e
Команда может быть использована для удаления запланированных заданий Cron.
crontab –r
Это удалит все задачи без запроса подтверждения. Используйте , -ir
если вы хотите, чтобы задачи удалялись в интерактивном режиме .
crontab -ir
Теперь мы начинаем использовать задачи с помощью конфигурационного файла, который находится в crontab, в
то время как существуют различные способы использования Cron. Вы найдете некоторые каталоги, как cron.daily
, cron.hourly
, и cron.monthly и
т.д. Так что, если вы поместите сценарий задачи в один из этих каталогов, то они будут запускаться по графику в зависимости от имени каталога.
Существуют два типа конфигурационных файлов, которые используются для планирования автоматизированных задач.
Эти задания Cron используются системными службами и критическими задачами, которые требуются привилегии корневого уровня. Мы можем проверить общесистемный crontab в файле /etc/crontab
.
Пользовательские задания уровня хрон задаются отдельно для каждого пользователя, так что каждый пользователь может создавать свои собственные задачи с помощью команды crontab
.
Мы можем проверить или редактировать пользовательские задания уровня хрон с помощью следующей команды.
crontab –e
После выбора редактора вы сможете настроить свои новые рабочие места хрон здесь.
Мы можем планировать задачи, используя свой специальный синтаксис. Существуют также различные короткие ручные команды, которые могут быть использованы в файле 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 для запуска в определенное время, как в “7:00 вечера” каждый четверг.
00 15 * * 4 sh /root/test.sh
Давайте добавим эту строку в crontabs используя следующие команды.
crontab -e crontab: installing new crontab
В приведенном выше сценарии “00 15” относится к 3:00 PM в то время как “4” относится ко дню “четверг”.
В конце этой статьи вы узнали, как легко можно автоматизировать задачи с помощью crontabs вместо того, чтобы делать это вручную с помощью повторений. Вы узнали о его основных команд и синтаксиса, который будет помогает вам при создании собственных задач.