Кратко о crontab

Feb 17, 2017 12:01

Как проще всего отредактировать задание и вставить в планировщик (cron)


Создаем файлик с текстом будущих заданий:

например, у меня задание запуска скрипта копирования звуков в астериске:

SHELL=/bin/bash
MAILTO=user
0 8 * * 1 /var/lib/asterisk/sounds/custom/rotation/1.sh

(в этом задании скрипт запускается по понедельникам в 8 утра)

назовем файлик, скажем, crontask

смотрим задания в кроне для текущего юзера и убеждаемся что там ничего нет, иначе оно затрется на следующем этапе:
crontab -l

теперь добавляем в крон наши задания из файлика (ненавижу vim, это для мазохистов):
crontab crontask

смотрим что все добавилось:
crontab -l

удалить задания можно командой:
crontab -r

также из-под рута можно зайти сюда
/var/spool/cron
и увидеть там файлик заданий с именем пользователя от которого мы его добавляли

Формат общесистемного расписания
# Установка переменных окружения
name = value
#строка расписания
mm hh DD MM DW user cmd [arg...]

Формат пользовательского расписания
# отличается отсутствием поля user
mm hh DD MM DW  cmd [arg...]

mm hh DD MM DW - время выполнения в формате: минута час деньмесяца месяц деньнедели. Любое поле может быть записано следующим образом:
* - любое значение
1-7 - интервал значений от и до
0-10,20,30,40,50 - перечисление значений и интервалов
*/10 - итерация с шагом, т.е. 0,10,20...
0-10/2 - в промежутке с шагом
Месяц и день недели задаются номером или первыми тремя буквами названия

* * * * *
| | | |  |
| | | |  +----- Дни недели (диапазон: 1-7)
| | | +------- Месяцы     (диапазон: 1-12)
| | +--------- Дни месяца (диапазон: 1-31)
| +----------- Часы       (диапазон: 0-23)
+------------- Минуты     (диапазон: 0-59)
сокращения:

@reboot Запускать при начальной загрузке
@yearly Заменяет "0 0 1 1 *" т.е. «ежегодно в 00:00 1 января»
@annually Тоже что и yearly
@monthly Заменяет "0 0 1 * *" т.е. «ежемесячно в 00:00 1 числа»
@weekly Заменяет "0 0 * * 0" т.е. «еженедельно в 00:00 воскресенье»
@daily Заменяет "0 0 * * *" т.е. «ежедневно в 00:00»
@midnight Тоже что и daily
@hourly Заменяет "0 * * * *" т.е. «ежечасно в 00 минут»
сокращение дней недели:

Понедельник / Monday / Mon
Вторник / Tuesday / Tue
Среда / Wednesday / Wed
Чеверг / Thursday / Thu
Пятница / Friday / Fri
Суббота / Saturday / Sat
Воскресенье / Sunday / Sun

P.S. Не в тему, про виндовый домен:
Переименовать комп в домене:
netdom renamecomputer pcName /newname:newName /userd:domain\admin /passwordd:* /Force /reboot:30

ad, linux, #строка, asterisk

Previous post Next post
Up