[Résolu] [Shell] mysqldump et envoi mail si erreur

mysqldump et envoi mail si erreur [Résolu] [Shell] - Shell/Batch - Programmation

Marsh Posté le 10-01-2011 à 05:58:22    

Bonjour,
Comme le titre peut le dire explicitement, je cherche à écrire un script qui m'enverra un mail, si le mysqldump retourne une erreur.
Pour envoyer un mail, j'utilise MSMTP. Je tiens à préciser, que mon mysqldump fonctionne très bien, et mon envoi de mail par msmtp également.
 
Ca me donnerai un truc du genre :
 

Code :
  1. #! /bin/sh
  2. # /script sauvegarde base de donnees
  3. mysqldump -h localhost -u root -ppass nom_base
  4.   if error then cat probleme.txt | msmtp administrateur@montaf.fr
  5.     else > /var/www/mondossier/sauvegarde.sql
  6.   fi


 
Mon problème, est de définir "error". Comment puis-je dire à mon code, que le dump a fait une erreur, ou est ce que l'un de vous a déjà écrit un truc dans le genre ?
 
Merci d'avoir lu.


Message édité par Haloavandaha le 11-01-2011 à 23:25:47
Reply

Marsh Posté le 10-01-2011 à 05:58:22   

Reply

Marsh Posté le 10-01-2011 à 08:49:56    

Regarde du côté des codes d'erreur de mysqldump, normalement si tout se passe bien, il va retourner 0, alors qu'il retournera autre chose si ça se passe mal (le chiffre dépendant de la nature de l'erreur)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 10-01-2011 à 23:25:24    

Yep merci, du coup, selon cette logique, au niveau de la condition ça ressemblerai à un truc du genre :

Code :
  1. if error <> 0 then ....blablabla


Je vais essayer de trouver, j'ai entendu parler de "error level" ou un truc du genre, voir si je peux faire quelque chose avec.
Si quelqu'un a déjà fait ça, je suis preneur de toutes idées  :bounce:  
 
Merci.

Reply

Marsh Posté le 10-01-2011 à 23:56:59    

Est-ce qu'une simple commande bash comme ça marcherait?
 
mysqldump ... && cat ... | msmtp

Reply

Marsh Posté le 11-01-2011 à 00:29:42    

Bonjour,
 
Je viens de tester la solution avec &&, cependant, même si la sauvegarde se passe bien, ça m'envoie quand même un mail.
Le but de l'opération pour moi, est de recevoir un mail uniquement s'il y a un problème avec le mysqldump.
 
Mais merci quand même, je cherche toujours  :)

Reply

Marsh Posté le 11-01-2011 à 00:50:48    

Haloavandaha a écrit :

Bonjour,
 
Je viens de tester la solution avec &&, cependant, même si la sauvegarde se passe bien, ça m'envoie quand même un mail.
Le but de l'opération pour moi, est de recevoir un mail uniquement s'il y a un problème avec le mysqldump.
 
Mais merci quand même, je cherche toujours  :)


Si tu utilises && il va t'envoyer un mail uniquement si tout se passe bien, remplace "&&" par "||" et il t'enverra un mail uniquement si le dump foire

Reply

Marsh Posté le 11-01-2011 à 01:25:30    

Oui pardon c'était bien de || dont je voulais parler. J'ai inversé l'effet désiré dans ma tête.
 
Merci d'avoir noté l'erreur :jap:

Reply

Marsh Posté le 11-01-2011 à 22:47:47    

Genial !!! Merci bcp ça marche super bien.
Hahahaha !

Reply

Marsh Posté le 07-04-2012 à 20:23:48    

Haloavandaha a écrit :

Genial !!! Merci bcp ça marche super bien.
Hahahaha !


 
Et poour le coup, tu pourrais nous passer le script complet ? merci par avance

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed