Различия между `/ etc / crontab`, файлами в` / etc / cron.d / `и` / var / spool / cron / crontabs / root`?

Возможно, этот список поможет:

<& (Digit) Дублирует стандартный ввод из файлового дескриптора, указанного параметром Digit

> & (Digit) Дублирует стандартный вывод в дескрипторе файла, заданном параметром Digit

<& - Закрывает стандартный ввод

> & - Закрывает стандартный вывод

{{1 }}
5
31.10.2018, 20:34
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/

7
28.04.2021, 23:40

Теги

Похожие вопросы