Возможно, этот список поможет:
<& (Digit) Дублирует стандартный ввод из файлового дескриптора, указанного параметром Digit
> & (Digit) Дублирует стандартный вывод в дескрипторе файла, заданном параметром Digit
<& - Закрывает стандартный ввод
> & - Закрывает стандартный вывод
{{1 }}/etc/crontab
— историческое место для «системных» заданий. Он не обязательно используется во всех системах (, например, RedHat 7 и производные имеют «пустую» запись ), или могут иметь команды для вызова cron.daily
и другие.
/etc/cron.d/*
— это, по сути, то же самое, что и /etc/crontab
, но разбитое на отдельные файлы. Это позволяет пакетам легко добавлять новые записи cron; просто поместите их в этот каталог.
Так, например, на CentOS 7:
% rpm -ql sysstat | grep cron
/etc/cron.d/sysstat
% sudo cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
Вы можете видеть, что эти записи соответствуют тому, что иначе было бы в /etc/crontab
.
До разработки cron.d
скрипт должен был отредактировать /etc/crontab
, чтобы выполнить ту же работу, что является более сложной работой и может пойти не так.
/var/spool/cron/crontabs
— это содержимое, которым управляет команда crontab
.
Итак...
Если задание cron должно быть развернуто пакетом, пакет должен поместить файл в /etc/cron.d/
. Инструменты автоматизации предприятия также могут это делать.
Если системный администратор (или любой другой пользователь )захочет добавить задание cron с помощью crontab -e
, оно будет помещено в/var/spool/cron/crontabs/