If I create a script and then place it in this folder (/etc/cron.hourly), will my system run this script hourly? Or does my script need to begin with a command as well?
3 Answers
Every script placed in folder /etc/cron.hourly
would run on hourly basis.
However your files needs to be:
- executable,
- match the Debian cron script namespace
(^[a-zA-Z0-9_-]+$)
.
So for example if you've script with extension, it won't work.
To print the names of the scripts which would be invoked, run:
sudo run-parts --report --test /etc/cron.hourly
-
Is there any reasonable explanation why file name extensions are considered bad in that context...?– HinzCommented Aug 4, 2023 at 9:07
Yep, you got it.
Just start it with a #!/bin/bash
like you normally would. And make sure you sudo chmod +x /etc/cron.hourly/yourscript
because it won't run without execute permissions.
Anything in /etc/cron.hourly
will be executed hourly, just like anything in /etc/cron.daily
will be run once a day.
Make sure the file is executable, and start it with #!/bin/bash
or #!/usr/bin/python
(or #!/usr/bin/env python
) or whatever is appropriate for the type of script you'll be running.