<mohammadrony>

Cronjob

Default Config

Cronjob file: /etc/crontab

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 * * * *  root  cd / && run-parts --report /etc/cron.hourly
25 6 * * *  root  test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily; }
47 6 * * 7  root  test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.weekly; }
52 6 1 * *  root  test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.monthly; }
#

Cronjob Timer

.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
*  *  *  *  * user-name command to be executed

Examples

Every 15 minutes

*/15 * * * *  root  /path/to/script 2>&1

Every 6 hour

0 */6 * * *  root  /path/to/script 2>&1

Common Interval

Create a script in following path to run in corresponding interval.

Interval Script Path
Hourly /etc/cron.hourly/
Daily /etc/cron.daily/
Weekly /etc/cron.weekly/
Monthly /etc/cron.monthly/
sudo tee -a /etc/cron.daily/script << EOF
#!/bin/bash
# ...
# ...
# command
# ...
# ...
EOF
sudo chmod +x /etc/cron.daily/script

Custom Interval

sudo tee -a script << EOF
#!/bin/bash
# ...
# ...
# command
# ...
# ...
EOF
sudo tee -a /etc/cron.d/job-name << EOF
0 */6 * * *  root  /path/to/script 2>&1
EOF
sudo chmod +x script