Tal como todos dijeron, lo que tendrías que usar es crontab, o en su defecto, anacrontab, que es su par anacrónico, osea, que se ejecuta igual, aunque se haya retrasado la ejecución por algún motivo.
Hoy en día no creo que sea necesario, pero por las dudas te lo menciono.
http://linux.die.net/man/5/anacrontab
Por otro lado, te paso lo que significa cada * en el archivo cron:
1er *: Los minutos. Tambien puedes fraccionarlos, como ej: */5, seria, cada 5 minutos.
2do *: Hora, formato 24hs. Tambien puede fraccionar, o elegir horas especificas: 2,4,6 corresponde que el script se ejecutaria a las 2am, 4am, 6am respectivamente.
3er *: Dia del mes, de 1 a 31. Igual que los anteriores, puedes fraccionarlo o seleccionar dias en particular con la ",".
4to *: El mes, de 1 a 12.
5to *: El dia de la semana, de 0 a 7 (0 y 7 corresponde a domingo). De esta manera podemos programar tareas periodicas que se ejecuten solo X dia de la semana, sin importar nro ni mes.
Espero te sirva. Saludos.