Текущая страница: ГлавнаяРазное → Добавление заданий в cron - miniFAQ

Добавление заданий в cron — miniFAQ

Каждый пользователь системы имееет свой собственный файл, в котором прописаны все задания от данного пользователя (/var/spool/cron/).
Просмотреть задания, которые уже добавлены в Ваш cron файл:
crontab -l
Удалить список заданий crontab
crontab -r
Что бы добавить новое задание используем команду:
crontab -e
Строки в этом файле имеют вид
* * * * * <команда>
Распишем подробней что означают звездочки (цифры — это номера звездочек):
1. Минуты (0 — 59)
2. Часы (0 — 23)
3. День месяца (0 — 31)
4. Месяц (1 -12)
5. День недели (0 — 6, 0 — воскресенье)
Особо отмечу, чтобы запустить скрипт из крона, права доступа для запускаемого скрипта должны быть 700 (-rwx——)
chmod 700 /home/exampleuser/example.sh
Примеры

* * * * * <команда>            #Выполнять каждую минуту
* * * * * /usr/bin/php /home/user/script.php #выполнить php  скрипт
30 * * * * <команда>           #Выполнять в 30 минут каждого часа
45 6 * * * <команда>           #Выполнять каждый день в 6:45
45 18 * * * <команда>          #Выполнять каждый день в 18:45
0 1 * * 7 <команда>            #Выполнять каждое воскресение в 1:00
30 8 1 * * <команда>           #Выполнять 1го числа каждого месяца в 8:30
0 0-23/2 * * * <команда>       #Выполнять каждые 2 часа в 00 минут (в 00:00, 02:00, 04:00 и т.д.)
*/5 * * * * <команда>          #Выполнять каждые 5 минут 
Ключи, расширяющие функционал:
@reboot <команда>              #Выполнить при загрузке
@yearly <команда>              #Выполнить раз в год, 1 января в 00:00 [0 0 1 1 *]
@annually <команда>            #Аналог @yearly
@monthly <команда>             #Выполнять каждый месяц 1-го числа в 00:00 [0 0 1 * *]
@weekly <команда>              #Выполнять каждое воскресение в 00:00 [0 0 * * 0]
@daily <команда>               #Выполнять каждый день в 00:00 [0 0 * * *]
@midnight <команда>            #Аналог @daily
@hourly <команда>              #Выполнять раз в час в 00 минут [0 * * * *] 
Задание нескольких команд:
@daily <команда_1> && <команда_2>

Посмотрим файл /etc/crontab, там задается ряд переменных:
SHELL — что будет использоваться для запуска команд
Если значение отсутствует к примеру в файле crontab пользователя, то будет использовано значение взятое из /etc/passwd
PATH – определяет пути для выполнения команд
MAILTO – параметр отвечающий за отправку почты после каждого выполнения задания (не обязательный параметр)
– MAILTO=root После выполнения задачи отправит письмо пользователю от чьего имени был запущен кронтаб.
– MAILTO=example@mail.com # После выполнения задачи отправит письмо на заданный ящик.
– MAILTO=”» # Письма с уведомлениями отправляться не будут.
HOME – указывает каталог пользователя (не обязательный параметр)

Добавить комментарий