====== Crontab ======
===== Использование =====
==== Ключи ====
# Список заданий
crontab -l
# Редактировать задания
crontab -e
# Удаление текущего задания
crontab -r
==== Файл crontab ====
* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- день недели (0—7) (воскресенье = 0 или 7)
| | | ------- месяц (1—12)
| | --------- день (1—31)
| ----------- час (0—23)
------------- минута (0—59)
**Пример файла crontab**
#### Здесь начинаются задания
# Перезагружать NGINX каждый день
@daily systemctl restart nginx
# выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily
5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1
# выполнять 1 числа каждого месяца в 14 часов 15 минут
15 14 1 * * $HOME/bin/monthly
# каждый рабочий день в 22:00
0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john
23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д."
5 4 * * sun echo "Выполняется в 4:05 в воскресенье"
0 0 1 1 * echo "С новым годом!"
15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15"
0-59 * * * * echo "Выполняется ежеминутно"
0-59/2 * * * * echo "Выполняется по чётным минутам"
1-59/2 * * * * echo "Выполняется по нечётным минутам"
# каждые 5 минут
*/5 * * * * echo "Прошло пять минут"
# каждое первое воскресенье каждого месяца. -eq 7 это код дня недели, т. е. 1 -> понедельник , 2 -> вторник и т. д.
0 1 1-7 * * [ "$(date '+\%u')" -eq 7 ] && echo "Эта надпись выводится каждое первое воскресенье каждого месяца в 1:00"