The easiest way to schedule a recurring task to run at intervals other than daily or weekly is through the system log.
If your objective is to simply schedule an apex schedulable class to run on a daily or weekly basis, then using the Salesforce interface is best. This is done by going to Setup->Develop->Apex Classes then clicking on the ‘Schedule Apex’ button.
However if the objective is to run your class every hour, every half hour, or fifteen minutes then this quick tutorial will show you how.
//THE CLASS YOU WISH TO SCHEDULE
ScheduleJob s = new ScheduleJob();
//THE TIME AND FREQUENCY IT SHOULD BE SCHEDULED
string crawler00 = '12 00 * * 1-12 ? *';
//SCHEDULE THE CLASS BY ASSIGNING THE NAME, SCHEDULE, AND CLASS TO SCHEDULE
system.schedule('Half Hr Training Session Crawler 00',crawler00,s);
Remember your class must implement the schedulable interface.
Copy the above code into the system log ‘execute’ field.
Now watch your job run by going to Setup->Administration Setup->Monitoring->Scheduled Jobs.