Cron - утилита для планирования задач в операционной системе Linux. Она позволяет запускать скрипты или команды автоматически в определенное время, с определенной периодичностью или при определенных событиях.
Для использования Cron необходимо создать файл crontab
, который содержит список задач и временные интервалы, когда они должны выполняться. Каждая задача в crontab представляет собой строку, которая состоит из пяти полей, разделенных пробелами:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
Знак *
означает любое значение, например, если поле минуты содержит *
, то задача будет выполняться каждую минуту. Если вы хотите задать конкретное значение для поля, например, каждый день в 3 часа утра, то нужно написать 0 3 * * *
.
Чтобы создать или изменить файл crontab, используйте команду crontab -e. Каждый пользователь может иметь свой собственный файл crontab, а также системный файл /etc/crontab
, который содержит задачи, запускаемые от имени пользователя root.
Существует команда cronjob
, которая позволяет запускать задачи внутри контейнеров Docker. Она работает аналогично crontab
, но задачи могут быть запущены внутри контейнера вместо хост-системы.
Чтобы начать использовать Cron в Linux, следуйте этим шагам:
1. Откройте терминал и введите команду crontab -e
. Это откроет файл crontab для текущего пользователя.
2. Добавьте задачу в файл crontab в соответствии с форматом полей, описанным выше. Например, если вы хотите запустить скрипт every_hour.sh
каждый час, добавьте строку 0 * * * * /path/to/every_hour.sh
.
3. Сохраните изменения и закройте файл.
4. Проверьте, что задача добавлена в crontab, используя команду crontab -l
. Она выведет список всех задач, добавленных в crontab
.
5. Убедитесь, что задача выполняется в соответствии с расписанием, используя команду tail -f /var/log/syslog
. Вы увидите вывод, связанный с выполнением задачи.
6. Если вы хотите удалить задачу из crontab
, используйте команду crontab -r
.
Следует учитывать некоторые важные моменты:
crontab
можно добавлять как скрипты, так и команды. Но если вы хотите выполнить скрипт, убедитесь, что у него есть права на выполнение (chmod +x /path/to/script.sh
).sudo crontab -e
, чтобы открыть файл crontab
для пользователя root.Обратите внимание, что время, указанное в crontab
, будет соответствовать времени на сервере, на котором запущен Cron. Если вы используете удаленный сервер, убедитесь, что время на сервере настроено правильно.