Формат crontab-файлов
Категория: Периодические процессы | Автор: admin | 9-11-2009, 13:39 | Просмотров: 8769

Все crontab-файлы в системе имеют общий формат. Комментарии начинаются со знака решетки (#) в первой позиции строки. Каждая строка, не являющаяся комментарием, содержит шесть полей и представляет одну команду:

минуты часы день месяц день_недели команда

 

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

В полях минуты, часы, день, месяц и день_недели дается информация о времени запуска команды. Описание этих полей приведено в табл. 9.1.

Таблица 9.1. Спецификации времени в crontab-файле

Поле

Описание

Диапазон

минуты

Минуты часа

от 0 до 59

часы

Часы дня

от 0 до 23

день

День месяца

от 1 до 31

месяц

Месяц года

от 1 до 12

день_недели

День недели

от 0 до 6 (0 - воскресенье)

 

Каждое из вышеуказанных полей может содержать:

  • звездочку, которая означает любую цифру;
  • целое число, задающее отдельный элемент даты;
  • два разделенных дефисом целых числа, соответствующих диапазону значений.
  • целые числа или диапазоны, разделенные запятыми и соответствующие любому из указанных значений.

Например, спецификация

45    10    *    *    1-5

 

означает "10 часов 45 минут, с понедельника по пятницу".

С полями день_недели и день сопряжена потенциальная двусмысленность, которую необходимо учитывать. Каждый день является и днем недели, и числом месяца. Если указаны оба этих поля, то подпадающему под их действие дню достаточно удовлетворять одному из двух требований, чтобы пройти отбор. Например, спецификация

0,30   *   13   *   5

 

означает "каждые полчаса по пятницам и каждые полчаса тринадцатого числа месяца", но не "каждые полчаса в пятницу тринадцатого числа".

Поле команда содержит командную строку, подлежащую выполнению интерпретатором sh. Это может быть любая допустимая команда интерпретатора, причем без кавычек. Считается, что поле команда продолжается до конца строки и может содержать пробелы и символы табуляции. Принадлежащий суперпользователю crontab-файл может включать команды, выполняемые от имени произвольного пользователя. Они предваряются строкой /bin/su имя пользователя .

 

Большинство версий демона cron допускают использование знака процента (%) вместо символа новой строки в поле команда. В реальную команду включается только текст до первого знака процента; остальные строки передаются команде в качестве стандартного входного потока.

Вот некоторые примеры допустимых команд в crontab-файле:

echo The time is now "date' > /dev/console

write garth % Hi Garth. % Remember to get a job.

cd /ets; /bin/mail -s "Passwords file" evi < passwd

 

А вот полные примеры записи:

30    2    *    *    1    (cd /users/joe/project; make)

 

Эта строка будет активизироваться в 2:30 по понедельникам. Она инициирует выполнение команды make в каталоге /users/joe/project. Ее можно использовать для запуска продолжительной компиляции на время, пока в системе не работают другие пользователи. Вся выходная информация команды cron обычно посылается по электронной почте "владельцу" команды .

20    1    *    *    *    find /tmp -atime +3 -exec rm -f ()   ';'

 

Данная команда будет выполняться каждый день в 1:20. Она удаляет из каталога /tmp все файлы, к которым за последние 72 часа пользователи ни, разу не обратились.

55    23    *    *    0-3,6    /staff/trent/bin/acct-script

 

А эта строка запускает команду acct -script в 23:55 каждый день, кроме четверга и пятницы.



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page