Добавление скрипта в планировщик cron — различия между версиями
(Новая страница: «1. Для автоматического запуска скрипта в нужное время, необходимо запустить Планировщик…») |
|||
Строка 33: | Строка 33: | ||
* @daily или @midnight - ежедневно в полночь,"0 0 * * * " | * @daily или @midnight - ежедневно в полночь,"0 0 * * * " | ||
* @hourly - раз в час, "0 * * * * " | * @hourly - раз в час, "0 * * * * " | ||
− | Так для ежедневного исполнения нашего скрипта каждую полночь можно написать: | + | 3. Так для ежедневного исполнения нашего скрипта каждую полночь можно написать: |
@midnight /etc/pgsql-backup.sh | @midnight /etc/pgsql-backup.sh | ||
− | Завершив составление расписания сохраняем файл и выходим из редактора. Пользовательское расписание будет сохранено в /var/spool/cron/crontabs под именем текущего пользователя. | + | 4. Завершив составление расписания сохраняем файл и выходим из редактора. Пользовательское расписание будет сохранено в /var/spool/cron/crontabs под именем текущего пользователя. |
− | Для системных и административных задач предусмотрен файл /etc/crontab синтаксис записей в нем отличается наличием дополнительного значения - пользователя, от чьего имени будет запущено задание: | + | 5. Для системных и административных задач предусмотрен файл /etc/crontab синтаксис записей в нем отличается наличием дополнительного значения - пользователя, от чьего имени будет запущено задание: |
минута час день месяц день_недели пользователь команда | минута час день месяц день_недели пользователь команда | ||
Пример такой записи: | Пример такой записи: | ||
0 19 * * 1-5 root /etc/pgsql-backup.sh | 0 19 * * 1-5 root /etc/pgsql-backup.sh | ||
Согласно которой в 19:00 с понедельника по пятницу будет запускаться скрипт /etc/pgsql-backup.sh от имени пользователя root | Согласно которой в 19:00 с понедельника по пятницу будет запускаться скрипт /etc/pgsql-backup.sh от имени пользователя root |
Версия 10:51, 15 июня 2017
1. Для автоматического запуска скрипта в нужное время, необходимо запустить Планировщик cron
Чтобы создать или изменить пользовательское расписание наберите команду:
crontab -e
При первом запуске утилита предложит выбрать редактор, рекомендуем выбирать mcedit (требует установленного mc), либо другой редактор
2. Формат строк расписания имеет вид:
минута час день месяц день_недели команда
Минута - время в минутах от 0 до 59
Час - от 0 до 23
День - день месяца от 1 до 31
Месяц - от 1 до 12 либо буквенные обозначения jan - dec
День недели - от 0 до 6 (0 - воскресенье) или sat - sun
Команда - строка в формате командного интерпретатора которая будет исполнена, допускается запись типа команда1 && команда2 для запуска нескольких команд подряд.
Значения минут, часов, дней можно указывать следующим образом:
Значение - число обозначающее дату или время, допускается подстановочный знак * допускающий полный диапазон значений
Несколько значений - допускается указывать несколько значений через запятую, например 2,14,22
Диапазон значений - указывается через дефис, например 2-10
Шаг значений - указывается через дробь, в знаменатель которой ставится шаг, например */3 - каждое третье значение 0, 3, 6, 9 и т.д. В качестве числителя должен быть диапазон значений либо звездочка.
Пример:
0 8-19/2 * * 1 /etc/pgsql-backup.sh
Она означает что каждый второй час с 8 до 19 (8, 10,12,14,16) по понедельникам запускать скрипт
при указании периодического исполнения все даты должны быть указаны явно, звездочка обозначает полный диапазон значений, а не их отсутствие.
Кроме даты можно использовать ряд специальных строк:
- @reboot - выполнять команду при перезагрузке
- @yearly или @annually - выполнять 1 января, аналогично записи: "0 0 1 1 * "
- @monthly - выполнять 1 числа каждого месяца, аналогично "0 0 1 * * "
- @weekly - выполнять каждое воскресенье, равносильно "0 0 * * 0"
- @daily или @midnight - ежедневно в полночь,"0 0 * * * "
- @hourly - раз в час, "0 * * * * "
3. Так для ежедневного исполнения нашего скрипта каждую полночь можно написать:
@midnight /etc/pgsql-backup.sh
4. Завершив составление расписания сохраняем файл и выходим из редактора. Пользовательское расписание будет сохранено в /var/spool/cron/crontabs под именем текущего пользователя.
5. Для системных и административных задач предусмотрен файл /etc/crontab синтаксис записей в нем отличается наличием дополнительного значения - пользователя, от чьего имени будет запущено задание:
минута час день месяц день_недели пользователь команда
Пример такой записи:
0 19 * * 1-5 root /etc/pgsql-backup.sh
Согласно которой в 19:00 с понедельника по пятницу будет запускаться скрипт /etc/pgsql-backup.sh от имени пользователя root