Bonsoir,
Alors, je viens de réussir, grace à vous, à faire tourner mon premier cron ! Je vais mettre tous les détails ici, pour que les personnes qui auront le même soucis que moi sachent se repérer
Ce qui suit va présenter la construction d'une tâche cron, c'est-à-dire d'une tâche automatisée, mais ici seulement pour un code en PHP. Toutes les informations suivantes ne seront pas forcément les meilleures méthodes, mais elles marchent ^^
Le nécessaire pour faire des taches crons :
- un serveur dédié sous Linux
- les informations pour vous connecter en SSH (vous devez les avoir dans les informations sur votre compte).
Pour information, j'utilise le logiciel putty, téléchargeable
ici.
Première étape :
Création d'un fichier PHP, auquel vous pouvez donner le nom de cron.php, pour vous le repérer facilement.
Construction du fichier cron.php :
Code : Tout sélectionner
<?php
$connexion = mysql_connect('localhost','*********','*******') or die("Connexion:". mysql_error());;
mysql_select_db('********');
// Ensuite, un update banal sur une table test, du style :
mysql_query("UPDATE test SET valeur='100'"); // attention à ne pas mettre ce signe ` il est proscrit
mysql_close($connexion); // on referme la connexion
?>
Voici donc le fichier qui sera exécuté. En cas de tests prolongés, il suffit de sélectionner une valeur dans la table et de l'incrémenter à chaque fois.
Deuxième étape :
Maintenant, il faut rechercher à quel endroit se cache l'exécutable PHP. Pour cela, il faut ouvrir le logiciel de connexion SSH, se connecter avec le compte et mot de passe, et taper :
Vous avez désormais le chemin d'accès à votre exécutable php, qui va en quelque sorte indiquer avec quoi exécuter votre code (le fichier cron.php).
Rendez maintenant votre fichier "exécutable", en attribuant le droit au fichier d'être exécuté. Pour cela, tapez :
Maintenant, il ne reste plus qu'à créer la tache cron, prochaine étape.
Troisième étape :
Maintenant, il vous faut écrire votre tâche cron. C'est simple comme bonjour
quand on sait comment faire ^^'
Lorsque vous êtes connectés en SSH, il faut taper la commande suivante pour se rendre dans l'éditeur (en l'occurence, Vim) de tâches crons :
Hé bien, il ne reste plus qu'à créer les tâches crons. Un petit rappel sur la contruction d'une tache cron :
* * * * * /chemindaccesverslexecutable /chemindaccesverslefichier/cron.php
--> il faut savoir que le chemin d'accès vers le fichier ici est depuis la racine, je ne sais comment la trouver autrement que par la commande dir ../
Les étoiles représentent la périodicité, sous la forme :
Minute Heure Jour Mois Jourdelasemaine
-->
Ici pour plus de détails sur la périodicité
Au départ, durant les tests, vous allez mettre une tache toutes les deux minutes, vous n'aurez qu'à aller consulter votre base de donnée pour constater les changements, ou encore faire un echo du résultat (et à ce moment là, rajouter avant la tache cron la ligne : MAILTO=votreadresse@********.**)
Dans Vim, pour passez en mode édition, appuyez sur la touche "i".
Voici donc la commande en question :
Code : Tout sélectionner
HOME=/ // ecrit une seule fois, La variable HOME peut être utilisée pour le paramétrage du répertoire à utiliser pour l'exécution de commandes ou de scripts
*/2 * * * * /chemindaccesverslexecutable /chemindaccesverslefichier/cron.php // vous avez normalement trouvé le chemin vers l'éxécutable plus haut, souvent /usr/local/bin/php
Et voila, votre tache cron est prête. Il vous faut enregistrer les modifications avant de quitter. Il vous faut sortir du mode édition. Pour ma part, j'ai constaté que CTRL + C quittait le mode d'édition. On peut donc enregistrer en tapant :
Puis quitter Vim en tapant :
Et enfin, fermer la connexion en tapant tout simplement :
Allez constater sur la base de donnée l'effet de cette tache CRON. Lorsqu'elle marche, n'oubliez pas de diminuer la périodicité

et vous pouvez rajouter autant de lignes que vous le désirez, pour rajouter l'éxécution d'autres fichiers.
Voila, j'espère avoir aidé, et j'espère également ne pas avoir fait trop de fautes
Bonne soirée