![]() |
|
|
#1 |
|
Membre
|
Coucou !
EDIT DU 08-05-08 Le script vous envoie à présent un mail avec un récapitulatif de la sauvegarde. Il vous précise pour chaque compte comment la sauvegarde s'est déroulée. Par exemple : Code:
ETAT DE VOTRE SAUVEGARDE pour le 06-05-08 --------------------------------- battlero Sauvegarde sql ok. battlero Sauvegarde ok. --------------------------------- Code:
ETAT DE VOTRE SAUVEGARDE pour le 06-05-08 --------------------------------- battlero Problème lors de la sauvegarde sql battlero Sauvegarde ok. --------------------------------- Pour ceux qui utilisent ce script, recommencez la phase d'installation ou bien téléchargez parametres.sh et ovh-sauve-V2.sh grâce à wget. Complétez ensuite les infos dans parametres.sh EDIT DU 01/05/08 : LE SCRIPT EFFACE MAINTENANT LES ANCIENNES SAUVEGARDES ! VOUS POUVEZ CHOISIR COMBIEN DE SAUVEGARDES CONSERVER ! Disclamer :Je ne suis pas un pro, et ne peux être tenu pour responsable de pertes de données suite à l'utilisation de ce script! Avant de vous le fournir, je l'ai bien entendu testé, et je n'ai trouvé aucun problème particulier ! Si vous avez envie de modifier ce script, faites le, il est la pour vous aider ! Si vous voulez partager les modifications de ce script, faites le à la suite de ce poste pour que tout le monde puisse suivre l'évolution ! Si vous avez envie de m'envoyer 500euros, demandez mon adresse postale ! Si vous avez envie de me baffer ... je suis plus là ! Utilité du script :- Très facile à mettre en place - Sauvegarde automatique via cron si vous le désirez ! - Lors de l'installation, il détectera les sites que vous hébergez et se paramétrera pour les sauvegarder sans vous embêter ! -Sauvegarde de vos site indépendamment les uns des autres pour une restauration site par site si vous le voulez ! -Sauvegarde sur votre disque dur OU sur ftp (quelconque ou celui qu'OVH vous fourni) -Si la sauvegarde se fait sur ftp, vous aurez toutes les sauvegardes datées dans un répertoire. De cette façon si besoin, vous pouvez restaurer une sauvegarde qui date de 5 semaines -Vous pourrez paramétrer le nombre d'anciennes sauvegardes à conserver Encore à faire :Donnez moi des idées ![]() Installation du script :La vous allez voir, j'ai tenté d'aider les débutants en préparant un script d'installation. juste avant de télécharger ce script il va vous falloir faire quelques petites choses : Il vous faut lftp pour transférer les archives sur un ftp. Si vous voulez sauvegarder sur ftp, et que le paquet lftp n'est pas installé, faites le : Code:
emerge --sync && emerge lftp Connectez vous en ssh à votre serveur, assurez vous que vous avez les droits root, et tappez : Code:
adduser backup Notre utilisateur est crée, maintenant on lui donne un répertoire : toujours avec les droits root, tappez : Code:
mkdir /home/backup && chown -R backup /home/backup La procédure est simple : Rendez-vous dans le répertoire /home/backup et téléchargez le script d'installation en tapant ceci : Code:
cd /home/backup/ && wget http://team.battleroyale.fr/linux/backupgentooV2/installbackup.sh Code:
sh /home/backup/installbackup.sh Dans ce fichier, vous allez trouver les répertoires de vos sites. Il va en manquer, comme par exemple ftp, logs par exemple. C'est tout à fait normal car normalement ils ne servent à rien! Donc si ce fichier vous convient (c'est à dire qu'il contient les bons répertoires contenus dans /home) refermez le ![]() Si le contenu ne vous convient pas, ajouter ou enlever les noms correspondants. IMPORTANT : Dans ce fichier nom, ne mettez qu'un seul nom par ligne, et ne mettez aucun espace ou ligne vide ! Donc voilà, l'installation est finie, il va falloir passer à la phase de configuration! Pour cette configuration il va vous falloir modifier 1 fichier : /home/backup/parametres.sh Pour éditer ce fichier : Code:
nano /home/backup/parametres.sh Vous devez logiquement modifier le mot "ICI" et donner vos informations au script. Voilà c'est terminé ! Ligne à lancer pour sauvegarder vos sites : Code:
sh /home/backup/ovh-sauve-V2.sh Code:
sh /home/backup/ovh-restaur-V2.sh A SAVOIR Lors de la restauration, le script va restaurer tous les comptes qui se trouvent dans : /home/backup/nomrest Si vous ne désirez restaurer que quelques comptes, modifiez ce fichier (en respectant les normes données pour le fichier /home/backup/nom). Si ce fichier n'existe pas, créez le (le script le fera lui même lors de la première restauration) Si en passant par le module ovhm, vous ajoutez un hébergement, il vous faudra modifier le fichier /home/backup/nom pour y inclure vous même le compte à sauvegarder. Si vous n'avez pas envie d'éditer vous même ce fichier, vous pouvez éventuellement supprimer les fichiers : /home/backup/ovh-sauve-V2.sh /home/backup/ovh-restaur-V2.sh /home/backup/nom /home/backup/nomrest et recommencer l'installation du script (les nouveaux comptes seront donc pris en compte). Dernière chose : Si vous sauvegardez sur un ftp, chaque sauvegarde sera conservée dans un repertoire nommé du jour de la date de sauvegarde. (par exemple : 08-04-29). Le script effacera les sauvegardes trop anciennes ! Le nombre de sauvegardes à conserver se trouve dans le fichier paramétres ! AIDONS NOUS N'hésitez pas à donner des idées, ou des corrections, elle seront les bienvenues. POUR SAUVEGARDER GRACE A CRON : C'est tout simple, en root tappez : Code:
crontab -e Code:
00 6 * * * /home/backup/ovh-sauve-V2.sh ![]() Pour restaurer : Code:
sh /home/backup/ovh-restaur-V2.sh Dernière modification par madrippeur 06/05/2008 à 10h53 |
|
|
|
|
|
#2 |
|
Membre
Date d'inscription: octobre 2005
Messages: 89
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
hello,
tu tombes bien, je cherchais un bon script. Je n'ai pas encore testé le tien car en cours sur un autre depuis hier :-) Voici pour moi les fonctions interessantes si ce n'est pas le cas: - 1. copie bete et méchante des sites (/home/toto > backup/home/toto) - 2. si il existe une 1ere sauvegarde, la zipper. - 3. Si il existe un Zip trop vieux de X jours, le supprimer. - 4. revenir à l'étape 1. on aurait donc la derniere sauvegarde accessible directement (non compressée). Et X derniers zippés. ça éviterait de descendre 20Go d'archive pour recuperer un fichier de 3Ko !!! :-) |
|
|
|
|
|
#3 |
|
Membre
Date d'inscription: novembre 2007
Messages: 2 579
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
ovh-sauve-V2-1.sh :
Code:
#!/bin/bash #################################PARAMETRES A EDITER############################################################### # PARAMETRES A EDITER SERVER="ICI" #Serveur backup ftp USERFTP="ICI" #Votre nom d'utilisateur ftp PASSFTP="ICI" #Votre password ftp ENVOIFTP="1" #si 1 on envoie la sauvegarde sur un ftp si 0 on la laisse dans le repertoire /home/backup PASSSQL="ICI" #Definition du pass sql root PORTFTP="ICI" #Port du ftp ############################################################################################################## #############################################Création des fichiers nécessaires################################################### if [ ! -f /home/backup/nom ] >/dev/null then touch /home/backup/datesauve echo "0-0-0" > /home/backup/datesauve fi if [ ! -f /home/backup/nom ] >/dev/null then clear echo "Le fichier /home/backup/nom est manquant," echo "ce script va définir les utilisateurs à sauvegarder" echo "Je vous conseil d'aller vérifier le contenu de ce fichier pour être sur que le" echo "contenu vous convienne." echo "Au prochain lancement, le script sauvegardera le contenu du fichier nom" cd /home/ && dir -1 > /home/backup/YEAH.txt sed -e '/backup/d' /home/backup/YEAH.txt > /home/backup/YEAH2.txt sed -e '/aquota.user/d' /home/backup/YEAH2.txt > /home/backup/YEAH.txt sed -e '/ftp/d' /home/backup/YEAH.txt > /home/backup/YEAH2.txt sed -e '/log/d' /home/backup/YEAH2.txt > /home/backup/YEAH.txt sed -e '/lost+found/d' /home/backup/YEAH.txt > /home/backup/YEAH2.txt cat /home/backup/YEAH2.txt > /home/backup/nom rm -f /home/backup/YEAH2.txt && rm -f /home/backup/YEAH.txt exit 0 fi if [ ! -d /home/backup/sauvegarde/ ] >/dev/null then mkdir /home/backup/sauvegarde chown -R backup /home/backup/restauration/ fi if [ ! -d /home/backup/restauration/ ] >/dev/null then mkdir /home/backup/restauration chown -R backup /home/backup/restauration/ fi if [ ! -f /home/backup/exclude.txt ] >/dev/null then touch /home/backup/exclude.txt chown backup /home/backup/exclude.txt echo '/home/*/www/stats' > /home/backup/exclude.txt fi #####################################Création des variables nécessaires############################################ TEMPDIR="/home/backup/sauvegarde/" EXCLUDEFILE="/home/backup/exclude.txt" DATE=`date +"%d-%m-%y"` SAUVE=`cat /home/backup/datesauve` if [ $ENVOIFTP = 1 ] >/dev/null then if [ $SAUVE != $DATE ] >/dev/null then lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "mkdir /$DATE ;quit" echo $DATE > /home/backup/datesauve fi fi ####################################################################################################### for USER in `cat /home/backup/nom` do sleep 2 clear echo "------------------------------------------------------------------------" echo $USER if [ "$USER" != "ovh" -a "$USER" != "ovhm" -a "$USER" != "mysql" -a "$USER" != "vpopmail" ] >/dev/null then cd /home/$USER && mysqldump -u root -p$PASSSQL $USER >$USER.sql fi nice -n 19 tar cfzX $TEMPDIR$USER.tar.gz $EXCLUDEFILE /home/$USER/ nice -n 19 rm -f /home/$USER/$USER.sql if [ $ENVOIFTP = 0 ] >/dev/null then nice -n 19 chown backup /home/backup/sauvegarde/$USER.tar.gz fi if [ $ENVOIFTP = 1 ] >/dev/null then nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /$DATE/ && put /home/backup/sauvegarde/$USER.tar.gz ;quit" nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz fi done ovh-restaur-V2.sh : Code:
#!/bin/bash #################################PARAMETRES A EDITER############################################ RESTODEPUISFTP="1" #Pour restaurer depuis un ftp mettre à 1 sinon mettre à zero SERVER="ICI" #Serveur backup ftp USERFTP="ICI" #Votre nom d'utilisateur ftp PASSFTP="ICI" #Votre password ftp PASSSQL="ICI" #Definition du pass sql root PORTFTP="21" #Port du ftp ############################################################################################# ###################################Création des fichiers nécessaires########################################## if [ ! -d /home/backup/restauration/ ] >/dev/null then mkdir /home/backup/restauration chown -R backup /home/backup/restauration/ fi if [ ! -f /home/backup/datesauve ] >/dev/null then echo "Il n'y a jamais eu de sauvegarde d'effectuée !" echo "Effectuez au moins une sauvegarde pour que la restauration soit possible" sleep 5 exit 0 fi TEST=`cat /home/backup/datesauve` if [ $TEST = "0-0-0" ] >/dev/null then echo "Il n'y a jamais eu de sauvegarde d'effectuée !" echo "Effectuez au moins une sauvegarde pour que la restauration soit possible" sleep 5 exit 0 fi if [ ! -f /home/backup/nomrest ] >/dev/null then cat /home/backup/nom > /home/backup/nomrest fi ###############################Création des variables nécessaires################################################### SAUVE=`cat /home/backup/datesauve` REPDLARCHIVE="/home/backup/restauration/" #################################################################################################### clear echo "La date de votre dernière sauvegarde est :" echo " $SAUVE" echo "Si vous voulez restaurer à partir d'une date plus ancienne," echo "modifiez le fichier : /home/backup/datesauve" echo "" echo "Ecrivez continuer pour restaurer à partir de cette date" echo "Ecriver stop pour arrêter le script et modifier vous même la date de restauration" echo "dans le fichier /home/backup/datesauve" echo -n "Votre Choix : " read choix if [ $choix != continuer ] >/dev/null then exit 0 fi clear for USER in `cat /home/backup/nomrest` do echo "--------------------------------------------------------------" echo $USER ERREUR="0" if [ $RESTODEPUISFTP = 1 ] >/dev/null then echo "télèchargement de l'archive" cd $REPDLARCHIVE && lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "get /$SAUVE/$USER.tar.gz ;quit" echo "télèchargement de l'archive terminé" fi if [ ! -f /home/backup/restauration/$USER.tar.gz ] >/dev/null then echo "La sauvegarde $USER n'existe pas! ce nom as t'il été sauvegardé ?" sleep 4 ERREUR="1" fi if [ $ERREUR = 0 ] >/dev/null then echo "décompression de l'archive récupérée" tar xzf $REPDLARCHIVE$USER.tar.gz if [ -f /home/backup/restauration/$USER.sql ] >/dev/null then cd /home/backup/restauration/home/$USER && mysql -u root -p$PASSSQL -D $USER < $USER.sql echo "Base de donnée restaurée" fi rm -f $REPDLARCHIVE$USER.tar.gz rm -f /home/backup/restauration/home/$USER/$USER.sql echo "restauration des fichiers du site" cp -r -f /home/backup/restauration/home/$USER/* /home/$USER chown -R $USER:users /home/$USER rm -R -f /home/backup/restauration/* echo "Opération terminée pour ce site : $USER" echo "--------------------------------------------------------------" sleep 2 fi done
__________________
Scientia Vincere Tenebras |
|
|
|
|
|
#4 |
|
Membre
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
Mon script fait ce que tu demande.
Il envoie tes sites, zippés, sur le ftp ovh (ou autre) ou bien dans un repertoire : /home/backup/sauvegarde. Il te sépare à chaque sauvegarde les differentes sauvegardes dans un répertoire nommé par exemple : 29-04-08, mais uniquement si tu passe par la sauvegarde ftp. Si tu sauvegarde sur ton hdd (pour un gain de place) il ne te conserve que la derniere sauvegarde. Pour restaurer, il y a un script relativement simple qui te dis : la derniere sauvegarde date de tel jour, voulez vous restaurer? Tu as la possibilité, si tu sauvegarde sur ftp, de lui dire de restaurer à partir d'un répertoire plus ancien en modifiant le fichier : /home/backup/datesauve. Pour le moment, le script n'efface pas les sauvegardes plus anciennes, la j'aurai besoin de votre aide ^^ Ce que je peux faire aussi, c'est éventuellement laisser le choix à l'utilisateur si il veux zipper ou non ses fichiers. Vous me dites si c'est utile, mais perso, je préfère zipper. Dernière modification par madrippeur 30/04/2008 à 13h35 |
|
|
|
|
|
#5 |
|
Membre
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
J'ai trouvé une solution pour effacer les anciennes sauvegardes !
Je teste sous toutes les coutures, et je vous tiens au courant ! |
|
|
|
|
|
#6 |
|
Membre
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
Voilà j'ai testé le script sous le plus d'angles possibles, je n'ai pas trouvé de problèmes.
EDIT DU 01/05/08 : LE SCRIPT EFFACE MAINTENANT LES ANCIENNES SAUVEGARDES ! VOUS POUVEZ CHOISIR COMBIEN DE SAUVEGARDES CONSERVER ! |
|
|
|
|
|
#7 |
|
Membre
Date d'inscription: octobre 2005
Messages: 89
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
au fait pour les vrais newbie, le groupe "backup" n'existe pas (erreur avec chown) et le répertoire "ovh-V2" non plus sur le FTP (Peut etre le mettre en parametre ?)
|
|
|
|
|
|
#8 |
|
Membre
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
oups... oui c'est vrai ^^
je modifie
|
|
|
|
|
|
#9 |
|
Membre
Date d'inscription: octobre 2005
Messages: 89
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
ça marche nickel :-)
améliorations ? - pouvoir faire une restauration partielle (un fichier, un repertoire, une table, plusieurs tables...) sans avoir à tout péter )
|
|
|
|
|
|
#10 | |
|
Membre
|
Re : HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
C'est possible de ne restaurer qu'un seul utilisateur !
Par contre le fait de ne restaurer qu'un utilisateur, cela a pour effet de restaurer le contenu du www de ce même utilisateur, ainsi que la base de donnée. On ne peux pas restaurer que le site ou un répertoire de ce site, ou que la base de donnée. Je vais regarder si je peux faire quelque chose pour ça, mais je ne suis pas sûr d'en être capable. Pour le feedback, n'hésitez pas à dire si cela fonctionne ou pas ![]() Citation:
|
|
|
|
|
![]() |
| Outils de la discussion | |
|
|