[CentOS] run script on cron job only run on first Saturdat every month???
Les Mikesell
lesmikesell at gmail.com
Mon Aug 5 15:01:16 UTC 2013
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
More information about the CentOS
mailing list