C'est la meilleure explication avec le code en PHP que j'ai trouvée jusqu'à présent:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
En bref:
Bien que la syntaxe de la planification d'un nouveau travail puisse sembler décourageante à première vue, elle est en fait relativement simple à comprendre une fois que vous la décomposez. Une tâche cron aura toujours cinq colonnes dont chacune représente un 'opérateur' chronologique suivi du chemin complet et de la commande à exécuter:
* * * * * home / chemin / vers / commande / the_command.sh
Chacune des colonnes chronologiques a une pertinence spécifique par rapport au calendrier de la tâche. Ils sont les suivants:
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.
Ainsi, par exemple, si l'on voulait planifier une tâche à 12h le premier jour de chaque mois, cela ressemblerait à ceci:
0 0 1 * * home / chemin / vers / commande / the_command.sh
Si nous voulions planifier une tâche à exécuter tous les samedis à 8h30, nous l'écririons comme suit:
30 8 * * 6 home / chemin / vers / commande / the_command.sh
Il existe également un certain nombre d'opérateurs qui peuvent être utilisés pour personnaliser encore plus le calendrier:
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
Visitez le lien pour l'article complet, il explique:
- Quel est le format du cronjob si vous souhaitez le saisir / le modifier manuellement.
- Comment utiliser PHP avec la bibliothèque SSH2 pour s'authentifier en tant qu'utilisateur, quelle crontab vous allez modifier.
- Classe PHP complète avec toutes les méthodes nécessaires pour l'authentification, l'édition et la suppression des entrées crontab.