The Beginner’s Guide to Using Cron in Linux
If you are a Linux user, then you have probably heard of Cron. Cron stands for “Command Run On” and is a time-based automation tool that allows you to schedule and automate commands or scripts on your system. Cron is extremely powerful and can help you automate much of your system admin tasks like running backups, sending emails, and updating databases automatically. In this beginner’s guide, we will show you how to use Cron in Linux to schedule tasks.
Step 1 – Understanding the Cron syntax
Before we start scheduling tasks, it is essential to understand the Cron syntax. Cron syntax follows a specific format as shown below.
* * * * * command to be executed
– – – – –
| | | | |
| | | | +—– day of the week (0 – 6) (Sunday=0)
| | | +——- month (1 – 12)
| | +——— day of the month (1 – 31)
| +———– hour (0 – 23)
+————- min (0 – 59)
The syntax includes five fields: minute, hour, day of the month, month, and day of the week. Each field can contain a single value which represents that field, or it can be a list of values or a range of values separated by commas. The asterisk symbol (*) represents all possible values, while hyphens represent a range of values. For example, if you want to schedule a task to run every day at midnight, you would use the following syntax: 0 0 * * * command to be executed.
Step 2 – Scheduling Tasks
Now that you understand the syntax let’s schedule a few tasks. Let’s say you want to schedule a shell script to run automatically every day at 5 am. Here’s how you would do that:
1. Open your terminal and enter the following command: “`crontab -e“`
2. This will open up your crontab in your default text editor. Add the following line: “`0 5 * * * /path/to/your/script.sh“`
3. Save and exit the crontab file.
This command will run your shell script every day at 5 am. You can customize the timing by changing the numbers in the syntax.
Step 3 – Troubleshooting
Once you have scheduled your cron jobs, it’s essential to verify that they’re running correctly. Here are some ways to troubleshoot:
1. Use the “`tail“` command to examine the syslog file: The syslog file contains system messages, including messages from cron jobs. You can open the syslog file with the following command: “`tail -f /var/log/syslog“`. This command will show the most recent syslog entries, including messages from your cron jobs.
2. Run Cron with the “`test“` command: You can run the test command to simulate a cron job and see if it works. For example, if your cron job is scheduled to run every day at 5 am, you can use the following command to test it: “`/usr/bin/sudo -u username /path/to/command“`. Replace the username and path with the actual values of your cron job.
In conclusion, Cron is a powerful tool that can help you automate many of your daily tasks in Linux. With the examples and tips provided in this guide, you should now be able to schedule and run your own cron jobs. Remember to be careful when scheduling tasks and ensure that your commands are tested and working correctly before scheduling them.