Si tu sistema web corre en un servidor linux, debes usar un
Cron.
Y si fuera en Windows creo que puedes hacerlo con "tareas programadas" (aunque no tengo la experiencia)...
Sobre el cron, si tu manejas el servidor, puedes configurarlo directamente, y si por el contrario tienes un plan de hosting manejado, en la mayoría de los paneles de administración (Cpanel, DirectAdmin, etc), tiene un apartado para configurar CronJobs!
Saludos y espero te haya servido.