Plop salut tous le monde !!!!
Je me permet de faire une remarque à propos du script.
#!/bin/bash
# Nom du script .. : save_db.sh
# Version ........ : 1.02
# Date ........... : 24/10/2014
# Auteur ........ : ZobraK
# Description : Script de sauvegarde des bases de données mysql
###############################################################
### CONFIGURATION DU SCRIPT ###
###############################################################
## Paramètres de connexion au serveur FTP
#
FTP_HOST='<serveur ftp>'
FTP_USER='<utilisateur ftp>'
FTP_PASSWD='<mot de passe ftp>'
FTP_PORT=<port ftp>
## Paramètres de connexion à la base mysql locale (root)
#
BDD_USER='root'
BDD_PASSWORD='<mot de passe root mysql>'
# Indiquer les bases de données à sauvegarder séparées par un espace
BDD='base1 base2 base3 etc...'
#Dossier de sauvegarde et temps en jours de conservation des sauvegardes (ici 5 jours)
#
BACKUP_FOLDER=</chemin/du/dossier/de/sauvegarde>
TIME_TO_KEEP=5 #jours
###############################################################
### FIN DE CONFIGURATION RIEN A MODIFIER APRES ###
###############################################################
## Fichiers de log (seul LOGFILE sera conservé à la fin du processus)
#
LOGFILE=$BACKUP_FOLDER/save_db.`date +"%Y-%m-%d"`.log
FTP_FILE=$BACKUP_FOLDER/ftp.log
DATE=$(date +%d-%m-%Y-%H-%M)
## On se place dans le dossier de travail
#
if [ ! -d $BACKUP_FOLDER ]; then
mkdir -p $BACKUP_FOLDER > /dev/null 2>&1
fi
cd $BACKUP_FOLDER
touch $LOGFILE
## Ventilation du fichier de logs
#
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++' >> $LOGFILE
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++' >> $LOGFILE
echo '---- Début de sauvegarde base de données le '$DATE' ----' >> $LOGFILE
echo 'Sauvegarde dans le dossier '$BACKUP_FOLDER >> $LOGFILE
echo 'Base de données sélectionnées : '$BDD >> $LOGFILE
## On sauvegarde avec mysqldump
#
for i in $BDD; do
## Sauvegarde des bases de donnees en fichiers .sql
#
mysqldump --user=$BDD_USER --password=$BDD_PASSWORD $i > ${i}_`date +"%Y-%m-%d"`.sql
## Compression des exports en tar.bz2 (le meilleur taux de compression)
#
echo 'Compression du fichier SQL '$i'.sql' >> $LOGFILE
tar jcf ${i}_`date +"%Y-%m-%d"`.sql.tar.bz2 ${i}_`date +"%Y-%m-%d"`.sql
## Suppression des exports non compresses
#
echo 'Compression Ok! Suppression du fichier non compressé' >> $LOGFILE
rm ${i}_`date +"%Y-%m-%d"`.sql
done
## Sécurisation des archives crées
#
chmod 600 $BACKUP_FOLDER/*
## Supprime les sauvegardes vieilles de plus de TIME_TO_KEEP jours
#
echo 'Nettoyage des archives et fichiers vieux de plus de '$TIME_TO_KEEP' jours' >> $LOGFILE
((TTK = $TIME_TO_KEEP - 1))
find $BACKUP_FOLDER -type f -mtime +$TTK -delete
## Mirroir dossier de travail sur le serveur FTP (avec option -R pour synchronisation montante)
#
echo 'Téléchargement des fichiers sur le serveur FTP '$FTP_HOST >> $LOGFILE
lftp -d -e "mirror -Re $BACKUP_FOLDER /sql; bye" -u $FTP_USER,$FTP_PASSWD -p $FTP_PORT $FTP_HOST 2> $FTP_FILE > /dev/null
echo 'Log de la session FTP :' >> $LOGFILE
cat $FTP_FILE >> $LOGFILE
rm $FTP_FILE
echo '---- Fin de sauvegarde base de données le '$DATE' ----' >> $LOGFILE
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++' >> $LOGFILE
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++' >> $LOGFILE
En effet la ligne 98 =>
lftp -d -e "mirror -Re $BACKUP_FOLDER /sql; bye" -u $FTP_USER,$FTP_PASSWD -p $FTP_PORT $FTP_HOST 2> $FTP_FILE > /dev/null
comporterais pas une erreur ?
le truc me sort une erreur 500 dans le logfile, dont voici la re-copie
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---- Début de sauvegarde base de données le 22-10-2015-10-08 ----
Sauvegarde dans le dossier /home/MickeyMouse/archives
Base de données sélectionnées : labdd
Compression du fichier SQL labdd.sql
Compression Ok! Suppression du fichier non compressé
Nettoyage des archives et fichiers vieux de plus de 5 jours
Téléchargement des fichiers sur le serveur FTP xxx.xxx.xxx.xxx
Log de la session FTP :
---- Connexion à xxx.xxx.xxx.xxx port xxxx
<--- 220 ProFTPD 1.3.4a Server (Debian) [::ffff:xxx.xxx.xxx.xxx]
---> FEAT
<--- 211-Features:
<--- LANG en-US.UTF-8*;en-US
<--- MDTM
<--- MFMT
<--- TVFS
<--- UTF8
<--- MFF modify;UNIX.group;UNIX.mode;
<--- MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
<--- SITE MKDIR
<--- SITE RMDIR
<--- SITE UTIME
<--- SITE SYMLINK
<--- REST STREAM
<--- SITE COPY
<--- SIZE
<--- 211 End
---> LANG
<--- 200 Using default language en_US.UTF-8
---> OPTS UTF8 ON
<--- 200 UTF8 set to on
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
---> USER frank
<--- 331 Password required for MickeyMouse
---> PASS password
<--- 230 User MickeyMouse logged in
---> PWD
<--- 257 "/home/MickeyMouse" is the current directory
---> MKD /sql
<--- 550 /sql: Permission denied
---- CWD path to be sent is `/sql'
---> CWD /sql
<--- 550 /sql: No such file or directory
mirror: L'accès a échoué : 550 /sql: No such file or directory
---> QUIT
---- Fermeture du socket de contrôle
---- Fin de sauvegarde base de données le 22-10-2015-10-08 ----
Alors je me suis permis de supprimer ces quatre caractères /sql (une erreur ?) et tout est parti comme sur des roulette