Руководства по командной строке

Man » crontab Manual online — подробная онлайн-документация для страницы руководства crontab

🌍
crontab — программа для управления файлами crontab для отдельных пользователей (Vixie Cron)

СИНТАКСИС

crontab [-h]

crontab [-u user] [-n] file

crontab [-u user] [-i] {-e | -l | -r}

ОПИСАНИЕ

crontab — это программа, используемая для установки, удаления или просмотра таблиц, которые используются для управления демоном cron(8) в Vixie Cron. Каждый пользователь может иметь свой собственный файл crontab, и, хотя это файлы в /var/spool/cron/crontabs, их не следует редактировать напрямую.

Если файл /etc/cron.allow существует, то вы должны быть указаны (один пользователь на строку) в нем, чтобы иметь возможность использовать эту команду. Если файл /etc/cron.allow не существует, но файл /etc/cron.deny существует, то вы не должны быть указаны в файле /etc/cron.deny, чтобы иметь возможность использовать эту команду.

Пожалуйста, убедитесь, что разрешения файла /etc/cron.allow позволяют пользователям, которым разрешено использовать команду, читать его. Например, разрешения rw- r-- r-- (восьмеричное 644) должны быть в порядке.

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

Если указан параметр -h, crontab отображает сообщение справки и немедленно завершает работу.

Если указан параметр -u, он указывает имя пользователя, чей файл crontab следует использовать (при просмотре) или изменить (при редактировании). Если этот параметр не указан, crontab проверяет файл crontab «вашего» пользователя, то есть файл crontab пользователя, выполняющего команду. Обратите внимание, что su(8) может привести к ошибкам в работе crontab, и если вы работаете в su(8), всегда следует использовать параметр -u в целях безопасности.

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

Если указан параметр -n, это означает «пробный запуск»: crontab проверяет файл crontab «вашего» пользователя на наличие синтаксических ошибок и выводит сообщение об успехе, если синтаксис верен, но ничего не записывает в какой-либо файл crontab.

Параметр -l отображает текущий файл crontab на стандартном выводе. См. примечание в разделе «СПЕЦИФИЧНО ДЛЯ DEBIAN» ниже.

Параметр -r удаляет текущий файл crontab.

Параметр -e используется для редактирования текущего файла crontab с помощью sensible-editor(1). После выхода из редактора измененный файл crontab будет автоматически установлен.

Параметр -i изменяет параметр -r, чтобы запросить у пользователя подтверждение «y/Y», прежде чем фактически удалить файл crontab.

СПЕЦИФИКА ДЛЯ DEBIAN

По умолчанию, команда crontab -l отображает трехстрочный заголовок "НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ", который помещается в начало файла crontab при его установке. Проблема в том, что это делает последовательность

`crontab -l | crontab` неидемпотентной — вы продолжаете добавлять копии заголовка. Это создает проблемы для скриптов, которые используют `sed`
для редактирования crontab. Поэтому поведение опции `-l` по умолчанию изменено, чтобы она не
выводила этот заголовок. Вы можете получить исходное поведение, установив переменную среды
`CRONTAB_NOHEADER` в значение `N`, что приведет к тому, что команда `crontab -l` будет выводить дополнительный заголовок.

ВЫДЕЛЕНИЕ ВЫВОДА КОМАНДЫ CRONTAB -L

Команда crontab -l выводит обычный текст. Если терминал поддерживает ANSI-последовательности для цветового выделения этого текста, вы можете выделить вывод, используя: crontab -l | spc -t crontab, когда фон терминала темный, или crontab -l | spc -t crontab-light, когда фон светлый.

Схему выделения можно изменить, используя пользовательские версии файлов /etc/supercat/spcrc-crontab*.

Вы также можете выделить этот текст с помощью программы batcat(1), поставляемой в пакете bat, вот пример:

`crontab -l | batcat --language Crontab`

СМОТРИТЕ ТАКЖЕ

crontab(5), cron(8), spc(1)

ФАЙЛЫ

`/etc/cron.allow`, `/etc/cron.deny`

Если файлы /etc/cron.allow и /etc/cron.deny существуют, они должны быть либо доступными для чтения всем пользователям, либо доступными для чтения группе crontab. Если это не так, то cron(8) будет отказывать всем пользователям в доступе до тех пор, пока разрешения не будут исправлены.

`/var/spool/cron/crontabs`

В каталоге /var/spool/cron/crontabs есть один файл для crontab каждого пользователя. Пользователям не разрешается напрямую редактировать файлы в этом каталоге, чтобы гарантировать, что только пользователи, которым разрешено системой запускать периодические задачи, могут их добавлять, и что в этот каталог будут записываться только синтаксически правильные crontab. Это обеспечивается тем, что каталог доступен для записи только группе crontab и что команда crontab настроена с установленным битом setgid для этой группы.

СТАНДАРТЫ

Команда crontab соответствует стандарту IEEE Std1003.2-1992 ("POSIX"). Этот новый синтаксис команд отличается от предыдущих версий Vixie Cron, а также от классического синтаксиса SVR3.

СООБЩЕНИЯ ОБ ОШИБКАХ

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

cron(8) требует, чтобы каждая запись в crontab заканчивалась символом новой строки. Если последней записи в crontab не хватает символа новой строки, то cron(8) сочтет crontab (по крайней мере, частично) недействительным и откажется его устанавливать.

Файлы в каталоге /var/spool/cron/crontabs именуются на основе имени учетной записи пользователя. Задачи crontab не будут выполняться для пользователей, учетные записи которых были переименованы либо из-за изменений в локальной системе, либо потому, что они управляются через центральную базу данных пользователей (внешнюю для системы, например, каталог LDAP).

АВТОРЫ

Пол Викси <_> Написал эту страницу руководства (1994).

Стив Гринланд <_> Поддерживал пакет (1996-2005).

Хавьер Фернандес-Сангвиньо Пена <_> Поддерживал пакет (2005-2014).

Кристиан Кастнер <_> Поддерживал пакет (2010-2016).

Жорж Хазнадар <_> Поддерживал пакет (2022-2024).

АВТОРСКИЕ ПРАВА

Авторское право © 1994 Пол Викси

Распространяйте свободно, за исключением: не удаляйте мое имя из исходного кода или документации (не присваивайте себе мои заслуги), отмечайте свои изменения (чтобы меня не обвиняли в ваших возможных ошибках), не изменяйте и не удаляйте это уведомление. Может продаваться, если покупателю предоставляется возможность получить исходный код для сборки. Никакая гарантия, явная или подразумеваемая, не прилагается к этому программному обеспечению; используйте его на свой страх и риск, ответственность за любые убытки, причиненные кому-либо в результате использования этого программного обеспечения, лежит исключительно на пользователе.

С 1994 года в эту страницу руководства было внесено множество изменений, внесенных разработчиками Debian, которые поддерживали cron(TM); выше приведен краткий список, более подробную информацию можно найти в файле /usr/share/doc/cron/copyright.