Pages : 1
#1 Le 08/03/2011, à 17:09
- Bakuna
[RESOLU]Backup FTP OVH incrémentale
Bonjour,
Voilà je possède un serveur Ubuntu 10.10 chez OVH avec un Backup FTP .
Je souhaiterais faire des sauvegardes incrémentielle de mon /home vers le Backup FTP tout le les soirs .
J'ai trouvais cette doc : http://www.dansteph.com/backupftp.php qui a l'aire intéressant mais mais la solution abordé consiste à avoir plusieurs copie d'une sauvegarde sur le Backup FTP et de les supprimer tout les 30 jours en les remplaçant par d'autres .
Mais moi ce que je veux c'est une sauvegarde incrémentielle tout les soirs on copie seulement les fichiers qui ont été modifiés depuis la dernière sauvegarde.
Merci d'avance
Dernière modification par Bakuna (Le 24/03/2011, à 16:32)
Hors ligne
#2 Le 09/03/2011, à 00:07
- benco
Re : [RESOLU]Backup FTP OVH incrémentale
Hello,
ma modeste contribution ...
Tout ce que tu as à changer pour que le script backupftpovh.sh réponde à tes besoins, c'est la ligne 55 :
#compression dun ou plusieurs repertoires choisi en parametre
tar cfzX $TEMPDIR$FILENAME.gz $EXCLUDEFILE $SAVEDIR $SAVEDIR1 $SAVEDIR2
C'est cette commande qui crée ce qui va être envoyé sur le backup FTP.
Si tu veux vraiment faire de l'incrémentiel, il faut la changer. Mais je connais pas assez bien les paramètres de tar pour t'aider, d'ailleurs je ne suis pas certain que ça soit possible avec cette commande ...
Une piste à envisager avec précaution vu mes connaissances : conserver le dernier backup sur ton serveur, utiliser rsync pour créer la différence, puis tar/gz pour compresser le tout ?
Il se fait tard, pas le temps d'éplucher le man de rsync qui est assez conséquent, désolé
Pour finir, je me permet de te poser cette question : quelle est la raison qui te motive à ne pas vouloir faire des sauvegardes complètes ? Le cpu, le débit, le stockage ?
Considère que la restauration sera grandement facilitée si tu fais des copies complètes
Au plaisir de te lire
Hors ligne
#3 Le 09/03/2011, à 10:03
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
En faite la suis en stage! Le sauvegarde incrémentielle est ce dont l'entreprise où je fait mon stage a besoins car il n'ont pas beaucoup d'espace de stockage. Il ne veulent pas se retrouver un jour avec le backup FTP remplie . Et avec la solution dont je mi le lien au dessus on va avoir environ 30 copie de la même sauvegarde tout les mois (d'après ce que j'ai compris). La Avec 30 copie de la même sauvegarde tout les mois, le backup FTP va vite se remplir.
J'ai aussi pensé à une chose comme il existe des logiciel qui font de la sauvegarde incrémentiel mais sur le serveur lui même (exemple : backuppc), il faut faire un scripte qui fera le transfert de la sauvegarde incrémentielle réalisé sur le serveur vers le Backup FTP.(en écrasant la vieille version présent sur le backup FTP).
je débute sous linux. ^^
Merci d'avance.
Dernière modification par Bakuna (Le 09/03/2011, à 10:12)
Hors ligne
#4 Le 09/03/2011, à 11:34
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Je viens de lire la doc http://doc.ubuntu-fr.org/tutoriel/sauve … avec_rsync sur rsync
Et je trouve que le sauvegarde lancée régulièrement avec cron est acceptable le seul problème est la conception du scripte qui fera le transfert vers le backup ftp .
Hors ligne
#5 Le 09/03/2011, à 16:36
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Voilà j'ai modifier le début du scripte qui est bas de site http://www.dansteph.com/backupftp.php qui permet de :
Lance un script shell "backupftpovh.sh" qui va archiver et compresser les trois répertoires les plus important "/home" "/usr/local/apache/conf" et "/var/named" en excluant "/home/ovh" et "/home/log/". Le backup étant Lancé toujours les même jour du mois et le nom de l'archive contenant la date du jour (1,4,8...) les backup seront remplacés chaque mois par le nouveaux, vous conservez ainsi en permanence 4, 8 ou même 30 backup par mois à votre convenance. Notez que l'archive transferée ou non est supprimée de votre disque dur à la fin du script.
Mais je voudrais faire une sauvegarde tout les soirs, en écrasant les vieilles versions de sauvegardes. par les nouvelles.
Par exemple : remplacer le fichier samba.zip d'hier par celle d'aujourd'hui .En gros je veut avoir une seule sauvegarde samba.zip sur le Backup FTP mais pas plusieurs comme sur le scripte original.
#!/bin/bash
#Mise à jour de la suavegarde incerémentielle avec rsync
rsync -rltgoDv --del --ignore-errors --force /home/echange/ /home/SAV/samba/
rsync -rltgoDv --del --ignore-errors --force /subversion/depots/ /home/SAV/svn/
#########################################################################
# CONNECTION AU BACKUP FTP
#########################################################################
SERVER="XXX.XXX.XXX.X" #Serveur backup d'OVH
USER="XXX" #Votre nom d'utilisateur
PASS="XXX" #Votre password
EMAIL="XXX@XXX.com" #Pour envoi mail si backup echoue
MAILSIOK="O" #Mettre "O" si on veut un mail aussi si backup ok
SAVEDIR="/home/SAV/samba" #Backup partage samba sans slash a la fin
SAVEDIR1="/home/SAV/svn" #Backup subversion SANS slash a la fin
##########################################################################autres parametre a éditer seulement par confirmé------------------------
FILENAME=`date +"%d"`_backupsite.tar #nom du fichier
TEMPDIR="/home/backupsite/" #repertoire temporaire de home
EXCLUDEFILE="/home/backupsite/backup_exclude.txt" #ce fichier doit contenir ...
#fin parametres, rien pour vous plus bas---------------------------------STARTTIME=`date +%s`
#pour traduire les codes d'erreur de ncftpput en texte
declare -a CDERR
CDERR[1]="Could not connect to remote host."
CDERR[2]="Could not connect to remote host - timed out."
CDERR[3]="Transfer failed."
CDERR[4]="Transfer failed - timed out."
CDERR[5]="Directory change failed."
CDERR[6]="Directory change failed - timed out."
CDERR[7]="Malformed URL."
CDERR[8]="Usage error."
CDERR[9]="Error in login configuration file."
CDERR[10]="Library initialization failed."
CDERR[11]="Session initialization failed."
CDERR[142]="Delai depassé pour la connexion."#envoi des infos sur le log authpriv (le log "secure" sur OVH)
DATE=`date +%H:%M:%S`
logger -p authpriv.info "[$0] -->Debut de backup de $SAVEDIR a $DATE"
echo "[$0] -->Debut de backup de $SAVEDIR a $DATE"#compression dun ou plusieurs repertoires choisi en parametre
tar cfzX $TEMPDIR$FILENAME.gz $EXCLUDEFILE $SAVEDIR $SAVEDIR1
RESULT=$?
if [ "$RESULT" != "0" ]; then
DATE=`date +%H:%M:%S`
logger -p authpriv.info "[$0] -->ERREUR TAR à $DATE Backup NON effectué."
echo "[$0] -->ERREUR TAR à $DATE Backup NON effectué."
echo "Erreur TAR le backup FTP sur OVH non effectue" | mail -s 'ERREUR BACKUP FTP OVH' $EMAIL
exit $RESULT
fincftpput -m -u $USER -p $PASS $SERVER "/" $TEMPDIR$FILENAME.gz
RESULT=$?
FILESIZE=`ls -l $TEMPDIR$FILENAME.gz | awk '{print $5}'`
FILESIZE=$(($FILESIZE/1000000))
rm -f $TEMPDIR$FILENAME.gz
if [ "$RESULT" != "0" ]; then
DATE=`date +%H:%M:%S`
logger -p authpriv.info "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué."
echo "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué."
echo "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué." | mail -s 'ERREUR BACKUP FTP OVH' $EMAIL
else
TOTALTIME=$(((`date +%s`-$STARTTIME)/60))
DATE=`date +%H:%M:%S`
logger -p authpriv.info "[$0] -->Fin de backup normal de $SAVEDIR a $DATE. Durée: $TOTALTIME mn. Taille: $FILESIZE Mb"
echo "[$0] -->Fin de backup normal de $SAVEDIR a $DATE. Durée: $TOTALTIME mn. Taille: $FILESIZE Mb"if [ "$MAILSIOK" = "O" ]; then
echo -e "Backup effectué à $DATE Status: OK\nDurée du backup: $TOTALTIME minutes\nFichier: $FILENAME.gz
transféré avec une taille de $FILESIZE Mb" | mail -s 'BACKUP FTP OVH OK' $EMAIL
fi
fi
exit $RESULT
Hors ligne
#6 Le 11/03/2011, à 11:44
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Bonjour;
voilà j'ai refait un petit scripte simple pour le transfert de sauvegarde incrémentielle de mon serveur ubuntu vers un FTP
Lorsque je lance le scripte manuellement tout fonctionne sans problème mais lorsque je le lance avec Cron il y a un problème lors de la compression ^^
voilà mon script.sh
#! /bin/bash
#sauvegarde incrémentielle avec rsync
rsync -rltgoDv --del --ignore-errors --force /home/echange/ /home/SAV/samba/
rsync -rltgoDv --del --ignore-errors --force /subversion/depots/ /home/SAV/svn/#compression du répertoire qui contient les sauvegarde samba et svn
zip -r sav.zip sav/#config pour la connexion
srv="192.168.1.1"
rep="/usr/mes_scripts"
login= "toto"
pass= "mdptoto"echo "début du transfert"
#connexion au FTP
ftp -ndv $srv <<-SCRIPT
user $login $pass
binary
lcd $rep
put sav.zip
ls
SCRIPT
rm -rf sav.zip
echo "Fin du transfert FTP"
exit
Et voilà le résultat que j'obtiens lors du lancement du scripte avec Cron
Sortie de la commande /usr/mes_scripts/script1.sh ..
sending incremental file list
sent 648 bytes received 17 bytes 1330.00 bytes/sec
total size is 8846423 speedup is 13302.89
sending incremental file listsent 1028 bytes received 23 bytes 2102.00 bytes/sec
total size is 35031 speedup is 33.33
zip warning: name not matched: sav/zip error: Nothing to do! (try: zip -r sav.zip . -i sav/)
debut de transfert FTP
Connected to 192.168.1.2.
220-FileZilla Server version 0.9.37 beta
220-written by Tim Kosse (Tim.Kosse@gmx.de)
220 Please visit http://sourceforge.net/projects/filezilla/
ftp: setsockopt: Bad file descriptor
---> SYST
215 UNIX emulated by FileZilla
Remote system type is UNIX.
---> USER toto
331 Password required for toto
---> PASS XXXX
230 Logged on
---> SYST
215 UNIX emulated by FileZilla
Remote system type is UNIX.
---> TYPE I
200 Type set to I
local: sav.zip: No such file or directory
?Invalid command
Local directory now /usr/mes_scripts
local: sav.zip remote: sav.zip
---> TYPE A
200 Type set to A
---> PORT 192,168,1,1,141,101
200 Port command successful
---> LIST
150 Opening data channel for directory list.
-rw-r--r-- 1 ftp ftp 8880028 Mar 11 11:07 sav.zip
226 Transfer OK
---> QUIT
221 Goodbye
Fin du transfert FTP
Erreur de compression (les phrases en gras) alors que j'ai pas cette erreur lorsque je lance le scripte manuellement .
Hors ligne
#7 Le 14/03/2011, à 08:30
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Un autre erreur avec un tar:
tar -cvzf sav.tgz sav/ à la place de zip -r sav.zip sav/
sent 1028 bytes received 23 bytes 2102.00 bytes/sec
total size is 35031 speedup is 33.33
tar: sav: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Hors ligne
#8 Le 14/03/2011, à 15:59
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Scripte terminé est fonctionne très bien.
le script final :
#! /bin/bash
#sauvegarde incrémentielle d'un partage samba et des projets subversion(svn) dans le répertoire sav.
rsync -rltgoDv --del --ignore-errors --force /home/echange/ /usr/mes_scripts/sav/samba/
rsync -rltgoDv --del --ignore-errors --force /subversion/depots/ /usr/mes_scripts/sav/svn/#info de connexion et de répertoire
srv="AdresseIpServerFTP"
rep="/usr/mes_scripts"
login="toto"
pass="mdptoto"#compression du répertoire sav qui contient les sauvegarde incrémentielle
cd $rep
tar -cvzf sav.tgz sav/#connexion au FTP
echo "debut de transfert FTP"
ftp -ndv $srv <<-SCRIPT
user $login $pass#Transfert des données au serveur FTP
binary
lcd $rep
put sav.tgz
ls
SCRIPT#suppression du fichier sav.tgz
rm -rf sav.tgz
echo "Fin du transfert FTP"
exit
Finalement le zip n'a pas marché donc je me suis rabattu sur le tar.
Mais maintenant je voudrais compléter mon scripte pour qu'on m'en voit un e-mail à chaque fois que le scripte s'exécute.
Quelqu'un aurait une idée ?
Dernière modification par Bakuna (Le 14/03/2011, à 19:59)
Hors ligne
#9 Le 15/03/2011, à 10:34
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Il faut vérifier si :
Points + :
-la sauvegarde incrémentielle s'est bien passé
-La compression s'est bien passé
-La connexion a réussi
- Le transfert a réussi
Point - :
-Problème de sauvegarde
-problème de compression
-problème de connexion
-problème de transfert
Hors ligne
#10 Le 15/03/2011, à 12:11
- benco
Re : [RESOLU]Backup FTP OVH incrémentale
AH bah, ça avance, bien
Pour envoyer des rapports, et bah tu créé le texte dans ton script, en rajoutant au fur et à mesure la sortie des instructions que tu exécute. Et tu envoie tout ça à la fin, avec la commande sendmail
Hors ligne
#11 Le 21/03/2011, à 10:11
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Et comment on fait pour récupéré la sortie des instructions ? ^^
Maitre tout les sortie dans une variable par exemple
Hors ligne
#12 Le 24/03/2011, à 16:30
- Bakuna
Re : [RESOLU]Backup FTP OVH incrémentale
Scripte final qui envoi aussi un e-mail à chaque qu'il s'exécute!
#! /bin/bash
#sauvegarde incrémentielle d'un partage samba et des projets subversion (svn) dans le répertoire doc.
rsync -rltgoDv --del --ignore-errors --force /home/echange/ /usr/mes_scripts/sav/samba/
rsync -rltgoDv --del --ignore-errors --force /subversion/depots/ /usr/mes_scripts/sav/svn#info de connexion et de répertoire
srv="192.168.1.1"
rep="/usr/mes_scripts"
login="toto"
pass="mdptoto"
mail= "dupont@domaine.fr"#compression du répertoire doc qui contient les sauvegardes incrémentielles
cd $rep
#création du fichier qui contiendra le résultat de la régénération du script
echo compte-rendu>compte-rendu.logtar -cvzf sav.tgz sav/
#connexion au FTP
echo "debut de transfert FTP"
ftp -ndv $srv <<-SCRIPT>>compte-rendu.log
user $login $pass#Transfert des données au serveur FTP
binary
lcd $rep
put sav.tgz
ls
SCRIPT#suppression du fichier sav.tgz
rm -rf sav.tgz
echo "Fin du transfert FTP"
mail –s "Compte-rendu sauvegarde" $mail<compte-rendu.log
exit
Il faut rajouter les lignes en gras si on veut recevoir un e-mail à chaque fois que le script s'exécute .
Dernière modification par Bakuna (Le 24/03/2011, à 16:33)
Hors ligne