cron Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:cron [2011/04/24 00:08]
[Ссылки]
wiki:cron [2018/06/27 02:26] (текущий)
[Примеры]
Строка 1: Строка 1:
 ====== cron ====== ====== cron ======
 +**cron** -- программа-демон,​ предназначенная для выполнения заданий в определенное время, или через определенные промежутки времени. Для редактирования заданий используется утилита ''​crontab''​.
  
-====== Описание ====== +===== Листинг =====
- +
-Программа(демон) предназначенная для выполнения заданий в определенное время, или через определенные промежутки времени. +
- +
-Для редактирования заданий используется утилита crontab. +
- +
-====== Листинг ​======+
 <note important>​Нельзя изменять файл расписания,​ просто открыв его в текстовом редакторе. Для его редактирования необходимо использовать команду ''​crontab -e''​.</​note>​ <note important>​Нельзя изменять файл расписания,​ просто открыв его в текстовом редакторе. Для его редактирования необходимо использовать команду ''​crontab -e''​.</​note>​
 Простой пример файла расписания. Создание снимка экрана каждый час: Простой пример файла расписания. Создание снимка экрана каждый час:
-<​code>​ +<​code ​bash>​SHELL=/​bin/​bash
-SHELL=/​bin/​bash+
 MAILTO=username MAILTO=username
-0-23 * * * scrot +* * * scrot</​code>​
-</​code>​ +
- +
-=== Основные параметры:​ ===+
  
 +===== Основные настройки =====
 Выбор среды для исполняемых задач: Выбор среды для исполняемых задач:
-<​code>​SHELL=/​bin/​bash</​code>​+<​code ​bash>​SHELL=/​bin/​bash</​code>​
  
 Имя пользователя,​ которому будет послано сообщение о выполнении задания:​ Имя пользователя,​ которому будет послано сообщение о выполнении задания:​
-<​code>​MAILTO=username</​code>​+<​code ​bash>​MAILTO=username</​code>​
  
 Вместо имени, также можно использовать электронный адрес: Вместо имени, также можно использовать электронный адрес:
-<​code>​MAILTO=example@example.org</​code>​ +<​code ​bash>​MAILTO=example@example.org</​code>​
- +
-=== Не обязательные параметры:​ ===+
  
 +==== Не обязательные настройки ====
 Задаем каталог пользователя:​ Задаем каталог пользователя:​
-<​code>​HOME=</​code>​+<​code ​bash>​HOME=</​code>​
  
 Задаем каталоги исполняемых фалов: Задаем каталоги исполняемых фалов:
-<​code>​PATH=/​sbin:/​bin:/​usr/​sbin:/​usr/​bin</​code>​+<​code ​bash>​PATH=/​sbin:/​bin:/​usr/​sbin:/​usr/​bin</​code>​
  
-=== Выбор времени выполнения задания: ===+Прописываем дисплей, если запускаемый по крону скрипт 
 +должен использовать графику: 
 +<code bash>​DISPLAY=:​0.0</​code>​
  
 +===== Выбор времени выполнения задания =====
 Время запуска представляется в таком виде: Время запуска представляется в таком виде:
-<​code>​ +<​code ​bash>​минута час день_месяца месяц день_недели команда</​code>​
-минута час день_месяца месяц день_недели команда +
-</​code>​+
  
 ^ Значение ^ Диапазон ^ Дополнительно ^ ^ Значение ^ Диапазон ^ Дополнительно ^
Строка 56: Строка 48:
 | sun mon tue wed thu fri sat | | sun mon tue wed thu fri sat |
 | jan feb mar apr may jun jul aug sep oct nov dec | | jan feb mar apr may jun jul aug sep oct nov dec |
-====== Управление при помощи crontab ====== 
  
 +==== Дополнительные переменные cron ====
 +^Переменная ^ Описание ^ Эквивалент ^
 +| @reboot | Запуск при загрузке | |
 +| @yearly | Раз в год | 0 0 1 1 * |
 +| @annually | Тоже что и @yearly | |
 +| @monthly | Раз в месяц | 0 0 1 * * |
 +| @weekly | Раз в неделю | 0 0 * * 0 |
 +| @daily | Раз в день | 0 0 * * * |
 +| @midnight | В полночь (00:00) | |
 +| @hourly | Каждый час | 0 * * * * |
 +
 +====== Управление при помощи crontab ======
 Добавление файла расписания:​ Добавление файла расписания:​
 <code bash>​crontab имя_файла_расписания</​code>​ <code bash>​crontab имя_файла_расписания</​code>​
Строка 71: Строка 74:
  
 Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:​ Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:​
-<code bash>-u username</​code>​+<code bash>crontab ​-u username</​code>​ 
 +Учтите,​ что ''​-u''​ можно воспользоваться только запуская crontab от лица [[sudo|суперпользователя]].
  
 ====== Примеры ====== ====== Примеры ======
- 
 Каждую минуту:​ Каждую минуту:​
-<​code>​* * * * *</​code>​+<​code ​bash>* * * * *</​code>​ 
 + 
 +Каждый час, с использованием переменных cron: 
 +<code bash>​@hourly ~/script.sh</​code>​
  
 Каждый день в 03:15 запускать скрипт:​ Каждый день в 03:15 запускать скрипт:​
-<​code>​15 3 * * * ~/​script</​code>​+<​code ​bash>15 3 * * * ~/script.sh</​code>​
  
 Каждый понедельник:​ Каждый понедельник:​
-<​code>​0 0 * * 1</​code>​+<​code ​bash>0 0 * * 1</​code>​
  
 Каждый четный час: Каждый четный час:
-<​code>​* */2 * *</​code>​+<​code ​bash>* */2 * *</​code>​
  
 Тоже что и выше, но расписанное полностью:​ Тоже что и выше, но расписанное полностью:​
-<​code>​* 0,​2,​4,​6,​8,​10,​12,​14,​16,​18,​20,​22 *</​code>​+<​code ​bash>* 0,​2,​4,​6,​8,​10,​12,​14,​16,​18,​20,​22 ​* * *</​code>​ 
 + 
 +Каждые 10 минут:​ 
 +<code bash>​*/​10 * * * *</​code>​
  
 Новый год :-D: Новый год :-D:
-<​code>​59 23 31 dec *</​code>​+<​code ​bash>59 23 31 dec *</​code>​
  
 Каждый будний день в 22:00: Каждый будний день в 22:00:
-<​code>​0 22 * * 1-5</​code>​+<​code ​bash>0 22 * * 1-5</​code>​
  
-Запуск программы с графической оболочкой (GUI); каждую минуту будет отображается сообщение с текстом "It work!":​ +Запуск программы с графической оболочкой (GUI); каждую минуту будет отображаться сообщение с текстом "It work!":​ 
-<​code>​0-59 * * * * DISPLAY=:0 gdialog --msgbox "It work!" 25 20 > /​dev/​null</​code>​+<​code ​bash>0-59 * * * * DISPLAY=:0 gdialog --msgbox "It work\!" 25 20 > /​dev/​null</​code>​
 //* где DISPLAY=:0 - номер монитора//​ //* где DISPLAY=:0 - номер монитора//​
  
-====== GUI версии ​======+===== GUI версии =====
  
-Есть очень полезная программа:​ Scheduled tasks(gnome-schedule). Она представляет собой графический интерфейс для cron, и будет полезна новичкам,​ так как понятным языком описывает время выполнения задачи. К примеру:​ +==== GTK+ ==== 
-<​code>​ +Есть очень полезная программа: ​**Scheduled tasks**(gnome-schedule). Она представляет собой графический интерфейс для cron, и будет полезна новичкам,​ так как понятным языком описывает время выполнения задачи. К примеру:​ 
-15 * * * * +<​code>​15 * * * *</​code>​
-</​code>​+
 каждый час в 15 минут; каждый час в 15 минут;
-<​code>​ +<​code>​* 0 * * *</​code>​
-* 0 * * * +
-</​code>​+
 каждую минуту,​ между 00:00 и 00:59. каждую минуту,​ между 00:00 и 00:59.
 +
 +==== KDE ====
 +Для [[KDE]] существует **Task Scheduler**,​ который встраивается в окно настройки системы.
  
 ====== Ссылки ====== ====== Ссылки ======