Crontab is not running on mac osx 10.9.3 - macos

I would like to open a URL using crontab in the terminal every minute for example. I also tried "cronnix" and "lingos" but non of the methods work. My mashine simply does not execute the command. I did
crontab -e
then I inserted the line
1 * * * * open http://www.google.de/
terminal says it is installing the new cron job. But then nothing happens. What do I have to do? Thanks.

1 * * * *
means the job will execute every first minute of every hour of every day of every week of every month, for example at 09:01, 10:01, 11:01, ...
*/x * * * *
will execute the job every x'th minute of every hour of every (yadda yadda...).
For example, for x=5 the job will execute at 09:05, 09:10, 09:15, and so on, but also of course at 10:05, 10:10, 10:15, ...
For x=1 it is the same as just saying
* * * * *

Related

Schedule cron from 10PM to 1AM every half an hour

I am looking to schedule a cron from 10PM to 1AM(both inclusive) every half an hour .
I tried this */30 22-0 * * *
doesn't seem to work after 11:30 PM
or to be specific this works till 11:59 PM I guess.
Cron doesn't always provide the syntax to specify the times you want in a single line, but there's usually a workaround using two lines (or sometimes more).
Based on your description, apparently a range whose upper bound is smaller than its lower bound doesn't wrap around; rather it just seems to extend to the end of the day/hour/whatever. In your case, 22-0 apparently represents hours 22 and 23, and presumably 22-5, for example, would mean the same thing. (The man page is unclear on this.)
This should do the trick, though I haven't had a chance to test it:
*/30 22-23 * * * <command> # 22:00, 22:30, 23:00, 23:30
*/30 0 * * * <command> # 00:00, 00:30
0 1 * * * <command> # 01:00
Based on the other answer: You can make the crons one line less by combine records for 22-23 and 0 hour:
*/30 0,22-23 * * * <command>
0 1 * * * <command>
In some UNIX operating systems this may not work and you should explicitly mention the hours and minutes:
0,30 0,22,23 * * * <command>
0 1 * * * <command>

Scheduled Cron Expressions does not work as expected

I'm tring to run a function every 10 minutes.
According to the documentation, it is stated that e.g ("0 0/5 * * *?") Runs every 5 minutes since the program started, but why when I change 5 by 10 ("0 0/10 * * *?"), the function does not run every 10 minutes e.g (10:10 - 10:20 - 10:30)
Is it really me who misunderstands the Cron Expressions or the syntax is wrong.
here is typo in :
"0 0/10 * * *?"
should be
"0 0/10 * * * ?"
here is the useful resource CronMaker is a utility which helps you to build cron expressions. CronMaker uses Quartz open source scheduler.

Execute job in Jenkins every X minutes and in a time range

I would like to execute a job in Jenkins with a cron every 15 minutes between a time range.
I tried with this:
15 8-19 * * 1-5
But it execute hourly. I want this:
Every 15 minutes From 8AM to 7PM and from Monday to Friday.
From the Jenkins' cron syntax:
* specifies all valid values
M-N specifies a range of values
M-N/X or */X steps by intervals of X through the specified range or whole valid range
To allow periodically scheduled tasks to produce even load on the system, the symbol H (for “hash”) should be used wherever possible.
According to the rules above you can use the following:
H/15 8-19 * * 1-5
If I under Stand Your question all you need is something like below :
*/15 4,7 * * * /bin/sample >/dev/null 2>&1
i use crontab generator Online to get crontab configuration
*/15 8-18 * * 1-5
This will give you what you want, but the last execution will be at 18:45.
*/x means 'execute once in a given 'x' minutes/hours/etc

Crontab won't run automatically

I have setup a cron job as shown below but it won't run. When I run the script manually, I don't see any errors.
#_____WPR Jobs
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_y_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_y_wpr.log
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_z_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_z_wpr.log
When I execute the script manually as shown below, it runs smoothly with log records too.
/var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log
crontab is trying to execute mon-sat as a command.
The day of the week is specified as the 5th field of a crontab entry. You have *, which means it runs on any day of the week. Delete that 5th field, making mon-sat the 5th field. (Interesting, I didn't know until now that crontab would recognize names.)
UPDATE: The crontab(5) man page (type man 5 crontab to read it on your system) says:
Names can also be used for the "month" and "day of week" fields. Use
the first three letters of the particular day or month (case doesn't
matter). Ranges or lists of names are not allowed.
You say that mon-sat worked for you. A quick experiment indicates that ranges of names actually do work, but since the documentation says they're not allowed, I suggest not depending on that. Write 1-6 rather than mon-sat if you want the job to run Monday through Saturday.

Editing crontab using bash script

I have a list of crontab entries:
0 * * * * /home/tomcat/abc.sh
0 * * * * /home/tomcat/def.sh
I want to perform an action through a bash script and it requires one of the cron jobs to be disabled.
#0 * * * * /home/tomcat/abc.sh
0 * * * * /home/tomcat/def.sh
How can I comment a single cron job using bash script?
Please help. Thanks!
That's kinda dangerous in my book, I wouldn't recommend doing that. Instead, I'd update your script so that it creates a file (like /tmp/MY_SCRIPT_LOCK or whatever) at the start and removes the file at the end. Then just update the cron job so it doesn't run if it finds the file:
0 * * * * test -f /tmp/MY_SCRIPT_LOCK || /home/tomcat/abc.sh
If you want to add a comment (#) at a particular line you can use -
Third line:
sed '3s/^/#/' filename
You can save this as new file or use output redirections.

Resources