Link to home
Start Free TrialLog in
Avatar of it-rex
it-rex

asked on

cronjob frequency

how to schedule a job via crontab to run every 15 minutes  excluding during the window starting midnight until 7am, at this h time we would like snapshots taken every 2 hours(midnight, 2, 4 and 6).
Avatar of liddler
liddler
Flag of Ireland image

not easily with standard cron, I would usually schedule a script to run every 15 minutes, the first part of the script would look at the time and exit gracefully if it was between 00 - 07 and not 2, 4 or 6
Avatar of woolmilkporc
00,15,30,45 7-23,1,3,5 * * * /path/to/script >/path/to/log 2>&1

If you want to run it at 0, 2, 4 and 6 A. M every 15 minutes except for the full hour add a second line:

15,30,45 0,2,4,6 * * *  /path/to/script >/path/to/log 2>&1


wmp
Avatar of it-rex
it-rex

ASKER

so woolmilkporc

00,15,30,45 7-23,1,3,5 * * * /path/to/script >/path/to/log 2>&1

will do it for me;again I need  to run every 15 minutes starting 7 am till 11 pm and
every 2 hours starting midnight till 6 am
?
crontab

UNIX systems have a deamon running all the time that can run jobs at regularly scheduled intervals. You can specify the jobs that the crontab command will execute in a file, and the cron deamon will check it when the cron deamon is initialized or when additions or modifications are made to the file.

The entries you can make in the crontab file consist of the following fields (separated by spaces or tab character):

    minute
    hour
    day (of the month)
    year
    day of the week
    command

Each of these fields can have more than one discrete value (separated by commas) or a range of values or an * (asterisk) meaning all values are to be matched.

Following is a list of flags that can be used with the crontab command:

    -l to list your crontab file.

    -e to edit or create the crontab file.

    -r to remove your crontab file.

    -v to list the status of the crontab jobs.

Examples If you want to display the string Time to go for lunch at 12:30 pm every day, set up the following:

30 12 * * * * echo "Time to go for lunch"

If you want to execute my_job on Friday at 4:00 p.m. every week, setup the following:

0 16 * * 5 my_job



from http://www.math.iitb.ac.in/resources/manuals/Unix_Unleashed/Vol_1/ch05.htm
With my version the script will run every 15 minutes at

7, 8, 9, 10, 11. 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 3, 5 hours.

so:

7:00, 7:15, 7:30, 7:45, 8:00, 8:15, ..., ... 22:45, 23:00, 1:00, 1:15, 1:30, 1:45, 3:00, 3:15, 3:30, 3:45, 5:00, 5:15, 5:45, 7:00 ...

Is this what you desire?
Forgot some values:

23:15, 23:30, 23:45

Sorry.
ASKER CERTIFIED SOLUTION
Avatar of woolmilkporc
woolmilkporc
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of it-rex

ASKER

thanks