In Winter '10, Salesforce.com released the Apex Scheduler. This feature allows you to schedule Apex classes to run at specific times. The features appears to be widely popular (200+ votes on the IdeaExchange) but is only in limited release. I've heard from a number of companies that they were not able to get on the pilot. The L1 Support Rep told me that an org would need 5000+ seats to qualify for the Apex Scheduler.
Hopefully Apex Scheduler will be GA next release but in the meantime here's a short-term solution that Kyle Roche and I were discussing last week. You can sign up for a free Google App Engine account and then schedule tasks with cron in either Java or Python.
The solution is relative straight forward and you can find all the info you need in our book Beginning Java Google App Engine. We not only cover cron jobs but have a number of examples using the Force.com for Google App Engine Java toolkit.
Pre-order your copy now just in time for Christmas. It goes nicely with eggnog and figgy pudding.