Bandeau-top

Création Site Internet, Prestataire internet, création, gestion et animation de votre site internet dans les Alpes: Savoie, Haute-Savoie, Isère et Hautes Alpes

Lancer un script PHP automatiquement sur un serveur Apache

PDF Imprimer Envoyer
Note des utilisateurs: / 0
MauvaisTrès bien 

 

Vous devez lancer une fonction php ou un script de manière régulière ? Voici le tutorial pour réaliser cette opération sur un serveur linux, mutualisé ou dédié, en utilisant le programme Crontab.

 

 

Définitions

 

Définition :

Crontab : programme sous linux permettant d'éditer les tables de CRON. Cron est le programme qui permet de lancer des taches à heure fixe automatiquement.

 

 

 

Sur un serveur dédié

 

Sur la majorité des distributions Linux, le fichier crontab se trouve dans le dossier /etc/crontab ou /etc/cron.d

 

Au préalable, il est important de VERIFIER le bon fonctionnement de votre script PHP.

Sur la console de votre serveur lancer le script : php -f /chemin-script/script.php

 

 

 

Pour éditer le fichier

 

Dans le dossier cron.d taper : crontab -e

l'éditeur par défaut est VI.

 

Taper i pour insérer la nouvelle commande

 

 

La programmation des tâches

 

mm hh jj MMM JJJ chemin tache/tache > chemin log/log

 

mm: minutes de  0 à 59

hh: heures de 0 à 23

jj: jour du mois de 1 à 31

MMM numéro du mois de 0 à 12

JJJ: jour de la semaine (0= dimanche)

tache: script ou commande à lancer

log: nom du fichier log ou sera enregistré le journal des taches. Si cette information n'est pas précisé, cron enverra un mail à chaque lancement du script. Pour annuler cet envoi il faut ajouter /dev/null

 

mm hh jj MMM JJJ peuvent être remplacés par des * correspondants à la validation de chaque période

 

Exemples

Tous les jours à minuit 10

 

10 00 * * *

 

Toutes les heures+ 30 minutes (11h30,12h30,13h30,14h30, ...)

 

30 * * * *

 

Tous les 25 du mois à 00h30

 

30 0 25 * *

 

Toutes les 10 minutes

 

*/10 * * * *

 

Toutes les 2 heures

 

* */2 * * *

 

dans le cas de notre script php à lancer toutes les nuits à 3h00

 

0 3 * * * php -f chemin/script.php >script.log

 

Enregistrer le fichier crontab

:wq

 

Redémarrer Cron

 

Sur la console du serveur : taper cron restart

Il n'est pas nécessaire de redémarrer Apache.

 

 

Sur un serveur mutualisé

 

En fonction de votre hébergeur et de ses différentes offres, il n'est pas forcément possible d'utiliser CRON.

 

Par exemple chez OVH, les offres Start et 1000 GP ne le supportent pas. Par contre c'est possible pour les autres offres :

Tous les détails sur : http://guides.ovh.com/MutualiseCron

 

Si votre hébergeur ne vous permet pas de lancer vous même vos scripts, il vous reste la délocalisation!

 

En effet, des spécialistes du webmonitoring vous proposent de gérer vos scripts.

 

 

A voir par exemple sur :

http://www.webcron.org/ ou le service est payant (à partir de 1€ pour 10 000 tâches)

 

 

 

 

 

Mise à jour le Mardi, 07 Juillet 2009 11:29