В системе Ubuntu Linux для каждого пользователя, включая root, создается свое отдельное задание в планировщике cron.

Это значит что выполняя команды:

1
crontab -e

и

1
sudo crontab -e

создаются задания для разных пользователей. В первом случае для текущего пользователя, во втором для супер пользователя, т.е. учетной записи root.

Просмотреть задания, которые уже добавлены в cron файл можно выполнив команду:

1
crontab -l

Текущий cron файл может быть пустым. Что бы добавить новое задание выполняем команду:

1
crontab -e

Эта команда открывает cron файл текущего пользователя через редактор, который используется по умолчанию в системе.

В системах типа Linux / UNIX выполнением заданий по расписанию управляет демон Cron.

Регулярные действия описываются инструкциями, помещенными в конфигурационные файлы crontab. Каждая инструкция содержит расписание и команду на запуск задачи и представляет собой строку следующего вида:

1
2
3
4
5
6
7
8
* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)

Примеры расписаний заданий Cron

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
# Выполнять каждые 10 минут
*/10 * * * * $HOME/bin/every10min
 
# Выполнять каждый день в 06:30
30 6 * * * $HOME/bin/daily
 
# Выполнять каждый час по рабочим дням
0 * * * 1-5 $HOME/bin/hourly
 
# Выполнять в час ночи (01:00) с субботы на воскресенье
0 1 * * 7 $HOME/bin/weekly
  • Запятая (',') определяет список значений, например: "1,3,4,7,8"
  • Тире ('-') определяет диапазон значений, например: "1-6", что эквивалентно "1,2,3,4,5,6"
  • Звездочка ('*') определяет все допустимые значения поля. Например, звездочка в поле часы будет эквивалентно значению 'каждый час'..
  • Слэш ('/') может использоваться для пропуска данного числа значений. Например, "*/3" в поле часы эквивалентно строке "0,3,6,9,12,15,18,21"; "*" означает 'ежечасно', но "/3" устанавливает использовать только первое, четвертое, седьмое...и так далее значение определенное "*".
  • Если результатом выполнения команды из crontab являются какие-то выходные данные, то демон cron обычно высылает эти данные пользователю по email. Что бы отключить данную функцию для любой специфичной команды, вы можете перенаправить вывод на /dev/null. Для отключения пересылки сообщений по email из crontab добавьте в строку вызова команды: > /dev/null 2>&1

    Это позволит перенаправить вывод на устройство /dev/null, однако, если возникнут ошибки, то вы их тоже не увидите:
  • SHELL=/bin/bash означает использовать для запуска команд /bin/bash , если переменная не указана, то значение будет взято из /etc/passwd для пользователя являющимся владельцем файла.
  • HOME=/ корневой каталог для пользователя (параметр не обязательный) При необходимости доступа к специальным свойствам интерпретатора, значения переменных SHELL и HOME можно изменить, не зависимо от того, что прописано в /etc/passwd
  • MAILTO=root означает кому отсылать сообщение о результате работы команд.

9th Июл 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回