Running a cron job at 2:30 AM everyday
crontab -e
add:
30 2 * * * /your/command
Run CRON job everyday at specific time
Cron utility is an effective way to schedule a routine background job at a specific time and/or day on an on-going basis.
Linux Crontab Format
MIN HOUR DOM MON DOW CMD
Example::Scheduling a Job For a Specific Time
The basic usage of cron is to execute a job in a specific time as shown below. This will execute the Full backup shell script (full-backup) on 10th June 08:30 AM.
Please note that the time field uses 24 hours format. So, for 8 AM use
8, and for 8 PM use 20.
30 08 10 06 * /home/yourname/full-backup
- 30 – 30th Minute
- 08 – 08 AM
- 10 – 10th Day
- 06 – 6th Month (June)
- *– Every day of the week
In your case, for 2.30PM
,
30 14 * * * YOURCMD
- 30 – 30th Minute
- 14 – 2PM
- *– Every day
- *– Every month
- *– Every day of the week
To know more about cron, visit this website.
How to setup a cron job that spans the night and runs every 15mins
You will need three cron expressions to achieve exactly what you ask for:
23:00 - 23:59 (Sun-Thu, every 15 min)
*/15 23 * * 0-4 command
00:00 - 4:59 (Mon-Fri, every 15 min)
*/15 0-4 * * 1-5 command
5:00, 5:15 (Mon-Fri)
0,15 5 * * 1-5 command
Good luck!
execute crontab twice daily at 00h and 13:30
You can't do what you want in one entry, since the two minute definitions will apply for both hour definitions (as you've identified).
The solution is (unfortunately) use two cron entries. One for 00:00 and one for 13:30.
An alternative is perhaps to execute one script at 00:00. That script would execute your original script, then wait 13.5 hours and then execute that script again. It would be easy to do via a simple sleep command, but I think it's unintuitive, and I'm not sure how cron
manages such long running processes (what happens if you edit the crontab
- does it kill a spawned job etc.)
Cron every day at 6 pm
0 18 * * * command to be executed
^ you need to set the minute, too. Else it would be running every minute on the 18th hour
How to setup a cronjob in general:
# * * * * * command to execute
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
# │ │ │ └────────── month (1 - 12)
# │ │ └─────────────── day of month (1 - 31)
# │ └──────────────────── hour (0 - 23)
# └───────────────────────── min (0 - 59)
What does Asterisk (*) mean
The asterisk indicates that the cron expression matches for all values of the field. E.g., using an asterisk in the 4th field (month) indicates every month.
Sidenote
Other special characters in cronjobs
Slash ( / )
Slashes describe increments of ranges. For example 3-59/15 in the 1st field (minutes) indicate the third minute of the hour and every 15 minutes thereafter. The form "*/..." is equivalent to the form "first-last/...", that is, an increment over the largest possible range of the field.
Comma ( , )
Commas are used to separate items of a list. For example, using "MON,WED,FRI" in the 5th field (day of week) means Mondays, Wednesdays and Fridays.
Hyphen ( - )
Hyphens define ranges. For example, 2000-2010 indicates every year between 2000 and 2010 AD, inclusive.
Percent ( % )
Percent-signs (%) in the command, unless escaped with backslash (), are changed into newline characters, and all data after the first % are sent to the command as standard input.
(source: https://en.wikipedia.org/wiki/Cron)
How to run crontab job every week on Sunday
Here is an explanation of the crontab format.
# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x
So according to this your 5 8 * * 0
would run 8:05 every Sunday.
How to run cron once, daily at 10pm
It's running every minute of the hour 22 I guess. Try the following to run it every first minute of the hour 22:
0 22 * * * ....
Related Topics
Using "And" in Bash While Loop
Short Command to Find Total Size of Files Matching a Wild Card
Opening Default Text Editor in Bash
What Is The Equivalent of /Proc/Cpuinfo on Freebsd V8.1
Jenkins Failed to Start in Linux
How to Set Default Arguments for "Ls" in Linux
Amazon Ec2 Lost Private Key, How to Get Access to The Server
Why Is "Autoreconf" Not Used Often
Runner Is Not Healthy and Will Be Disabled
How to List Dependencies of C/C++ Static Library
What's The Meaning of 'Blacklisted' on Gstreamer
How to Monitor Cwnd and Ssthresh Values for a Tcp Connection
Top 'Xterm': Unknown Terminal Type
Only Accept Http Connections from Localhost in Go