Версия: 1.6.0
Сrontab – служба таблиц, управляющих работой службы cron.
Crontab управляет доступом пользователя к службе cron путем копирования, создания, выдачи содержимого и удаления файлов crontab, таблиц заданий. При вызове без опций crontab копирует указанный файл или стандартный входной поток (если файл не указан) в каталог, в котором хранятся пользовательские таблицы заданий cron. Для создания, изменения и удаления файлов cron используется утилита crontab.
Контактная информация:
Проект GitHub
Разработчик:
Paul Vixie ⟨vixie@isc.org⟩
Colin Dean ⟨colin@colin-dean.org⟩
Лицензия:
custom:BSD
Синтаксис:
crontab [options] file
crontab [options]
crontab -n [hostname]
Опции:
Опция | Описание |
---|---|
-u <пользователь> | Задать пользователя |
-e | Редактировать crontab пользователя |
-l | Просмотреть crontab пользователя |
-r | Удалить crontab пользователя |
-i | Запросить подтверждение перед удалением |
-n <хост> | Установить хост в кластере для запуска crontab пользователей |
-c | Получить хост в кластере для запуска crontab пользователей |
-T <файл> | Проверить синтаксис файла crontab |
-V | Вывести версию и выйти |
-x | <маска> Включить отладку |
Операция по умолчанию - заменить.
Файл содержит инструкции службы cron в общей форме: запускать указанную команду в заданное время и в заданные дни. На компьютере обычно имеются общесистемный файл (/etc/crontab) и индивидуальные файлы (/var/spool/cron/) для пользователей системы. Таким образом, команды в файле будут выполняться с правами этих пользователей или, в случае общесистемного файла, с правами пользователя, указанного в командной строке при запуске службы. У служб Uucp и News обычно есть свои собственные crontab, устраняющие необходимость в явном запуске su в рамках команды cron.
Пустые строки, ведущие пробелы и символы табуляции игнорируются. Строки, начинающиеся с символа «#», считаются комментариями и игнорируются. Заметьте, что комментарии не допускаются в тех же строках, где расположены команды cron, так как они будут распознаны как части команды. По этой же причине комментарии не разрешены в строках, задающих переменные среды.
Строка-директива представляет собой либо задание переменной среды, либо команду cron.
Задание переменной среды:
Можно определять среду (набор переменных среды), в которой будет выполняться команда. Задание переменной среды осуществляется в следующей форме:
<имя_переменной> = <значение>
где пробелы вокруг знака равенства («=») необязательны, и любые пробелы после будут использованы как часть значения переменной . Строка может быть заключена в кавычки (одинарные или двойные) для возможности сохранения пробелов в начале и конце.
Несколько переменных среды устанавливаются автоматически службой cron. SHELL устанавливается в /bin/sh, а LOGNAME и HOME определяются по файлу /etc/passwd (в соответствии с владельцем crontab). Значения переменных HOME и SHELL можно переопределить директивами crontab.
В дополнение к LOGNAME, HOME и SHELL cron может использовать переменную MAILTO в случаях, если в данном crontab была указана отправка почты. Если MAILTO определена (и не пуста), электронная почта отправляется указанному в переменной пользователю. Если MAILTO определена, но пустая (MAILTO = ' '), электронная почта отправляться не будет. В противном случае, почта посылается владельцу crontab. Эта переменная полезна при запуске команд от псевдопользователей, для которых не определены почтовые адреса в системе.
Команды cron:
Существует две конфигурации cron: системная и пользовательская.
Для редактирования файла необходимо ввести команду:
crontab -e
Для просмотра содержимого расписания:
crontab -l
Каждая стока в системной конфигурации cron, расположенной в каталоге /etc, состоит из шести полей и команды:
<минута> <час> <число> <месяц> <день_недели> <пользователь> <команда>
Каждая строка в пользовательской конфигурации cron, расположенной в домашнем каталоге пользователя, состоит из пяти полей и команды:
<минута> <час> <число> <месяц> <день_недели> <команда>
Поля отделяются друг от друга пробелами или символами табуляции. Команда может состоять из нескольких полей. Допустимые значения полей:
Поле | Допустимые значения |
---|---|
<минута> | * или 0-59 |
<час> | * или 0-23 |
<число> | * или 1-31 |
<месяц> | *, 1-12 или имя месяца (см. ниже) |
<день_недели> | *, 0-7 или имя дня (воскресенье - это 0 и 7) |
<пользователь> | имя существующего пользователя |
<команда> | строка |
Для установки программного обеспечения в определенное время следует открыть терминал и ввести:
sudo crontab -e
Crontab будет открыт в текстовом редакторе, который установлен по умолчанию.
Далее добавить задачу (Установка программ "gparted" и "htop" 1 января 2024г. в 13:00):
0 13 1 1 1 /usr/bin/pacman -S --noconfirm gparted htop
Где:
Для обновления ПО по расписанию следует открыть терминал и ввести:
sudo crontab -e
Crontab будет открыт в текстовом редакторе, который установлен по умолчанию.
Далее добавить задачу (Обновление ПО каждый вторник в 13:30):
30 13 * * 2 /usr/bin/pacman -Syu --noconfirm
Где:
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".