Когда требуется автоматизация на сервере, без cron обойтись сложно. Конечно для начала требуется написать скрипт, который будет выполнять какие-то рутинные действия, а для того, чтобы он запускался регулярно, в определённое время и при этом сам собой, без вмешательства со стороны администратора сервера, — тут на помощь придёт знания о том, как настроить cron на сервере. По сути cron — это планировщик в виде системного сервиса, работающего на сервере в фоновом режиме и по настроенным командам в определённое время (раз в час, раз в день, неделю или месяц) запускает то, что указано в этих командах.

Существует несколько конфигурационных файлов cron, из которых он берет информацию о том когда и что нужно выполнять. Этот сервис открывает файл /etc/crontab, в котором указаны все нужные данные. В некоторых дистрибутивах linux там прописан запуск утилиты run-parts, которая запускает нужные скрипты из следующих папок:

В этих папках находятся скрипты (имя этих скриптов не должно содержать точки), которые нужно запускать с указанным интервалом. В файле crontab также прописан запуск команды anacron, которая работает так же как и cron, только предназначена для задач, которые нужно выполнять раз в заданный период времени, например, раз в день, неделю, месяц, год.

После перезагрузки (или включения после отключения) сервера, процесс cron запускается автоматически и, для того, чтобы отслеживать какие программы были им запущены, а какие ещё не отработали, дата выполнения задания последний раз записывается в файл /var/spool/anacron и anacron проверяет был ли запущен нужный процесс в нужное время, и если нет, то запускает его. Сервис cron больше рассчитан на выполнение задач в течение дня или с точно расписанным временем и датой.

Команда crontab -l

Команда crontab -l показывает задачи cron для суперпользователя.

Команда crontab -r

Команда crontab -r удаляет все существующие задачи суперпользователя.

Команда crontab -e

Команда crontab -e позволяет редактировать задачи, внесённые в список задач, а также удалять ненужные и дописывать новые.

Синтаксис записи crontab

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

Формат записи в cron имеет в начале пять цифр. Если вместо цифры стоит *, то это нужно понимать как "каждая". Т.е. если нужно выполнять каждый день, то в позиции дней должна стоять *. Дальше это станет понятно на примерах.

После цифр идёт команда, которую нужно выполнить (обычно это скрипты с параметрами).

Итак, формат в общем виде выглядит так: