что такое run-parts в / etc / crontab и как его использовать

26

Я копался в моей системе Linux. Чтобы попытаться понять, как все это работает

В файле / etc / crontab. Я вижу следующее

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Что такое run-parts, что он делает и как его использовать.

nelaaro
источник

Ответы:

35

В основном, run-parts(8)принимает каталог в качестве аргумента.

Он будет запускать каждый скрипт, который находится в этом каталоге. Например, если вы сделаете листинг /etc/cron.hourly, вы увидите, что это каталог, куда вы можете помещать исполняемые файлы для запуска каждый час.

Как видите, cronон используется для удобства, так как вам нужно указать только один каталог, и все в этом каталоге будет выполнено. Это позволяет легко поддерживать скрипты в одном из etc/cron*каталогов.

См. Его man-страницу для большего количества опций, которые могут быть использованы для ваших собственных вариантов использования. Например, вы можете выполнить простую проверку и показать, какие сценарии будут выполняться:

run-parts -v –-test /etc/cron.hourly

-vФлаг не может быть везде.

slhck
источник
1
Для чего rootнужна порция?
Джейк N
1
@jakenoble rootозначает, что команда ( run-partsв данном случае) будет запущена от имени пользователя root
Стефан Хаберл
7
Обратите внимание, что в CentOS (по крайней мере, el5) run-parts представляет собой bash-скрипт, который не имеет никаких опций, поэтому вы получите «-v не каталог». Или, по крайней мере, это то, что он показал мне в моей системе.
Nux