, ,

What is cron?

Today in this blog we will try to cover some of the basics of cron and cronjobs. Cron is a demon (background process) or is said to be a system executable file that runs tracks we scheduled on our system at a particular time.

If the cron demon service is not running then the scheduled corncobs won’t get triggered on the scheduled timings. You can find the background process state as below:

What is crontab?

Crontab is a client program or utility that is being used for users to schedule/remove automated jobs. Cronjobs can be scheduled per users on a system.

Cron demon reads the crontab file and performs the assigned tasks. We open a crontab file using the following commands.

Crontab -l   [ list of our crons ]

If there are no scheduled tasks, then it would simply message out saying that there is no crons. 

Crontab -e [ to edit the cron file ]

Use this command to schedule the task. Then we list the cron file.

How to schedule cron tasks:

There are multiple ways of scheduling a cronjob

  • Adding a cronjob directly using crontab -e
  • Adding the cronjob in /var/spool/cron/crontabs/cronfilename

The schedule on cron jobs using  5 asterisk (*) as below

Cron scheduling format

*    *    *   *    *  Command_to_execute
|    |    |    |   |       
|    |    |    |    Day of the Week ( 0 - 6 ) ( Sunday = 0 )
|    |    |    |
|    |    |    Month ( 1 - 12 )
|    |    |
|    |    Day of Month ( 1 - 31 )
|    |
|    Hour ( 0 - 23 )
Min ( 0 - 59 )



Each user crontab file is stored inside the folder /var/spool/crontabs/user_name

 NOTE :System crontabs are stored in /etc/cron.d

Crontab -r [ Clear/Delete all the scheduled crons ]

One of most dangerous command to be run on a production environment as it might clear off all the scheduled cronjob without taking a backup. Always be beware of running this command on an production environment. If a server is going to be decommissioned on going to be repurposed them doing such operations would help to clean up but still do not delete without taking a backup of all cronjobs.

How to take Cronjobs Backup in a file ?

listing out all the cronjob and redirecting that output to a file would allow you to backup all the cronjobs of that particular user.

crontab -l > /home/root/crontab_root_20211006.bkp

Usage of Cronjobs

  • Automate the  backups
  • Daily routine tasks automation
  • Clear the log file at any particular time

References and tools around Cronjob Scheduler

https://crontab.guru – Tool to convert cron schedule expressions

https://man7.org/linux/man-pages/man5/crontab.5.html – crontab manual

Please follow our blogs to stay updated with out contents