How to schedule crontab in Unix Operating Systems

How to schedule crontab in Unix Operating Systems.

 
If you need to run some script at a specific time in a Unix box and wish to do so without manually executing it you could leverage on a program called cron. Through cron you can schedule a script to be executed at any specific time you wish. However the lowest value of time that can be scheduled is minute.

Crontab - Crontab is where you configure what interval and which script to execute.

To see crontab entry.
[root@myserver]# crontab -l

To edit crontab entry.
[root@myserver]# crontab -e


How to schedule cron to execute a script.
You have to edit the crontab to the below format in order for cron to execute your script at your desired time.
*  *  *  *  *  /root/script.sh
| | |  | |
| | |  | |
| | |  | |_____  day of week (0 - 6) (0 to 6 are Sun to Sat)
| | |  |_______ month (1 - 12)
| | |_________ day of month (1 - 31)
| |___________ hour (0 - 23)
|_____________ min (0 - 59)


Examples.
To execute script /root/script.sh every Saturday 1am.
0 1 * * 5 /root/script.sh

To execute script /root/script.sh on every weekdays at 2am.
0 2 * * 1-5 /root/script.sh

To execute script /root/script.sh every 15min daily.
0,15,30,45 * * * * /root/script.sh

To execute script /root/script.sh every 15min daily and output the output of /root/script.sh to /root/script_output.txt.
0,15,30,45 * * * * /root/script.sh >> /root/script_output.txt 2>&1
*Note: 2>&1 means standard error, STDERR (2) store to standard output, STDOUT (1). & infront of 1 (STDOUT) means
           the standard output is stored to the file stated which in this case is /root/script_output.txt.

To execute script /root/script.sh every 15min daily and tell it not to show any output.
0,15,30,45 * * * * /root/script.sh >> /dev/null 2>&1
*Note: /dev/null is commonly referred to black hole where everything directed to it is discarded.


Default location of crontab for all users in most Unix operating system.
The default location where crontab is stored is at /var/spool/cron*
For Linux it is at /var/spool/cron/
For Solaris, AIX and HP-UX it is at /var/spool/cron/crontabs/
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
HowTo: Retrieve Email from a POP3 Server using the Command Line
Viewed 13112 times since Mon, Feb 18, 2019
RHEL: Checking HBAs
Viewed 16009 times since Sun, May 27, 2018
Use inotify-tools on CentOS 7 or RHEL 7 to watch files and directories for events
Viewed 14883 times since Fri, Jul 27, 2018
Linux File Systems (mkfs, mount, fstab) ext4
Viewed 3822 times since Sat, Jun 2, 2018
Przekazywanie portów TCP rinetd
Viewed 45737 times since Thu, May 24, 2018
RHEL7: How to get started with Firewalld.
Viewed 12983 times since Wed, May 22, 2019
RHEL: Reinstalling Boot Loader on the Master Boot Record (MBR)
Viewed 4214 times since Sun, May 27, 2018
RHCS6: Luci - the cluster management console
Viewed 3835 times since Sun, Jun 3, 2018
Monitoring bezpieczeństwa Linux: integracja auditd + OSSEC cz. I
Viewed 3051 times since Fri, Apr 5, 2019
LVM: Reduce an existing Logical Volume / Filesystem
Viewed 4150 times since Sat, Jun 2, 2018