/etc/cron.hourly Directory Explained
Contains tasks executed every hour
/etc/cron.hourly directory in Linux is an integral part of the cron system, a job scheduler in
Unix-like computer operating systems. Cron enables users to schedule jobs (commands or scripts) to run periodically at
fixed times, dates, or intervals. The
/etc/cron.hourly directory contains scripts that are run every hour. The cron
daemon uses the configuration files placed in this directory to execute scripts on an hourly basis.
What does /etc/cron.hourly Contain?
/etc/cron.hourly directory contains scripts that need to be executed hourly. The scripts themselves are typically
shell scripts, though they can technically be in any scripting language, provided the script's interpreter is installed
and the script is executable.
For instance, you might have a script in
/etc/cron.hourly that backs up certain directories every hour. The scripts in
this directory are executed in alphabetical order.
A typical output of this command might look like:
How to Use /etc/cron.hourly?
To use the
/etc/cron.hourly directory, you simply have to place an executable script in it. For example, if you want
to run a script named
backup.sh every hour, you would place it in this directory.
sudo cp ~/backup.sh /etc/cron.hourly/
Ensure the script is executable with the following command:
sudo chmod +x /etc/cron.hourly/backup.sh
backup.sh will be executed every hour.
Relation to Other Directories and Commands
/etc/cron.hourly directory is part of a set of directories that
/etc/cron.monthly. These directories are used to schedule tasks that should
run daily, weekly, and monthly, respectively.
These directories are managed by the
run-parts command. The
crontab file usually has
entries that call
run-parts on these directories.
Potential Problems and Pitfalls
A common problem is the script not running as expected. This could be due to:
- The script is not executable. You can fix this with the
chmod +x yourscriptcommand.
- The script expects a certain environment which is not present when cron runs it. Remember, cron runs with a minimal environment. If your script depends on environment variables being set, you might have to source them in your script.
- Syntax errors in your script. Test your script by running it manually before placing it in the
Another potential pitfall is overloading your system by scheduling too many resource-intensive tasks to run at the same time. Make sure your hourly tasks are balanced and not causing high load on your system.
Importance of /etc/cron.hourly
/etc/cron.hourly directory is important because it allows system administrators to automate tasks that need to be
run on an hourly basis. This can include anything from system maintenance tasks, generating reports, checking for
updates, and much more. It's a vital tool for efficient system administration.