Hey Scott, the 1.month jobs are a little ugly, but doable.
Because Whenever uses Chronic to parse times, "3am" would mean 3am
today which would mean your cron jobs would run on whatever date today
was.
The trick is to do something like:
every 1.month, :at => "January 5th at 3am"
That way whenever knows what day you're talking about. I haven't
figured out a way to get the "January" out of there, but I can assure
you the job will run every month.
One slightly better syntax if you want the job to run on the 1st is to
say "beginning of the month at 3am".
Javan