Инструкция по добавлению заданий в Crontab через Shell

Материал из AOW

Перейти к: навигация, поиск

Формат crontab файла.

Файл crontab содержит инструкции для демона cron в общей форме: "запустить эту команду в указанное время, определенной даты". Каждый пользователь имеет свою собственную crontab.

Пусты строки, лидирущие пробелы и табуляции игнорируются. Строки, у которых первый символ решетка (#) считаются комментариями, и игнорируются тоже. Заметим, что комментарии не допускаются в тех же строках, где расположены команды, так как они будут распознаны как части команды. По этой же причине комментарии не разрешены в тех же строках, что устанавливают переменные окружения.

Активная строка в crontab представляет собой либо установку переменной окружения или команду для cron. Установка переменной окружения осуществляется в следующей форме:

имя_переменной = величина

где пробелы вокруг знака равентсва (=) необязательны, и любые последующие пробелы после величины будут поняты как часть величины присвоенной имени_переменной. Строка величина может быть помещена в кавычки (одинарные или двойные) для сохранения пробелов в начале и конце.

Каждая стока имеет пять полей времени и поле даты, за которыми следуют имя пользователя, если это системный crontab файл, и команда. Команды запускаются с помощью cron когда поля минута, час и месяц года совпадут с текущим временем и когда одно из полей дня (день месяца, или день недели) совпадут с текущими (смотрите замечание ниже).

cron проверяет записи в crontab каждую минуту. Поля времени и даты это:

поле                 допустимые значения
-----                -------------------
минуты		      0-59
часы                  0-23
дни месяца            0-31
месяц                 0-12 (или название месяца, см.ниже)
день недели           0-7  (0  или 7 - это Воскресение, или имена дней
                           недели)

Поле может содержать звездочку (*), которая всегда обозначает значения от первого до последнего.

Допускается также применение диапазонов чисел. Диапазоны это два числа, разделенные тире. Заданные диапазоны включают в себя значения от первого значения диапазона до последнего. Например, 8-11 для поля "часы" определяет запуск в 8,9,10 и 11 часов.

Позволяются также и списки. Список это числа (или диапазоны) разделенные запятыми. Например: "1,2,5,9", "0-4,8-12".

Значения шага можут быть использованы для пропусков в диапазонах. Следуя за диапазоном "/<число>" определяет что будет пропущено число значений этого диапазона. Например, "0-23/2" может быть использовано в поле часы для назначения запуска команды через час

Шаги также доступны после звездочки. так что если вы хотите сказать "каждые два часа", то используйте "*/2".

Для полей "месяц" и "день недели" могут быть использованы имена. Используйте первые три буквы нужного дня или месяца (регистр букв не имеет значения). Диапазоны или списки имен не разрешены.

Поле с номером "шесть" (остаток стоки) определяет команду для запуска. Полная командная порция строки, завершенная переводом сторки или символом %, будет выполненна /bin/sh или другим shell'ом определенным в переменной SHELL в crontab. Если знак процента (%) в команде, предваряется обратной косой чертой (\), то он будет заменен на символ

Замечание: День выполнения команды может быть задан в двух полях месяца, и день недели. Если оба поля защищены (т.е не являются *), то команда будет запущена, когда любое поле совпадет с текущим вренем. Например запись: "30 4 1,15 * 5" должна заставить команду запустится в 4:30 по полуночи первого и пятнадцатого каждого месяца плюс в каждую Пятницу. Для обслуживания Crontab файлов пользователей используется команда crontab.

СИНТАКСИС

      crontab [ -u пользователь ] файл
      crontab [ -u пользователь ] { -l | -r | -e }

crontab это программа, используемая для установки, деустановки или получения списка таблиц, которые использует для управления демон cron.

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

Если задана опция -u то она задает имя пользователя чей crontab будет обработан. Если опция не задана, то будет обработан ваш crontab т.е. той персоны, которая запустила команду.

Первая форма этой команды используется для устновки новой crontab из какого-нибудь файла или стандартного ввода если задано псевдо-имя "-".

Опция -l выводит текущих crontab файл на стандартный вывод.

Опция -r удаляет текущий crontab файл.

Опция -e используется для редактирования текущего crontab используя редактор, заданный переменной окружения VISUAL или EDITOR. После вашего выхода из редактора, отредактированный crontab будет установлен автоматически.

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru