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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:cron [2012/11/14 14:45]
[Не обязательные настройки]
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>​DISPLAY=:​0.0</​code>​+<​code ​bash>​DISPLAY=:​0.0</​code>​ 
 ===== Выбор времени выполнения задания ===== ===== Выбор времени выполнения задания =====
- 
 Время запуска представляется в таком виде: Время запуска представляется в таком виде:
-<​code>​ +<​code ​bash>​минута час день_месяца месяц день_недели команда</​code>​
-минута час день_месяца месяц день_недели команда +
-</​code>​+
  
 ^ Значение ^ Диапазон ^ Дополнительно ^ ^ Значение ^ Диапазон ^ Дополнительно ^
Строка 61: Строка 50:
  
 ==== Дополнительные переменные cron ==== ==== Дополнительные переменные cron ====
- 
 ^Переменная ^ Описание ^ Эквивалент ^ ^Переменная ^ Описание ^ Эквивалент ^
 | @reboot | Запуск при загрузке | | | @reboot | Запуск при загрузке | |
Строка 73: Строка 61:
  
 ====== Управление при помощи crontab ====== ====== Управление при помощи crontab ======
- 
 Добавление файла расписания:​ Добавление файла расписания:​
 <code bash>​crontab имя_файла_расписания</​code>​ <code bash>​crontab имя_файла_расписания</​code>​
Строка 87: Строка 74:
  
 Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:​ Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:​
-<code bash>-u username</​code>​+<code bash>crontab ​-u username</​code>​ 
 +Учтите,​ что ''​-u''​ можно воспользоваться только запуская crontab от лица [[sudo|суперпользователя]].
  
 ====== Примеры ====== ====== Примеры ======
- 
 Каждую минуту:​ Каждую минуту:​
-<​code>​* * * * *</​code>​+<​code ​bash>* * * * *</​code>​
  
 Каждый час, с использованием переменных cron: Каждый час, с использованием переменных cron:
-<​code>​@daily ~/​script.sh</​code>​+<​code ​bash>@hourly ​~/​script.sh</​code>​
  
 Каждый день в 03:15 запускать скрипт:​ Каждый день в 03:15 запускать скрипт:​
-<​code>​15 3 * * * ~/​script.sh</​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>​
- +
-Каждый 10 минут:​ +
-<​code>​*/​10 * * * *</​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 версии =====
- +
-===== GTK+ =====+
  
 +==== GTK+ ====
 Есть очень полезная программа:​ **Scheduled tasks**(gnome-schedule). Она представляет собой графический интерфейс для cron, и будет полезна новичкам,​ так как понятным языком описывает время выполнения задачи. К примеру:​ Есть очень полезная программа:​ **Scheduled tasks**(gnome-schedule). Она представляет собой графический интерфейс для cron, и будет полезна новичкам,​ так как понятным языком описывает время выполнения задачи. К примеру:​
-<​code>​ +<​code>​15 * * * *</​code>​
-15 * * * * +
-</​code>​+
 каждый час в 15 минут; каждый час в 15 минут;
-<​code>​ +<​code>​* 0 * * *</​code>​
-* 0 * * * +
-</​code>​+
 каждую минуту,​ между 00:00 и 00:59. каждую минуту,​ между 00:00 и 00:59.
  
-===== KDE =====+==== KDE ==== 
 +Для [[KDE]] существует **Task Scheduler**,​ который встраивается в окно настройки системы.
  
-Для KDE существует **Task Scheduler**,​ который встраивается в окно настройки системы. 
 ====== Ссылки ====== ====== Ссылки ======
   * [[http://​www.ibm.com/​developerworks/​ru/​library/​l-job-scheduling/​index.html|Полезные советы по Linux: Планирование задач с помощью cron и at]]   * [[http://​www.ibm.com/​developerworks/​ru/​library/​l-job-scheduling/​index.html|Полезные советы по Linux: Планирование задач с помощью cron и at]]
  
 {{tag>​cron tips Администрирование}} {{tag>​cron tips Администрирование}}