Running a cron job at 2:30 AM everyday
CronCrontabCron Problem Overview
How to configure a cron job to run every night at 2:30? I know how to make it run at 2, but not 2:30.
Cron Solutions
Solution 1 - Cron
crontab -e
add:
30 2 * * * /your/command
Solution 2 - Cron
-
To edit:
crontab -e
-
Add this command line:
30 2 * * * /your/command
- Crontab Format: > MIN HOUR DOM MON DOW CMD
- Format Meanings and Allowed Value:
MIN Minute field 0 to 59
HOUR Hour field 0 to 23
DOM Day of Month 1-31
MON Month field 1-12
DOW Day Of Week 0-6
CMD Command Any command to be executed.
-
Restart cron with latest data:
service crond restart
Solution 3 - Cron
As seen in the other answers, the syntax to use is:
30 2 * * * /your/command
# ^ ^
# | hour
# minute
Following the crontab standard format:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
It is also useful to use crontab.guru to check crontab expressions.
The expressions are added into crontab
using crontab -e
. Once you are done, save and exit (if you are using vi
, typing :x
does it). The good think of using this tool is that if you write an invalid command you are likely to get a message prompt on the form:
$ crontab -e
crontab: installing new crontab
"/tmp/crontab.tNt1NL/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)
If you have further problems with crontab not running you can check Debugging crontab or Why is crontab not executing my PHP script?.
Solution 4 - Cron
An easy way to write cron is to use the online cron generator It will generate the line for you. One thing to note is that if you wish to run it each day (not just weekdays) you need to highlight all the days.
Solution 5 - Cron
As an addition to the all above mentioned great answers, check the https://crontab.guru/ - a useful online resource for checking your crontab syntax.
What you get is human readable representation of what you have specified.
See the examples below:
- 30 2 * * * (answer of this question)
- @daily
- 59 23 31 12 *
Solution 6 - Cron
30 2 * * * wget https://www.yoursite.com/your_function_name
The first part is for setting cron job and the next part to call your function.