Добавление задач в Cron в Linux

12 Сентябрь, 2017 ozzeeransky inLinux

Для тех, кто не знает, как это делается.

Редактирование происходит по команде 

crontab -e

К сожалению, а для некоторых упоротошей к счастью, редактор по-умолчанию - Vim. Чтобы сменить редактор, выполняем

VISUAL=nano crontab -e

Вместо nano - ваш предпочтительный редактор.

У некоторых откроется полностью пустой файл, и если вы открыли его в nano, то в заголовке имя файла будет /tmp/crontab.случайныесимволы, что сигнализирует о правильности сего действия.

Примерный синтаксис файла такой:

1 2 3 4 5 задача

1 - минута (от 0 до 59)

2 - час (от 0 до 23)

3 - день (от 1 до 31)

4 - месяц - (от 1 до 12)

5 - день недели (от 0 до 7, где 0 и 7 это будет воскресенье)

Задача - нужная нам задача. 

Вот пример: каждый день нужно запускать скрипт. К примеру, в 3 часа ночи. Строка будет такая:

0 3 * * * /путь_к_скрипту/скрипт.sh 

Одна строка - одна задача. 

По окончанию редактирования просто сохраняем файл (в случае с nano просто жмем Ctrl+O, потом Enter) и выходим из редактора. 

 

Вот еще немного примеров:

 

0 0-23/1 * * * задача - выполняет задачу каждый час от 0 до 23 часов. Слэш (/) и цифра после него - промежуток, в данном случае - один час. Можно указать к примеру 8-12/2 - задача будет выполняться с 8 до 12 часов с промежутком каждые два часа

0 0,2,7,10 * * * задача - выполнять задачу в 0 часов, затем в 2, затем в 7 и 10 часов. 

* * * * 1-3 задача - выполнять задачу с понедельника по среду каждую неделю. Если правильно понимаю, то вместо цифр можно указывать первые три буквы названия дня на английском.