Планировщик заданий: различия между версиями
Строка 38: | Строка 38: | ||
*минута - от 0 до 59 | *минута - от 0 до 59 | ||
*час - от 0 до 23 | *час - от 0 до 23 | ||
*день - от 1 до | *день - от 1 до 31 | ||
*месяц - от 1 до 12 | *месяц - от 1 до 12 | ||
*день недели - от 1 до 7 | *день недели - от 1 до 7 |
Версия от 01:18, 28 октября 2019
В Windows-системах начиная с Windows 95 есть утилита Планировщик зданий, которая позволяет запланировать запуск программ или скриптов в определенные моменты времени с определенным интервалом. В мире UNIX тоже есть подобная утилита и называется она Cron.
Cron работает как демон и выполняет действия в определенное время, которые описаны в конфигурационных файлах.
Но, обо всем по порядку.
Как работать с утилитой
Настройки cron хранятся в /etc/crontab. И, теоретически, можно добавить задание отредактировав данный файл. Но, рекомендуется использовать утилиту crontab.
crontab -e
У вас откроется в редакторе (nano) следующий временный файл:
#minute (0-59), #| hour (0-23), #| | day of the month (1-31), #| | | month of the year (1-12), #| | | | day of the week (0-6 with 0=Sunday). #| | | | | commands ~ ~ ~
После завершения редактирования правила будут добавлены в /var/spool/cron/crontabs/имя_пользователя и выполняться команды будут от имени пользователя.
Если вам надо сделать план на всю систему, то нужно запустить редактор cron от суперпользователя.
su- crontab -e
После завершения работы команды cron файл будет обработан и все правила будут добавлены в /var/spool/cron/crontabs/имя_пользователя, причем, добавленные процессы будут запускаться именно от того пользователя, от которого вы их добавляли.
Синтаксис
Синтаксис правила выглядит так:
минута час день месяц день_недели /путь/к/исполняемому/файлу
- минута - от 0 до 59
- час - от 0 до 23
- день - от 1 до 31
- месяц - от 1 до 12
- день недели - от 1 до 7
- путь к исполняемому файлу - путь к программе или скрипту, должен указываться всегда полностью
- звездочка вместо значения означает выполнение команды каждый(-ую) минуту/час/день/день недели
Для некоторых часто используемых наборов были созданы переменные:
- @reboot - при загрузке, только один раз
- @yearly, @annually - раз год
- @monthly - раз в месяц
- @weekly - раз в неделю
- @daily, @midnight - каждый день
- @hourly - каждый час
Команды
Просмотреть задачи
crontab -l
Удалить все задачи
crontab -r
Примеры команд
- Каждый день в 12:30 перезагружать компьютер
30 12 * * * reboot
- Каждую пятницу в 17:00 выводить сообщение "Ура, пятница!"
* 17 * * 5 gdialog --msgbox "Ура, пятница!"
- 15 числа каждого месяца ...
* * 15 * * ...
- 31 декабря каждого года ...
* * 31 12 * ...
Графические интерфейсы
Gnome Schedule
Графическая оболочка для cron, превращающая его в подобие Планировщика заданий Windows.
Пока отсутствует в ALT Linux.
Модуль Alterator
Планировался модуль для Alterator, но он еще не реализован.