| CRON(8) | Руководство пользователя cron | CRON(8) |
НАИМЕНОВАНИЕ¶
cron - демон для выполнения запланированных команд
СИНОПСИС¶
cron [-f] [-l] [-L loglevel] [-n fqdn] [-x debugflags]
cron [-N]
ОПИСАНИЕ¶
cron непосредственно вызывается systemd(1) при входе в многопользовательские уровни выполнения.
ОПЦИИ¶
-f
-l
-n fqdn
-N
-L loglevel
1
2
4
8
По умолчанию регистрируется запуск всех заданий jobs (1). Ведение журнала будет отключено, если установлено нулевое значение (0). При значении пятнадцать (15) будут выбраны все опции.
-x debugflags
1
2
4
8
16
32
64
128
ПРИМЕЧАНИЯ¶
Демон cron выполняет поиск файлов crontab в каталоге (/var/spool/cron/crontabs/); эти файлы именуются также как именуются учетные записи в файле /etc/passwd); найденное загружаются в память. Примечание. Обратите внимание, что к crontabs в этом каталоге не следует обращаться напрямую - для доступа к нему и его обновлению следует использовать команду crontab(1)..
Демон cron также считывает файл /etc/crontab, который имеет несколько иной формат (смотрите crontab(5)). В Debian содержимое /etc/crontab предопределено для запуска /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly. Эта конфигурация специфична для Debian, смотрите примечание в разделе СПЕЦИФИКА DEBIAN ниже.
Кроме того, в Debian cron считывает файлы из каталога /etc/cron.d. cron обрабатывает файлы в /etc/cron.d так же, как и файл /etc/crontab (они соответствуют специальному формату этого файла, т.е. включают поле user). Однако они не зависят от /etc/crontab: например, они не наследуют от него настройки переменных окружающей среды. Это изменение относится только к Debian, смотрите примечание в разделе СПЕЦИФИКА DEBIAN ниже.
Как и в случае с /etc/crontab, изменения в файлах в каталоге /etc/cron.d отслеживаются. Системный администратор может создавать задания cron в файле /etc/cron.d/ с названиями файлов типа "local" или "local-food".
/etc/crontab and the files in /etc/cron.d must be
owned by root, and must not be group- or other-writable. In contrast to the
spool area, the files under /etc/cron.d or the files under
/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly and
/etc/cron.monthly may also be symlinks, provided that both the symlink
and the file it points to are owned by root. The files under
/etc/cron.d do not need to be executable, while the files under
/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly and
/etc/cron.monthly do, as they are run by run-parts (see
run-parts(8) for more information).
Демон cron запускается каждую минуту, просматривает все сохраненные crontabs, проверяя каждую команду, чтобы узнать, следует ли ее запускать в текущую минуту. При выполнении команд любые выходные данные отправляются владельцу crontab (или пользователю, указанному в переменной среды окружения MAILTO в файле crontab, если таковой существует) от владельца файла crontab (или с адреса электронной почты, указанного в переменной среды окружения MAILFROM в файле crontab, если таковой существует). Дочерние копии cron, выполняющие эти процессы, имеют заглавные буквы в своих именованиях, что будет видно в системном журнале и выходных данных ps(1).
Кроме того, демон cron каждую минуту проверяет, не изменился ли его каталог spoolu0432]ремя изменения Aqs или время изменения в файле /etc/crontab и если это так, то демон cron проверит время изменения во всех crontabs и перезагрузит те, которые изменились. Таким образом, cron не нужно перезапускать всякий раз, когда изменяется crontab. Примечание. Команда crontab(1) обновляет время изменения каталога spool всякий раз, когда она изменяет crontab.
Специальное решение требуется тогда, когда время изменяется на менее чем на 3 часа, например, в начале и в конце летнего времени. Если время переведено вперед, то те задания, которые должны были выполняться в пропущенное время, будут выполнены вскоре после изменения. И наоборот, если время сдвинуто назад менее чем на 3 часа, то те задания, которые попадают в "повторное время", повторно выполняться не будут.
Это затрагивает только те задания, которые выполняются в определенное время (т.е. время, не указанное как @hourly или не указанное с помощью '*в определении часа или минуты). Задания, указанные с помощью подстановочных знаков, немедленно выполняются в соответствии с новым временем.
Изменение времени более чем на 3 часа считается корректировкой времени и новое время используется немедленно .
Демон cron записывает свои действия в системный журнал "cron", а содержимое журнала можно просматривать с помощью стандартного средства syslogd(8).
ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ¶
При настройке в /etc/default/cron в системах Debian настройки переменных локализации окружающей среды демона cron могут осуществляться с помощью файла /etc/environment или с помощью файла /etc/default/locale, при этом значения из последнего файла являются приоритетными по отношению к первому. Эти файлы считываются и будут использоваться для настройки переменных окружающей среды LANG, LC_ALL и LC_CTYPE. Эти переменные затем используются для установки кодировки сообщений электронной почты, которая по умолчанию равна 'C'.
Это "НЕ" NOTвлияет на переменные окружающей среды задач, выполняемых демоном cron. Для получения дополнительной информации о том, как изменить переменные окружающей среды задач, обратитесь к crontab(5).
Демон будет использовать, если это установлено, определение часового пояса из файла /etc/localtime.
Переменные окружающей среды могут быть переопределены в пользовательских определениях user's crontab, но тогда демон cron будет обрабатывать задачи только в одном часовом поясе.
СПЕЦИФИКА DEBIAN¶
Debian вносит в демон cron некоторые изменения, которые не были доступны в его первоначальной версии. Наиболее значимыми изменениями являются:
Поддержка файлов /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly осуществляется в Debian с помощью настроек по умолчанию в файле /etc/crontab (смотрите пример в crontab(5)). По умолчанию system-wide crontab содержит четыре задачи: запускаться каждый час - run every hour, каждый день - every day, каждую неделю - every week и каждый месяц - every month. Каждая из этих задач будет выполняться run-parts(8), использующей каждый из каталогов в качестве аргумента. Эти задачи отключаются (кроме почасовых задач) если установлен демон anacron(8) , для того чтобы предотвратить конфликты между обоими демонами.
Как сказано выше, файлы в этих каталогах должны соответствовать следующим требованиям: быть исполняемыми, принадлежать пользователю root, быть недоступными для записи группой или чем-либо еще, а символические ссылки указывающие на эти файлы, также должны принадлежать пользователю root. Кроме того, именования файлов должны соответствовать требованиям к именованиям файлов команды run-parts: они должны содержать только буквы и цифры, а также они могут содержать только специальные знаки подчеркивания ('_') и дефисы ('-')).. Любой файл, который не соответствует этим требованиям, не будет выполнен с помощью run-parts(8). Например, любой файл, содержащий точки, будет проигнорирован. Это сделано для предотвращения запуском cron любых файлов, которые остаются в системе управления пакетами Debian при обработке файлов в /etc/cron.d/ в качестве файлов конфигурации (это могут быть файлы, заканчивающиеся на .dpkg-dist, .dpkg-orig, .dpkg-old, and .dpkg-new).
Это свойство может использоваться системными администраторами и сопровождающими для включения задач, которые будут выполняться с определенными интервалами. Файлы, создаваемые пакетами в этих каталогах, должны быть одноименными с пакетом, который их предоставляет.
Поддержка файла /etc/cron.d включена в демон cron, который обрабатывает их местоположение как общесистемный каталог crontab spool. Этот каталог может содержать любой файл, определяющий задачи, в формате, используемом в файле /etc/crontab,т. е. в отличие от пользовательского списка заданий cron, в этих файлах должно быть указано имя пользователя для запуска задачи, как в описании задачи.
Файлы в этом каталоге должны принадлежать пользователю root, они не обязательно должны быть исполняемыми (это файлы конфигурации, типа /etc/crontab) и должны соответствовать тому же соглашению об именовании, которое используется в run-parts(8): они должны содержать только буквы верхнего и нижнего регистра, цифры, знаки подчеркивания и дефисы. Это означает, что они не должны содержать никаких точек. Если для опции cron -l указано значение (эту опцию можно определить с помощью файла /etc/default/cron, смотрите ниже), то наименования этих файлов должно соответствовать требованиям стандарта LSB (Linux Standard Base), точно таким же, как и для опции --lsbsysinit в run-parts(8).
Предполагаемое назначение этого свойства - разрешать пакетам, которым требуется более точное планирование, нежели с помощью каталога /etc/cron.{ежечасно, ежедневно, еженедельно, ежемесячно}, создавать, в каталоге /etc/cron.d, дополнительно к файлу crontab, другие файлы . Эти, другие, файлы должны именоваться также как и пакет, который их предоставляет.
Кроме того, настройкой демона cron, по умолчанию, также управляет файл /etc/default/cron, который считывается скриптом init.d, запускающим демон cron. Этот файл определяет, будет ли демон cron считывать системные переменные окружения 's и позволяет добавлять дополнительные опции в демон cron перед его запуском, либо для настройки журнала, либо для определения того, как он будет обрабатывать файлы в /etc/cron.d.
СМОТРИТЕ ТАКЖЕ¶
АВТОРЫ¶
Paul Vixie <paul@vix.com>
Steve Greenland <stevegr@debian.org>
Javier Fernández-Sanguino Peña <jfs@debian.org>
Christian Kastner <ckk@debian.org>
Georges Khaznadar <georgesk@debian.org>
АВТОРСКИЕ ПРАВА¶
Авторское
право с 1994
года
принадлежит
Полу Викси
(Paul Vixie)
Эту программу можете свободно распространять , за исключением следующего: не удаляйте мое имя из исходного кода или документации (не присваивайте себе мою работу), помечайте свои изменения (не обвиняйте меня в возможных ошибках), не изменяйте и не удаляйте это примечание. Эта программное изделие может быть продано, если покупатель будет поставлять в сборке её исходный код. Данное программное обеспечение не предоставляет никаких гарантий, явных или подразумеваемых; вы используйте его на свой страх и риск, ответственность за ущерб (если таковой имеется), причиненный кому-либо в результате использования данного программного обеспечения, полностью лежит на его пользователе.
Начиная с 1994 года, в эту страницу руководства было внесено множество изменений, автором которых были разработчики Debian, которые поддерживали демон cron; выше был приведен краткий список, более подробную информацию можно найти в файле /usr/share/doc/cron/copyright.
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Aleksandr Felda <afelda@ro.ru>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 15 октября 2026 г. | cron |