Cron expression for particular date

57,734

Solution 1

Original question was tagged cron so this first section applies to that. See below for an updated answer for the Quartz CronTrigger tool.


Most crontabs don't let you specify the year so you'll probably have to put that in the script itself (or a wrapper around the script/program).

You can do this with something like:

# Only run in 2010.
if [[ $(date +%Y) != 2010 ]] ; then
    exit
fi

The option you're looking for to run at 6am on September 6 every year is:

0 6 6 9 * your_command_goes_here
│ │ │ │ │
│ │ │ │ └─ any day of the week.
│ │ │ └─── 9th month (September).
│ │ └───── 6th day of the month.
│ └─────── 6th hour of the day.
└───────── Start of the hour (minutes = 0).

For the Quartz CronTrigger format, you'd be looking at something like:

0 0 6 6 9 ? 2010
│ │ │ │ │ │   │
│ │ │ │ │ │   └─ 2010 only.
│ │ │ │ │ └───── any day of the week.
│ │ │ │ └─────── 9th month (September).
│ │ │ └───────── 6th day of the month.
│ │ └─────────── 6th hour of the day.
│ └───────────── Start of the hour (minutes = 0).
└─────────────── Start of the minute (seconds = 0).

Solution 2

For one-shot jobs the 'at' command is better suited than cron.

at -f filename 06:00 09/06/2010

Solution 3

It could be only in /etc/crontab by follows:

0 6 6 9 * root test `/bin/date +%Y` == 2010 && <your command>
Share:
57,734

Related videos on Youtube

Admin
Author by

Admin

Updated on July 09, 2022

Comments

  • Admin
    Admin almost 2 years

    I want a cron expression that represents 6th September 2010 6:00 am

  • Admin
    Admin over 13 years
    can please explain with each field
  • Admin
    Admin over 13 years
    from quartz-scheduler.org/docs/tutorials/crontrigger.html we also need to mention hour ,minute and second
  • paxdiablo
    paxdiablo over 13 years
    @NewBie, CronTrigger is not cron. I've never seen a cron that allows either seconds or years to be specified. Quartz may allow that, I wouldn't know since I've never used it but, if your question is about Quartz/CronTrigger rather than the real cron, you should retag it so.
  • Admin
    Admin over 13 years
    second field is still missing pax
  • Admin
    Admin over 13 years
    you need to edit your answer second field is not labled properly. thanks to @org.
  • paxdiablo
    paxdiablo over 13 years
    @NewBie, I think it is, but it may be a cultural thing. Top of the hour, at least here in the Great Southern Land, means something-o'clock (i.e., minutes = 0). Updated description to clarify.