Bonjour,
Actuellement je fais un dump de plusieurs de mes bases MySQL, mais je désire envoyer un mail pour vérifier la présence de mes fichiers.
Pour cela je fais un if sur des commandes find mais il me signale des problèmes de droit sur l’accès à mes dossiers, même executé en root et avec l'utilisateur administrateur alors que la commande find seule exécutée fonctionne.
Mon Script
J'ai essayé aussi avec if [[cmd1 && cmd2... ]] mais rien, je pense que ma manière de faire n'est pas bonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #!/bin/bash cd /home/administrateur/mon_dossier_de_stockage_de_mes_backups for i in base1 base2 base3 base4; do mysqldump --user=root --password='mon_passe' $i > ${i}_`date +%D | sed 's;/;-;g'`.sql tar jcf ${i}_`date +%D | sed 's;/;-;g'`.sql.tar.bz2 ${i}_`date +%D | sed 's;/;-;g'`.sql rm ${i}_`date +%D | sed 's;/;-;g'`.sql done DATETITRE=$(date +%D | sed 's;/;-;g') CMD1=$(find /home/administrateur/mon_dossier_de_stockage_de_mes_backups -name base1_$DATETITRE.sql.tar.bz2) CMD2=$(find /home/administrateur/mon_dossier_de_stockage_de_mes_backups -name base2_$DATETITRE.sql.tar.bz2) CMD3=$(find /home/administrateur/mon_dossier_de_stockage_de_mes_backups -name base3_$DATETITRE.sql.tar.bz2) CMD4=$(find /home/administrateur/mon_dossier_de_stockage_de_mes_backups -name base4_$DATETITRE.sql.tar.bz2) if $CMD1 -a $CMD2 -a $CMD3 -a $CMD4 then mail -s "Sauvegarde BDD terminee avec succes" monmail@mail.fr <<< "Les sauvegardes des bases de donnees ont ete effectuees avec succes" else mail -s "ERREUR Sauvegarde " monmail@mail.fr <<< "Les sauvegardes des bases de donnees n'ont pas ete effectuees, il y a un probleme. \n voir les scripts de sauvegarde et les sauvegardes dans \home\administrateur\mon_dossier_de_stockage_de_mes_backups" fi
Par la suite le script sera exécuté du crontab de root
Merci d'avance
Partager