Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Les crons PHP

Par Laurent PHILIBERT Publié le 05/10/2015 à 21:50:38 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Un cron job, c'est ce que c'est ?

Un cron PHP est un processus sur serveur permettant de lancer un script (ici PHP) périodiquement. La fréquence de running est paramétrable, et est basée sur 24h. Il s'agit exactement d'un démon. Il faut savoir que chaque utilisateur d'une machine dispose d'un fichier où l'on peut configurer un ou plusieurs cron job(s).

Comment cela fonctionne ?

Un cron job se présente sous cette forme :

	    	*/1 * * * * /usr/bin/php /home/user_a/scriptToRun.php >> /var/log/cron_scriptToRun_user_a_.log
		

Suivant les astérisques, voici dans quel ordre se configurent les paramètres :

Minutes - Heures - Jour - Mois - Jour de la semaine

Note : Vous n'êtes pas obigés de remplir chaque partie.

Si vous souhaitez lancer un cron toutes les 30 minutes entre 10 et 14 heures :

	    	*/30 10-14 * * /usr/bin/php /home/user_a/scriptToRun.php >> /var/log/cron_scriptToRun_user_a_.log
		

Ou si vous souhaitez le lancer à 22h04 précisément :

	    	4 22 * * * /usr/bin/php /home/user_a/scriptToRun.php >> /var/log/cron_scriptToRun_user_a_.log
		

De plus, dans ce guide, nous avons pris l'exemple pour le lancer via PHP, il faut donc préciser le path, d'où :

	    	/usr/bin/php
	    

Ainsi que le chemin du script à exécuter :

	    	/home/user_a/scriptToRun.php
	    

Facultatif : Vous avez également la possibilité de générer un fichier de log afin de surveiller le bon déroulement du cron mais aussi du script en y mettant quelques var_dump, printf ou echo pour les adeptes. Cela reste facultatif mais est vivement conseillé. Cela se fait en rajoutant la ligne suivante après le path du script :

	    	>> /var/log/cron_scriptToRun_user_a_.log
	    

Comment en mettre en place ?

Comme je le disais dans l'introduction, dans une machine, chaque utilisateur dispose d'un fichier où il peut excécuter des cron jobs. Vous pouvez voir la liste des cron jobs qui tournent sur votre machine via cette commande :

	    	crontab -l
	    

Enfin, pour en ajouter, vous pouvez éditer le fichier de crons via cette commande, et n'oubliez pas de sauvegarder :

	    	crontab -e
	    

Conclusion

Un cron job peut très vite s'avérer être la solution pour certains problèmes, notamment si vous souhaitez effectuer une backup de votre base de données SQL (par exemple : tous les soirs à 22h04...). Vous pouvez également tenter d'autres tests, comme par exemple essayer de vous envoyer des mails depuis le script php mais n'oubliez pas de désactiver le cron job après, sous peine de vous faire spamer par vous-même !

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels