[CentOS] run script on cron job only run on first Saturdat every month???

Mon Aug 5 15:01:16 UTC 2013
Les Mikesell <lesmikesell at gmail.com>

On Mon, Aug 5, 2013 at 2:00 AM, Gordon Messmer <gordon.messmer at gmail.com> wrote:
> On 08/04/2013 10:17 PM, zGreenfelder wrote:
>> or... if it really has to be on the first Saturday and only on the first
>> Saturday,
>> then running something like
>> 15 4 1-7 * *  /home/app/oracle/backup/monthlybk.sh
>>
>> with the top of the monthlybk.sh script doing soemthing like
>
> No, really.  We went over this.  You don't have to modify your scripts.
>   You can put the "test" in the crontab.  John's example should work
> properly:
>
> 15 04 * * 6    test $(date +"%d") -le 07 &&
> /home/app/oracle/backup/monthlybk.sh
>
> Cron will run those commands every Saturday.  On the first Saturday in
> the month, "test" will succeed and the script will be run.

On the other hand, putting the test in the script - perhaps with a
command line option to override - would also keep it from doing
something wrong even if someone happens to run it manually at the
wrong time.   If I were doing it, I might touch a file when starting
and check the timestamp of that to avoid running more than one even on
the right day.   Sometimes the most clever way isn't really the best.

-- 
   Les Mikesell
     lesmikesell at gmail.com