The timer class works well for us as well.
As to start with unix why not invoke your script from rc?
Also some application server products have their own timer implementations exposed that can be useful. Watch out here though. They are proprietary.
What out also with programs with shutdown hooks in the background. You will have to nohup these to prevent the hook from firing prematurely.
You can get a behavior similar to rc with a product like:
http://www.eworksmart.com/JNT/