what is run-parts in /etc/crontab, and how do I use it
I have been digging through my Linux system. To try and understand how it all works
In the /etc/crontab file. I see the following
# 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
What is run-parts, what does it do, and how can I use it.
Basically, run-parts(8)
takes a directory as an argument.
It will run every script that is found in this directory. For example, if you do a listing of /etc/cron.hourly
, you'll see that it's a directory where you can put executable files to be run every hour.
As you can see, in cron
it's used for convenience, since you only have to specify one directory and everything in that directory will be executed. This makes it easy to maintain scripts in one of the etc/cron*
directories.
See its manpage for more options that could be exploited for your own use cases. You could for example do a simple check and show which scripts would be run:
run-parts -v –-test /etc/cron.hourly
The -v
flag might not be available everywhere.