Skip to main content

Cron

Format

Min  Hour Day  Mon  Weekday
*    *    *    *    *  command to be executed
┬    ┬    ┬    ┬    ┬
│    │    │    │    └─  Weekday  (0=Sun .. 6=Sat)
│    │    │    └──────  Month    (1..12)
│    │    └───────────  Day      (1..31)
│    └────────────────  Hour     (0..23)
└─────────────────────  Minute   (0..59)

Operators

OperatorDescription
*all values
,separate individual values
-a range of values
/divide a value into steps

Special strings

StringDescription
@rebootevery rebot
@hourlyonce every hour - same as 0 * * * *
@dailyonce every day - same as 0 0 * * *
@midnightonce every midnight - same as @daily
@weeklyonce every week - same as 0 0 * * 0
@monthlyonce every month - same as 0 0 1 * *
@yearlyonce every year - same as 0 0 1 1 *

Examples

ExampleDescription
0 * * * *every hour
*/15 * * * *every 15 mins
0 */2 * * *every 2 hours
0 18 * * 0-6every week Mon-Sat at 6pm
10 2 * * 6,7every Sat and Sun on 2:10am
0 0 * * 0every Sunday midnight

Crontab

# Adding tasks easily
echo "@reboot echo hi" | crontab

# Open in editor - optional for another user
crontab -e [-u user]

# List tasks - optional for another user
crontab -l [-u user]

# Delete crontab file - optional for another user
crontab -r [-u user]