By default Linux will be running cron daemon in the background "ps -ef|grep crond" which is responsible to trigger the cron jobs.crond daemon is initiated by init - /etc/init.d/crond
Jobs will be triggered with the help of crontab entry in "/etc/crontab".
Commands
To display list of crontab entires use "crontab -l" in your shell
To edit the crontab file use "crontab -e" in your shell
Syntax
crontab environment setting
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/global/bin
MAILTO=abc@yyy.com
HOME=/
Eg.,
Jobs will be triggered with the help of crontab entry in "/etc/crontab".
Commands
To display list of crontab entires use "crontab -l" in your shell
To edit the crontab file use "crontab -e" in your shell
Syntax
* * * * * command to be executed
- - - - -
| | | | |
| | | | |
| | | | +----- day of week (0 - 7) (Sunday=0 or 7)
| | | +---------- month (1 - 12)
| | +--------------- day of month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- min (0 - 59)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/global/bin
MAILTO=abc@yyy.com
HOME=/
Eg.,
- 30 00 * * Mon,Wed, Fri echo "On Mon,Wed,Fri at 00:30 "
- 01 6-23/5 * * * echo "On all days execute the command at 6:01 11:01 17:01 22:01 [6-23] "
More granularity can be done with the help of "/" 1-59/5 will run in multiples of 5
A look at default /etc/crontab file
# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
root run-parts helps if you need to execute each script in the mentioned directory
Log:
All cron jobs will be logged in /var/log/cron
No comments:
Post a Comment