Quand tout est sous contrôle

8 mai 2014 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Vous avez probablement déjà voulu exécuter des scripts ou des lignes de commandes à des heures précises ou voir même chaque tous les lundis.

Pour cela, il faut mettre en place des tâches CRON que l’on va configurer via une crontab.

Pour ce faire, il faut que votre serveur soit de la famille unix, ensuite rien de plus simple, il faut uniquement configurer la crontab en précisant la data et ce qu’il doit exécuter.

Les commandes essentielles

// Affiche le contenu de la crontab
crontab -l

// Permet de modifier la crontab
crontab -e

Pour ce qui est de la syntaxe de la date

// mm hh jj MMM JJJ 
// mm représente les minutes (de 0 à 59)
// hh représente l'heure (de 0 à 23)
// jj représente le numéro du jour du mois (de 1 à 31)
// MMM représente le numéro du mois (de 1 à 12)
// JJJ représente le numéro du jour dans la semaine (0 représente le dimanche, 1 représente le lundi, etc.)

// Pour chaque valeur numérique les notations possibles sont :
// * : à chaque unité
// 5,8 : les unités 5 et 8
// 2-5 : les unités de 2 à 5
// */3 : toutes les 3 unités (0, 3, 6, 9, etc.)
// 10-20/3 : toutes les 3 unités, entre la dixième et la vingtième (10, 13, 16, 19)

Et maintenant, on passe à du concret

0 4 * * 1-5 mysqldump -u root -proot --opt nom_base_de_donnees > fichier_export.sql

Ici, un dump de la base de données sera donc réalisé tous les jours (du lundi au vendredi) à 4h du matin.

Et si par exemple on souhaite exécuter un fichier ?

0 4 * * 1-5 php chemin_du_fichier.php

Rien de plus simple 🙂 // il faut préciser php avant le chemin pour que la crontab sache que c’est un fichier php à interpréter.

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories