[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cron bash date

Lance Hoffmeyer <lance@augustmail.com> writes:

> I am trying to run a bash script in cron.  I originally wanted
> it to run at 11:59pm on the last day of every month.  February
> will always cause problems because of leap years.  Therefore,
> I decided to run cron on the first day of every month using
> the @month parameter.

crontab(5) doesn't suggest a good way to do this, no.  So yeah,
running early (say, 12:03 AM) on the first of the month is easy:

  3 0 1 * * /usr/local/sbin/ourscript

> The problem is that I want the month to reflect the previous month.
> MON=$((`date +%m`-1))

How about:

  MON=`date -d yesterday +%m`

date(1) seems to think "yesterday" is exactly 24 hours ago, if you're
looking at other fields.  (Or maybe it's exactly a day ago; this makes
a difference around daylight savings.)

David Maze         dmaze@debian.org      http://people.debian.org/~dmaze/
"Theoretical politics is interesting.  Politicking should be illegal."
	-- Abra Mitchell

Reply to: