lundi 30 janvier 2012

Automatiser l'interrogation d'une base Mysql

Automatiser les traitements est très utile pour maintenir sa base de données. Nous allons voir ici comment interroger notre base simplement chaque lundi à 08h. Plus tard, nous verrons comment automatiser des tâches beaucoup plus complexes.Tout d'abord, il faut tester ces requêtes et les enregistrer dans un fichier .sql appelé <nomdufichiersql>.

SELECT <champs1>,<champs2> FROM<table> WHERE <champs>="<valeur>";

Ensuite, il faut appeler ce fichier

cat <nomdufichiersql> | mysql -u <utilisateur -p<mdp> <bdd> | mail -s "`date`" <@mail>

Dans cet exemple, il s'agit d'envoyer par mail avec pour objet la date du jour le résultat de la requête contenue dans le fichier <nomdufichiersql>.

Pour terminer, il suffit de créer un cron qui va exécuter la commande ou un script. S'il est possible de mettre la commande directement,faites le. Si elle est trop longue et risque de vous pourrir la vue sur votre crontab alors mettez la dans un fichier que vous devez rendre exécutable (droit x).

Editez votre crontab avec crontab -e et insérez

00 08 * * mon cat <nomdufichiersql> | mysql -u <utilisateur -p<mdp> <bdd> | mail -s "`date`" <@mail>

Aucun commentaire: