Esta es la mejor explicación con código en PHP que he encontrado hasta ahora:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
En breve:
Aunque la sintaxis para programar un nuevo trabajo puede parecer desalentadora a primera vista, en realidad es relativamente fácil de entender una vez que la desglosa. Un trabajo cron siempre tendrá cinco columnas, cada una de las cuales representa un 'operador' cronológico seguido de la ruta completa y el comando para ejecutar:
* * * * * inicio / ruta / a / comando / the_command.sh
Cada una de las columnas cronológicas tiene una relevancia específica para el horario de la tarea. Son los siguientes:
Minutes represents the minutes of a given hour, 0-59 respectively.
Hours represents the hours of a given day, 0-23 respectively.
Days represents the days of a given month, 1-31 respectively.
Months represents the months of a given year, 1-12 respectively.
Day of the Week represents the day of the week, Sunday through Saturday, numerically, as 0-6 respectively.
Entonces, por ejemplo, si uno quisiera programar una tarea para las 12 a. M. El primer día de cada mes, se vería así:
0 0 1 * * inicio / ruta / a / comando / the_command.sh
Si quisiéramos programar una tarea para que se ejecute todos los sábados a las 8:30 am, la escribiríamos de la siguiente manera:
30 8 * * 6 inicio / ruta / a / comando / the_command.sh
También hay varios operadores que se pueden utilizar para personalizar aún más el horario:
Commas is used to create a comma separated list of values for any of the cron columns.
Dashes is used to specify a range of values.
Asterisksis used to specify 'all' or 'every' value
Visite el enlace para ver el artículo completo, explica:
- ¿Cuál es el formato del cronjob si desea ingresarlo / editarlo manualmente?
- Cómo usar PHP con la biblioteca SSH2 para autenticarse como usuario, qué crontab va a editar.
- Clase PHP completa con todos los métodos necesarios para la autenticación, edición y eliminación de entradas crontab.