Running a cron at 4 am and 4 pm - linux

The following cron expression cron(0 14 ? * MON-FRI *) basically runs something 4:00 pm from Monday to Friday.
I am wondering if it is possible to modify the expression so I can run something at 4:00 am and 4:00 pm every Monday to Friday.

Use this crontab line to run command_name at 4:00 and 16:00 (4 AM and 4 PM) Monday-Friday:
0 4,16 * * 1-5 command_name
From crontab manual:
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sunday, or use names)

Your Cron job description looks different from the general crontab. But to give you an idea of how to achieve what you're looking for:
Edit cron-table. Choose your editor.
crontab -e
Add 2 lines cron jobs.
* 4 * * 1-5 /usr/bin/...# Your command goes here 04:00 am.
* 16 * * 1-5 /usr/bin/...# Your command goes here 04:00 pm.

4PM (16:00): 0 16 * * MON-FRI
See crontab guru
"At 16:00 on every day-of-week from Monday through Friday.”
4AM &4 PM (4:00 & 16:00): 0 4,16 * * MON-FRI
See crontab guru
β€œAt minute 0 past hour 4 and 16 on every day-of-week from Monday through Friday.”

Related

Need a cron expression

I am trying to get a cron expression through cron convertors online but it won't be able to do the same.
Some please help. I need a cron expression which should run every 3 hours starting at 00:10.
00:10
03:10
06:10
...
Also I need a cron expression that runs every 30 mins starting from 00:00.
00:00
00:30
01:00
...
something like this^
I tried
10/3 * * * *
and
*/30 * * * *
I need a cron expression which should run every 3 hours starting at
00:10
Simply with
10 0/3 * * * your_command
This way, the cron will run the specified command at 10 minutes past midnight (10 0) and then every 3 hours thereafter (0/3)
Also I need a cron expression that runs every 30 mins starting from
00:00
Then this might do the work
0,30 0-23/1 * * * /path/to/command
So it will run at 00:00 and 00:30 every day (0,30), every hour (0-23/1), and regardless of the day of the month, month, or day of the week (*)

Scheduling scripts with variable frequency

I want to run a python script on a ubuntu 14.04 server with following frequency:
Monday to Friday:
From 0800 hrs to 1600 hrs: Run once every hour
From 1600 hrs to 2300 hrs: Run once every 30 minutes
Saturday and Sunday:
From 0800 hrs to 2300 hrs: Run once every two hours
At other times, don't run
Is this possible with cron? If not, can anybody suggest some alternative?
As suggested in the comments, adding these cron entries will do:
(Lines starting with # are comments)
# monday to friday, 8 am to 4 pm, once every hour
0 8-16 * * 1-5 <command>
# monday to friday, 4 pm to 10 pm, twice every hour
0,30 17-22 * * 1-5 <command>
# saturday to sunday, 8 am to 11 pm, once every hour
0 8-23 * * 0,6 <command>

Running a cron job every 2:30 on every day?

If I creating cronjob to running for every 2:30 the command will run? (It mean, my cron will running after 90 minutes for every hours.)
the command like: 30 */2 * * * /command/xxx => that's right?
Please help?
Your cron expression 30 */2 * * * will run the command every 2 hours at 30 mins past the hour i.e.00:30, 02:30, 04:30, 06:30 and so on.
If you want to run your command at intervals of two and a half hours i.e. 00:00, 02:30, 05:00, 07:30 and so on, you need to set up two crons:
0 0-20/5 * * * runs at 0 mins past the hour, every 5 hours between 00:00 and 20:00 inclusive i.e. 00:00, 05:00, 10:00, 15:00 and 20:00
30 2-22/5 * * * runs at 30 mins past the hour, every 5 hours between 02:00 and 22:00 inclusive i.e. 02:30, 07:30, 12:30, 17:30 and 22:30
On the other hand, if you want to run your command only once every day at 02:30 use 30 2 * * *.
sudo crontab -e
and then add this:
30 2 * * * /enter/your/command

Every x days vs every xth day of the month

I have the following cron expression:
0 0 */30 * *
How come it still runs every 30th day of the month and not every 30 days starting from now? Having the expression:
0 0 30 * *
Yields the same run times:
2013-07-30 00:00:00
2013-08-30 00:00:00
2013-09-30 00:00:00
2013-10-30 00:00:00
2013-11-30 00:00:00
I think you might want to use at instead of cron. You can use at to schedule your script to run 30 days from now with the following:
at now +30 day /path/to/your/script
Then, just put the same line near the end of your script, to schedule it to run again 30 days later.

What is the syntax for a cron job that runs 15 and 45 minutes after the hour?

What is the syntax for a cron job that runs 15 and 45 minutes after the hour? (So every 30 minutes.)
Would the syntax be something like:
15,45,30 * * * * wget -O /dev/null http://somesite.com/4_leads.php
So for example it would run at
2:15
2:45
3:15
3:45
4:15
4:45
and so on
From man 5 crontab
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
Or, in other words
# m h dom mon dow user command
15,45 * * * * yourusername wget -O /dev/null http://somesite.com/4_leads.php
Skip the username field if you place the entry in a user specific crontab, via crontab -e, crontab -e -u yourusername, or similar.
This question may be better suited to serverfault.

Resources