You really ought to reconsider moving the date logic into cron instead of rolling your own. Having a single script serve more than one purpose can be a maintenance nightmare.
With multiple scripts:
[ul][li]Breaking a script only breaks the one function[/li]
[li]Changing the run dates, or defining actual times of day will only require changes to a well documented file (crontab), with which any future sysadmin will be familiar[/li]
[li]Zero chance of executing a function on the wrong day due to an overlooked bug[/li]
[li]scripts can actually have meaningful names that indicate what they do[/li]
[li]no need to reinvent a wheel that has been very thoroughly invented and tested[/li]
[/ul]
Remember, ease of maintenance is about helping the next sysadmin out, even when the next sysadmin is you.
For more benefits, think of scripts as functions in the program called "being sysadmin" and read Steve McConnell's, and I don't use this word lightly,
masterpiece Code Complete: A Practical Handbook of Software Construction. I consider it required reading for anyone that does anything that can be considered programming.
Rod Knowlton
IBM Certified Advanced Technical Expert pSeries and AIX 5L
CompTIA Linux+
CompTIA Security+