HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2
J'ai installé ce script de Backup FTP OVH
http://www.dansteph.com/backupftp.php sur mon dédié mais j'ai quelques soucis, je suis sous Gentoo Release 2 :
1) Théoriquement, ce script doit faire le backup de "/home" "/usr/local/apache/conf" et "/var/named" mais je n'ai pas de "/var/named" dans mon arborescence ?
2) La copie de mon fichier backup sur le serveur ftp backup d'OVH ne fonctionne pas, il le copie bien dans /home/backupsite mais pas le serveur ftp backup d'OVH, quelqu'un sait-il pourquoi ?
3) Si je garde dans mon fichier backuphebdo.sh les lignes :
SAVEDIR2="/var/named" #Backup optionnel SANS slash a la fin
et
tar cfzX $TEMPDIR$FILENAME.gz $EXCLUDEFILE $SAVEDIR $SAVEDIR1 $SAVEDIR2
Il me copie bien le fichier de backup dans /home/backupsite mais si je supprime la ligne :
SAVEDIR2="/var/named" #Backup optionnel SANS slash a la fin
et supprime le $SAVEDIR2 dans la ligne
tar cfzX $TEMPDIR$FILENAME.gz $EXCLUDEFILE $SAVEDIR $SAVEDIR1 $SAVEDIR2
Il ne me copie plus le fichier de backup dans /home/backupsite et Je ne pige pas pourquoi ?
choubaka
27/04/2010, 13h26
Tout pareil !
Je suis hyper-preneur de ce script mais le lien ne fonctionne plus (
http://team.battleroyale.fr/linux/ba...stallbackup.sh)
Quelqu'un serait-il assez sympa pour remettre le fichier en partage ?
Merki !!!
DarkSun*
19/04/2010, 11h47
Idem ça m'aurait été bien utile
zut.. il est passé a la trappe ce script?? il avait l'air bien?.. personne qui peut relancer le truc?
merci d'avance..
Pareil, il semble que le script ne soit plus en ligne
Bonjour
J'essaye d'installer le script mais au moment du téléchargement j'au une erreur 404 :
Code:
requête HTTP transmise, en attente de la réponse...404 Not Found
22:46:17 ERREUR 404: Not Found.
Aussi juste avant au moment d'installer lftp le server m'indique des éléments manquants :
Code:
.....
!!! All ebuilds that could satisfy "lftp" have been masked.
!!! One of the following masked packages is required to complete your request:
- net-ftp/lftp-3.5.14 (masked by: corruption)
- net-ftp/lftp-3.6.1-r1 (masked by: corruption)
- net-ftp/lftp-3.7.0 (masked by: corruption)
- net-ftp/lftp-3.7.1 (masked by: corruption)
- net-ftp/lftp-3.7.3 (masked by: corruption)
- net-ftp/lftp-3.7.15-r1 (masked by: corruption)
- net-ftp/lftp-4.0.3 (masked by: corruption)
- net-ftp/lftp-4.0.4 (masked by: corruption)
- net-ftp/lftp-4.0.5 (masked by: corruption)
For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
Merci pour votre aide.
Salut,
Afin de contourner le problème du packet lftp qui n'est plus dispo en release 2, et d'éviter un emerge --sync qui nous sort d'un ovh release 2, serait il possible de remplacer dans le script les commandes lftp par ncftp ou ncftpput ?
Si oui quelqu'un pourrait il nous donner la syntaxe exacte dans le script svp ?
Merci d'avance Madrippeur
Bonjour à tous,
Un grand merci à Madrippeur !!! pour ces superbes scripts qui m'ont bien été utiles, surtout lorsque j'ai du passer de la Gentoo release 2 à la Gentoo release1 (à cause de pas mal de souci pour emerge qui fonctionnait mal et la taille de 3 Go trop court pour les logs et autres...)
L'option ftpbackup pour mon dédié activé depuis mon manager m'a permis de sauvegarder sans souci (encore faut-il créer le dossier ovh-V2) tous mes webs et bases de données.
Le problème est venu par la suite pour tout réinstaller!
j'ai du recréer tous les noms de domaine un à un, reconfigurer tous les fichiers binds, recréer tous les emails et remettre tous les bons droits utilisateurs pour chaque domaine!!! une bonne journée!
alors la question est au sujet de la RESTAURATION? est-il possible d'automatiser :
- dans un premier temps la sauvegarde des paramètres pour chaque domaine : login, mot de passe, taille domaine, php4 ou php5 telnet ou non, alias, configuration fichier bind ... vu que pour les scripts de madrippeur on recueille bien les identifiants dans le fichier nom .
on retrouve tous les mots de passe en claire à : /home/vpopmail/domains/*nomdudomaine/vpasswd. ne peut-on pas les récupérer par une même routine?
ne peut-on pas inclure tous ces paramètres dans un autre fichier que nom?
- réutiliser ces paramètres dans un deuxième temps lors d'une restauration intégrale avec ovh-restaur-V2-integrale.sh qui utiliserait les même fonctions que lorsque l'on crée un à un les domaines avec ovhm : j'ai localisé le script à l'origine de la création du domaine, mail, bdd... il est à /usr/libexec/webmin/ovhm tout est écrit en cgi?? formulaire_creer_domaine.cgi , creer.cgi ...
ne peut-on pas inclure ses applications dans ovh-restaur-V2-integrale.sh ou boucler dessus depuis ovh-restaur-V2-integrale.sh en leur envoyant login et passe...?
Une fois que chaque domaine est créer par ovh-restaur-V2-integrale.sh, faire le dump de chaque base et restaurer le ftp, recréer automatiquement les mails.
Le souci est qu'avec ovh-restaur-V2.sh il m'a écraser vpopmail et les mails n'étaient pas fonctionnels.
lorsque les fichiers webs sont remis en place ils n'ont pas les bons droits utilisateurs et il faut se tapper chown pour tous les webs user:utilisateur ...
ne peut-on pas l'automatiser?
J'espère avoir été claire.
Merci pour ceux qui m'ont lu jusqu'au bout, j'espère que quelqu'un pourra regarder ces propositions.
quentin001
25/01/2010, 16h01
Si je puis me permettre, à ceux qui cherchent un script tout fait, contentez-vous de l'original, mais je ne crois pas que ce soit la bonne méthode de travailler si l'on ne cherche pas plus loin ! inspirez-vous de scripts existants, comprenez-les et modifiez-les selon vos souhaits. sinon au moindre problème, vous ne saurez pas que faire.
Mon problème lftp du script vient du fait que j'utilise la première version pour le moment

Envoyé par
kreatik
Je t'aiderais volontier mais je n'ai jamais ecris une ligne de bash... par contre où peut-on trouver le script dans sa dernière version modifiée ? Il y a des modifis ici et là sur ce topic mais y'a t'il un gz de tout ça ? merci
Non désolé je n'ai pas fait de gz pour les modifications que j'ai proposées, car je laisse à l'auteur original le soin d'adapter s'il le veut lui-même son script selon mes propositions. je n'ai donné que des pistes de développement.
j'ai adapté, sur une debian, son script pour des besoins personnels et l'ai mis en ligne ici pour montrer ce que l'on pouvait améliorer/compléter tout en gardant (en partie car je ne me suis pas attaché du tout au script de restauration) la structure originale.
Pour ma part, j'ai fait en sorte que l'on puisse garder en local et/ou envoyer sur le ftp, garder j-1 à j-x, s-1 a s-x et m-s à m-x (pour ma part x=6). j'exécute le script par cron.daily avec le paramètre day, par cron.weekly avec le paramètre week, et par cron montly avec le paramètre month.
dans le script j'ai rajouté un case indiquant ce qu'il faut faire selon le paramètre:
exemple :
Code:
case "$1" in
day)
TEMPDIR="/home/backup/home_save/d-1/"
REMOTEBACKUPDIR="home_save/d-1/"
SAVENAME="JOURNALIERE"
SAVENICKNAME="journalier"
;;
week)
TEMPDIR="/home/backup/home_save/w-1/"
REMOTEBACKUPDIR="home_save/w-1/"
SAVENAME="HEBDOMADAIRE"
SAVENICKNAME="hebdomadaire"
;;
month)
TEMPDIR="/home/backup/home_save/m-1/"
REMOTEBACKUPDIR="home_save/m-1/"
SAVENAME="MENSUELLE"
SAVENICKNAME="mensuel"
;;
*)
TEMPDIR="/home/backup/home_save/"
REMOTEBACKUPDIR="home_save/"
SAVENAME=""
SAVENICKNAME=""
;;
esac
Si je puis me permettre, à ceux qui cherchent un script tout fait, contentez-vous de l'original, mais je ne crois pas que ce soit la bonne méthode de travailler si l'on ne cherche pas plus loin ! inspirez-vous de scripts existants, comprenez-les et modifiez-les selon vos souhaits. sinon au moindre problème, vous ne saurez pas que faire.
quentin001
15/01/2010, 12h14
speedwoody>> puis-je savoir quelle commande as tu utiliser pour installer lftp sur la release2, merci car la hotline me dit utiliser ncftp
speedwoody
12/01/2010, 14h01
Bonjour,
ce script marche parfaitement chez moi, je pense le modifier pour afficher :
l'heure de debut et fin de la compression
l'heure de début et fin du transfert ftp
afin d'identifier des sites consommateurs de ressource machine
quentin001
11/01/2010, 12h44
comme demandé lolopage, j'ai lancé la commande lftp et j'ai cette erreur
ns***** ~ # lftp
-bash: lftp: command not found
lolopage
09/01/2010, 22h36
quentin001 : As-tu essayé de lancer lftp seul ?
Par exemple en faisant cela :
Code:
[root@xxxxxxx]# lftp
lftp :~> help
! (commandes) alias [ []] bookmark [SOUS-COMMANDE]
cache [SOUS-COMMANDE] cat [-b] cd chmod [OPTS] mode fichier... close [-a]
[re]cls [opts] [chemin/][motif] debug [|off] [-o ] du [options] exit [|bg]
get [OPTS] -o ] glob [OPTS] help []
historique : -w fichier|-r fichier|-c|-l [num] jobs [-v] kill all|
lcd lftp [OPTS] ls [] mget [OPTS]
mirror [OPTS] [distant [local]] mkdir [-p] module nom [args] more
mput [OPTS] mrm mv [re]nlist []
open [OPTS] pget [OPTS] [-o ] put [OPTS] [-o ]
pwd [-p] queue [OPTS] [] quote repeat [OPTS] [d?lai] [commande]
rm [-r] [-f] rmdir [-f] scache [] set [OPT] [ []] site
source torrent [-O ] user [] version
wait [] zcat zmore
lftp :~>
quentin001
09/01/2010, 15h27
j'ai la même erreur avec le premier script et même par les quelques modifications fait par Asus, pourtant je suis sur gentoo release 2
L'erreur est "nice: lftp: No such file or directory" pourtant j'ai encodé la commande "emerge --sync && emerge lftp" n'a pas l'air d'installé lftp sur la release 2.
Oui c'est la version que j'utilise depuis pas mal de temps, mais je vois qu'il y a eu des correctifs de poster ces derniers posts.
lolopage
07/01/2010, 21h14
Pardon je croyais que je m'adressais à l'auteur de ce script.
Pour la dernière version, si j'étais toi j'utiliserai tout simplement celui qu'il y a en première page de ce post. Il suffit de suivre la procédure, le script fournit récupère d'autres scripts sur le serveur de l'auteur, ça doit être la dernière version je pense.
Je t'aiderais volontier mais je n'ai jamais ecris une ligne de bash... par contre où peut-on trouver le script dans sa dernière version modifiée ? Il y a des modifis ici et là sur ce topic mais y'a t'il un gz de tout ça ? merci
lolopage
07/01/2010, 20h30
J'imagine, que j'en demande beaucoup, mais je pense qu'il ne pas tout faire d'un coup.
Il faut y aller par étape mais en pensant les choses pour que le reste du développement soit plus facile.
Je suis prêt à t'aider et à m'investir pour créer un bon script, simple et hyper fonctionnel pour les personnes en release OVH.
Pour bacula, je vais regarder.
Merci
lolopage ce que tu demande est un plus complexe que le script actuel, as-tu regardé du côté de bacula ?
lolopage
07/01/2010, 19h28
Sur gentoo release OVH 2
quentin001
06/01/2010, 14h37
lolopage >le script fonctionne t-il chez vous et sinon vous êtes sur quelle système
lolopage
06/01/2010, 13h45

Envoyé par
quentin001
Le script réalise bien les backup en local dont je vais chercher pour trouver un moyen des les renvoyés sur le ftp
Je sais qu'on peut choisir entre FTP ou LOCAL
La ça serait vraiment régler FTP et LOCAL
Avec par exemple en local les 3 derniers jours et en ftp les 10 derniers.
quentin001
06/01/2010, 13h28
Le script réalise bien les backup en local dont je vais chercher pour trouver un moyen des les renvoyés sur le ftp
lolopage
06/01/2010, 13h11
Bonjour,
Je pense que plutôt que la connexion vers des serveurs multiples, il pourrait être intéressant pour par exemple laisser en local un certain nombre de version.
Exemple :
- je garde les 10 dernières sauvegardes sur le FTP
- je garde les 3 dernières en local
Et pour le local on pourrai choisir un dossier spécifique, comme un dossier sur un disque dur USB ou un clé USB
Sinon il pourrait être intéressant de gérer d'une autre facon le nombre de sauvegardes.
Exemple :
- En journalier, je garde les J-1,J-2,J-3
- En semaine, Je garde S-1, S-2, S-3
- En mois M-1, M-2, M-3
Et enfin, pour finir, le plus beau :
Sauvegarder en fonction des services.
Exemple :
- Mysql : H-1, H-12, J-1,J-3
- Mail : J-1, J-2, J-3
- etc...
Si vous voyez ce que je veux dire....
Voilà c'était ma participation.
Loris
quentin001
06/01/2010, 11h02
j'ai sonné a la hotline, la connections du serveur backup se fait bien et le problème viendrait du script qui ne réaliserais pas la connection

Envoyé par
asus
Il faut y réfléchir, mais est-ce vraiment intéressant ?
comme ce type de script est souvent lancé en cron, on pourrait imaginer une variable au lancement du style : script.sh server1, un peu plus tard script.sh server2, et mettre dans le fichier de conf: server1=xxxx, server2=xxxx et adapter le script en faisant un case sur $1 et adapter en conséquence le $SERVER du script.
Tout à fait ! ce serait l'idéal
Le seul problème qu'avec cette méthode les fichiers zip seraient de nouveau générés ce qui prend pas mal de ressources... je réfléchi à ce qu'il peut être le mieux...

Envoyé par
kreatik
petite suggestion, ce serait super de pouvoir gérer les envois (et les purges) vers plusieurs FTP.
Il faut y réfléchir, mais est-ce vraiment intéressant ?
comme ce type de script est souvent lancé en cron, on pourrait imaginer une variable au lancement du style : script.sh server1, un peu plus tard script.sh server2, et mettre dans le fichier de conf: server1=xxxx, server2=xxxx et adapter le script en faisant un case sur $1 et adapter en conséquence le $SERVER du script.
quentin001
04/01/2010, 16h09
je suis sur release 2 mais j'envoie un mail au service technique car je ne trouve aucun guide sur ce sujet.
Pas grave pour l'erreur cela est de ma faute, j'aurais dû comparer

Envoyé par
quentin001
le problème de parametres.conf est réglé et il faudrat rechangé ta lignes d'explication
Code:
pour le protéger, j'ai préféré mettre le fichier de conf dans /etc/backup
Code:
# mkdir /etc/backup
# mv /home/backup/parametres.sh /etc/backup/parametres.conf
# chmod 600 /etc/backup/parametres.conf
# chown -R backup /etc/backup
j'ai donc ligne 46
Code:
46 . /etc/backup/parametres.conf
voilà j'ai modifié mes posts pour être clair sur le sujet. le fichier de conf original s'appelait
parametres.sh dans /home/backup/, je le déplace avec un autre nom
parametres.conf dans /etc/backup/.
et j'ai modifié la ligne 46 du script par
Code:
46 . /etc/backup/parametres.conf
désolé pour cette petite faute d'orthographe qui t'auras fait perdre tant de temps !
Mais j'ai cette erreur maintenant et comme avec l'ancien script
nice: lftp: No such file or directory
lftp est un logiciel client ftp. il faut préalablement l'installer.
sous debian:
Code:
apt-get install lftp
quentin001
04/01/2010, 15h09
le problème de parametres.conf est réglé et il faudrat rechangé ta lignes d'explication
Code:
pour le protéger, j'ai préféré mettre le fichier de conf dans /etc/backup
Code:
# mkdir /etc/backup
# mv /home/backup/parametres.sh /etc/backup/parametres.conf
# chmod 600 /etc/backup/parametres.conf
# chown -R backup /etc/backup
j'ai donc ligne 46
Code:
46 . /etc/backup/parametres.conf
Mais j'ai cette erreur maintenant et comme avec l'ancien script
nice: lftp: No such file or directory
petite suggestion, ce serait super de pouvoir gérer les envois (et les purges) vers plusieurs FTP.
oui bien sûr ! mais une fois de plus le message d'erreur est clair
Code:
lignes 46). /etc/backup/parameters.conf (erreur /etc/backup/parameters.conf: No such file or directory)
c'est bien que le script n'a pas accès au fichier de paramètres, vérifiez bien donc son emplacement, ses droits et son nom (la version originale du script le nommait parametres je crois et non parameters)
quentin001
04/01/2010, 09h14
Pourtant le user root à tout les droits, il me semble

Envoyé par
quentin001
lignes 46). /etc/backup/parameters.conf (erreur /etc/backup/parameters.conf: No such file or directory)
Merci pour votre futur aide
c'est vraiment un problème d'accès au fichier de conf ! soit le user utilisé n'a pas le droit de lire le fichier ou lire dans le répertoire, soit le fichier est mal placé ou nommé, je ne peux vous en dire plus. rien à voir avec la release2
en étant logué avec le user qui va exécuter le script de backup, faites un
Code:
# ls -l /etc/backup/parameters.conf
pour être certain des droits et utilisateurs
quentin001
28/12/2009, 18h16
Le fichier est bien dans le répertoire cité et avec les droits 600 que j'ai refais
Je pense que ça n'a rien à voir avec la release. votre message d'erreur est clair:
/etc/backup/parameters.conf: No such file or directory
ou le fichier n'existe pas du tout, ou vous n'avez pas les droits suffisants pour le lire.
1er cas: avez vous fait le préalable à savoir déplacer le fichier de conf dans /etc/backup
Code:
# mkdir /etc/backup
# mv /home/backup/parametres.sh /etc/backup/parametres.conf
# chmod 600 /etc/backup/parametres.conf
# chown -R backup /etc/backup
2ème cas: sous quel compte utilisez vous le script de backup ? il faut le lancer en user backup (ou root) seul ce user permet de lire parametres.conf puisqu'il est en chmod 600 (pour protéger le mot de passe en clair dans le fichier)
si vous lancez le script avec un autre utilisateur mettez chmod 644 à parametres.conf mais c'est rien moins que secure
les erreurs suivantes découlent de la première
cela répond-il à votre question ?
quentin001
15/12/2009, 13h05
je pense que les erreurs viennent du fait que le script n'est pas adapté pour la release2.
lignes 46). /etc/backup/parameters.conf (erreur /etc/backup/parameters.conf: No such file or directory)
lignes 51)if [ $ENVOIFTP = 1 ] >/dev/null (erreur [: =: unary operator expected)
Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
lignes 100)if [ $ENVOIFTP = 0 ] >/dev/null (erreur [: =: unary operator expected)
lignes 104 if [ $ENVOIFTP = 1 ] >/dev/null (erreur [: =: unary operator expected)
Si aux lignes 51, 100, 104 j'enlève l'espace erreur [: missing `]'
Merci pour votre futur aide
j'avais oublié la seconde alternative dans l'amélioration proposé en fin de garder ou non en local la sauvegarde, je l'ai corrigé dans le post original, mais la soumet ici à nouveau complète:
lire donc
dans /etc/backup/parametres.conf
Code:
GARDERLOCAL = "1" #garder fichier sauvegarde local si envoi ftp échoue, 0 non, 1 oui
dans le script :
Code:
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoi de $USER sur votre FTP /n Le fichier de sauvegarde a été conservé sur le serveur local. /n" >> /home/backup/mailbackup.txt
fi
if [ "$RESULT" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
devient
Code:
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoi de $USER sur votre FTP /n" >> /home/backup/mailbackup.txt
if [ "$GARDERLOCAL" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
if [ "$GARDERLOCAL" = "1" ]; then
echo -e "Le fichier de sauvegarde a été conservé sur le serveur local. /n" >> /home/backup/mailbackup.txt
fi
fi
if [ "$RESULT" = "0" ]; then
if [ "$GARDERLOCAL" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
fi
enfin pour ceux que ça intéresse, j'ai réécrit le code pour avoir N sauvegardes de j-1, s-1, m-1 tant en local que sur le ftp associé à cron.daily, cron.monthly, cron.weekly, le script étant appelé respectivement par un paramètre supplémentaire : /etc/home_backup.sh day (week, month)
en cours de test
quentin001
11/12/2009, 10h34
pourtant les lignes
Code:
# mkdir /etc/backup
# chown backup /etc/backup
# mv /home/backup/parameters.conf /etc/backup/parameters.conf
ont bien été fait mais va regarder un peu
Oui bien sûr je n'ai pas modifié le script d'install ! il faut adapter ses chemins en conséquence :
Code:
# mkdir /etc/backup
# chown backup /etc/backup
# mv /home/backup/parametres.sh /etc/backup/parametres.conf
j'ai proposé des améliorations, pas un script fonctionnel recopiable sans adaptations à ses propres config !
je pense que les erreurs suivantes viennent de l'absence des paramètres dans le fichier de conf.
en tout cas chez moi ça fonctionne sans erreur (debian 5)
je n'ai pas de release ovh, il semble que dans le fichier exclude.txt il faille mettre mysql, ovh, ovhm et tous les comptes qui ne sont pas des comptes utilisateurs.
quentin001
10/12/2009, 20h03
j'ai refais une installe et modifier le chemin de parametres.sh en conf comme indiqué, et aussi recopié les lignes dans le fichier ovh-sauve-V2.sh et j'ai ces erreurs en lançant le backup
/home/backup/ovh-sauve-V2.sh: line 46: /etc/backup/parameters.conf: No such file or directory
/home/backup/ovh-sauve-V2.sh: line 51: [: =: unary operator expected
Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
------------------------------------------------------------------------
mysql
tar: Removing leading `/' from member names
tar: /home/mysql/tennis/accesslog.MYI: file changed as we read it
/home/backup/ovh-sauve-V2.sh: line 100: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 104: [: =: unary operator expected
------------------------------------------------------------------------
ovh
tar: Removing leading `/' from member names
/home/backup/ovh-sauve-V2.sh: line 100: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 104: [: =: unary operator expected
------------------------------------------------------------------------
ovhm
tar: Removing leading `/' from member names
/home/backup/ovh-sauve-V2.sh: line 100: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 104: [: =: unary operator expected
------------------------------------------------------------------------
tennista
tar: Removing leading `/' from member names
/home/backup/ovh-sauve-V2.sh: line 100: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 104: [: =: unary operator expected
------------------------------------------------------------------------
vpopmail
tar: Removing leading `/' from member names
/home/backup/ovh-sauve-V2.sh: line 100: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 104: [: =: unary operator expected
/home/backup/ovh-sauve-V2.sh: line 116: [: =: unary operator expected
la sauvegarde de vos sites est terminée !
mail: You must specify direct recipients with -s, -c, or -b
J'ai encore rajouté une condition : en effet si l'envoi vers le ftp échoue, le fichier créé est actuellement effacé ! je trouve qu'il serait plus correct de le laisser sur le serveur local
donc la partie :
Code:
if [ $ENVOIFTP = 1 ] >/dev/null
then
nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2/$DATE/ && put /home/backup/sauvegarde/$USER.tar.gz ;quit"
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoie de $USER sur votre FTP /n" >> /home/backup/mailbackup.txt
fi
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
devient
Code:
if [ $ENVOIFTP = 1 ] >/dev/null
then
nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2/$DATE/ && put /home/backup/sauvegarde/$USER.tar.gz ;quit"
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoi de $USER sur votre FTP /n Le fichier de sauvegarde a été conservé sur le serveur local. /n" >> /home/backup/mailbackup.txt
fi
if [ "$RESULT" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
fi
(accessoirement pas de
e à envoi)
on pourrait aussi créé une variable pour définir ce comportement et rajouter une condition sur celle-ci pour savoir si on conserve ou non le fichier en local en cas d'échec ftp:
dans /etc/backup/parametres.conf
Code:
GARDERLOCAL = "1" # garder le fichier de sauvegarde en local si l'envoi ftp échoue, 0 non, 1 oui
dans le script :
Code:
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoi de $USER sur votre FTP /n Le fichier de sauvegarde a été conservé sur le serveur local. /n" >> /home/backup/mailbackup.txt
fi
if [ "$RESULT" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
devient
Code:
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoi de $USER sur votre FTP /n" >> /home/backup/mailbackup.txt
if [ "$GARDERLOCAL" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
if [ "$GARDERLOCAL" = "1" ]; then
echo -e "Le fichier de sauvegarde a été conservé sur le serveur local. /n" >> /home/backup/mailbackup.txt
fi
fi
if [ "$RESULT" = "0" ]; then
if [ "$GARDERLOCAL" = "0" ]; then
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
fi
madrippeur
09/12/2009, 07h42
Merci Beau boulot !
Quelques amélioration dans le script ovh-sauve-V2.sh
Code:
28 if [ ! -d /home/backup/sauvegarde/ ] >/dev/null
29 then
30 mkdir /home/backup/sauvegarde
31 chown -R backup /home/backup/sauvegarde/
32 fi
pour le protéger, j'ai préféré mettre le fichier de conf dans /etc/backup
Code:
# mkdir /etc/backup
# mv /home/backup/parametres.sh /etc/backup/parametres.conf
# chmod 600 /etc/backup/parametres.conf
# chown -R backup /etc/backup
j'ai donc ligne 46
Code:
46 . /etc/backup/parametres.conf
par ailleurs myslq recommande l'utilisation de
mysqlhotcopy et non
mysqldump afin de locker/delocker les tables pendant la copie (mais c'est une copie du style cp/scp)
http://dev.mysql.com/doc/refman/5.0/fr/mysqldump.html
http://dev.mysql.com/doc/refman/5.0/...qlhotcopy.html
sinon il vaudrait mieux rajouter le paramètres --add-locks après mysqldump ou mieux --opt
de plus il faudrait peut-être mettre une condition au dump des bases pour les utilisateurs qui n'en ont pas afin d'éviter les messages du genre :
Code:
mysqldump: Got error: 1049: Unknown database 'utilisateur-sans-base' when selecting the database
Code:
62 #lister toutes les bases
63 DBS=`mysql -u root -p$PASSSQL -Bse 'show databases'| egrep -v 'information_schema|mysql'`
64
65 for USER in `cat /home/backup/nom`
66 do
67 sleep 2
68 #clear
69 echo "------------------------------------------------------------------------"
70 echo -e "---------------------------------" >> /home/backup/mailbackup.txt
71 echo $USER
72 #si base existe
73 for db in $DBS; do
74 if [ "$db" = "$USER" ]; then
75 if [ "$USER" != "ovh" -a "$USER" != "ovhm" -a "$USER" != "mysql" -a "$USER" != "vpopmail" -a "$USER" != "teamspe ak" ] >/dev/null
76 then
77 cd /home/$USER && mysqldump --opt -u root -p$PASSSQL $USER >$USER.sql
78 RESULT=$?
79 if [ "$RESULT" != "0" ]; then
80 echo -e "ERREUR lors de la sauvegarde sql de $USER." >> /home/backup/mailbackup.txt
81 fi
82 RESULT=$?
83 if [ "$RESULT" = "0" ]; then
84 echo -e "$USER Sauvegarde sql ok." >> /home/backup/mailbackup.txt
85 fi
86
87 fi
88 fi
89 done
90
91 nice -n 19 tar cfzX $TEMPDIR$USER.tar.gz $EXCLUDEFILE /home/$USER/
à la fin, si on ne choisit pas de mettre le backup sur ftp, le fichier NB.txt n'est pas créé, d'où des messages d'erreur, il me semble qu'il y a erreur de logique à ne pas mettre en condition le dernier morceau. En effet on n'efface les vieilles sauvegardes que sur le serveur distant, alors qu'en local on écrase la sauvegarde précédente par la nouvelle.
je serais pour mettre donc
Code:
115 #Effacer vieilles sauvegardes
116 if [ $ENVOIFTP = 1 ] >/dev/null
117 then
118 nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2 && dir -1 > /home/backup/NB.txt ;quit "
119 sed -e '/\./d' /home/backup/NB.txt > /home/backup/NB2.txt
120 rm -f /home/backup/NB.txt
121 NBSAUVE=`wc -l /home/backup/NB2.txt | cut -f1 -d' '`
122 #clear
123 echo "------------------------------------------------------------------------"
124 echo "Sauvegardes effectuées : $NBSAUVE"
125 echo "Maximum de sauvegarde à conserver : $MAXSAUVE"
126 MAXSAUVE2=`expr $MAXSAUVE + 1`
127
128 if [ "$NBSAUVE" = "$MAXSAUVE2" ] >/dev/null
129 then
130 echo "ON VA EFFACER LES ANCIENNES SAUVEGARDES !"
131 while read TEST
132 do
133 echo "dans le répertoire $TEST, les sauvegardes vont être effacées!"
134 echo "Elles sont trop anciennes !"
135 nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2/$TEST/ ;mrm -f *.* ;cd /ovh-V2/ ; mrm -r -f $TEST/ ;quit"
136 break
137 done < /home/backup/NB2.txt
138 fi
139 rm -f /home/backup/NB2.txt
140 fi
141 echo "la sauvegarde de vos sites est terminée !"
142 echo -e "---------------------------------" >> /home/backup/mailbackup.txt
143 su backup -c 'mail -s "Vos backup !" '$MAIL'
enfin j'ai commenté tous les clear, car il est préférable dans un script de voir les messages d'erreur.
au final voici le script complet ovh-sauve-V2.sh corrigé et amélioré
Code:
#!/bin/bash
##########################################################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"
echo "ASSUREZ VOUS DE MODIFIER LE FICHIER /home/backup/parametres.sh"
echo "pour y mettre vos paramtéres de sauvegarde !"
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/sauvegarde/
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/*/stats' > /home/backup/exclude.txt
fi
##########################################################Création des variables nécessaires#######################################################
. /etc/backup/parametres.conf
TEMPDIR="/home/backup/sauvegarde/"
EXCLUDEFILE="/home/backup/exclude.txt"
DATE=`date +"%y-%m-%d"`
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 -p ovh-V2/$DATE ;quit"
echo $DATE > /home/backup/datesauve
fi
fi
echo "ETAT DE VOTRE SAUVEGARDE pour le `date +"%d-%m-%y"`" > /home/backup/mailbackup.txt
###################################################################################################################################################
#lister toutes les bases
DBS=`mysql -u root -p$PASSSQL -Bse 'show databases'| egrep -v 'information_schema|mysql'`
for USER in `cat /home/backup/nom`
do
sleep 2
#clear
echo "------------------------------------------------------------------------"
echo -e "---------------------------------" >> /home/backup/mailbackup.txt
echo $USER
#si base existe
for db in $DBS; do
if [ "$db" = "$USER" ]; then
if [ "$USER" != "ovh" -a "$USER" != "ovhm" -a "$USER" != "mysql" -a "$USER" != "vpopmail" -a "$USER" != "teamspeak" ] >/dev/null
then
cd /home/$USER && mysqldump --opt -u root -p$PASSSQL $USER >$USER.sql
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors de la sauvegarde sql de $USER." >> /home/backup/mailbackup.txt
fi
RESULT=$?
if [ "$RESULT" = "0" ]; then
echo -e "$USER Sauvegarde sql ok." >> /home/backup/mailbackup.txt
fi
fi
fi
done
nice -n 19 tar cfzX $TEMPDIR$USER.tar.gz $EXCLUDEFILE /home/$USER/
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo -n "ERREUR lors de la compression de $USER." >> /home/backup/mailbackup.txt
fi
if [ "$RESULT" = "0" ]; then
echo -e "$USER Sauvegarde ok." >> /home/backup/mailbackup.txt
fi
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 /ovh-V2/$DATE/ && put /home/backup/sauvegarde/$USER.tar.gz ;quit"
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo -e "ERREUR lors l'envoie de $USER sur votre FTP /n" >> /home/backup/mailbackup.txt
fi
nice -n 19 rm -f /home/backup/sauvegarde/$USER.tar.gz
fi
done
###################################################################################################################################################
#Effacer vieilles sauvegardes
if [ $ENVOIFTP = 1 ] >/dev/null
then
nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2 && dir -1 > /home/backup/NB.txt ;quit"
sed -e '/\./d' /home/backup/NB.txt > /home/backup/NB2.txt
rm -f /home/backup/NB.txt
NBSAUVE=`wc -l /home/backup/NB2.txt | cut -f1 -d' '`
#clear
echo "------------------------------------------------------------------------"
echo "Sauvegardes effectuées : $NBSAUVE"
echo "Maximum de sauvegarde à conserver : $MAXSAUVE"
MAXSAUVE2=`expr $MAXSAUVE + 1`
if [ "$NBSAUVE" = "$MAXSAUVE2" ] >/dev/null
then
echo "ON VA EFFACER LES ANCIENNES SAUVEGARDES !"
while read TEST
do
echo "dans le répertoire $TEST, les sauvegardes vont être effacées!"
echo "Elles sont trop anciennes !"
nice -n 19 lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "cd /ovh-V2/$TEST/ ;mrm -f *.* ;cd /ovh-V2/ ;mrm -r -f $TEST/ ;quit"
break
done < /home/backup/NB2.txt
fi
rm -f /home/backup/NB2.txt
fi
echo "la sauvegarde de vos sites est terminée !"
echo -e "---------------------------------" >> /home/backup/mailbackup.txt
su backup -c 'mail -s "Vos backup !" '$MAIL'
ce script est plutot pas mal et marche comme prévu sur debian 5.
j'aurais voulu rajouter les fichiers de conf sur système (/etc/) et les logs (/var/logs/) en cas de restauration du système ce peut-être utile pour rétablir une config analogue.
Fredodelsuza
11/11/2009, 13h33
hello,
il semble en effet qu'il y ai un pb avec "emerge lftp"... du coup l'envois en ftp des sauvegarde ne marche plus.
emerge lftp
!!! ARCH is not set... Are you missing the '/etc/make.profile' symlink?
!!! Is the symlink correct? Is your portage tree complete?
C'est dommage ce script marchait très bien avant.... espèrons une mise a jour rapide...
quentin001
02/10/2009, 12h05
pour avoir plus d'informations j'ai recréé un topic sur le sujet
http://forum.ovh.com/showthread.php?t=51810
Toujours aucune nouvelle?
quentin001
30/09/2009, 09h15
Pareil pour moi en local sa fonctionne mais impossible d'envoyé sur le serveur ftp par le script, peut etre un changement d'ovh avec iftp sur les nouveaux serveurs 2009.
Si un responsable d'ovh peut nous dire quoi.
Bonjour tout le monde.
D'abord bravo pour cet excellent travail!
J'avais déjà testé le script dont tu t'es inspiré, sans jamais réussir à le faire fonctionner.
Je trouve le tien beaucoup plus abouti.
Par contre, pour moi ça coince.
j'arrive à faire les backup en local, mais dès qu'il faut envoyer sur le ftp, pb!!
J'ai un message avec compte à rebours pour des tentatives de reconnexion, et ça boucle.
J'ai beau vérifier les paramètres, je ne vois pas la coquille.
quentin001
04/09/2009, 10h52
Bonjour,
J'ai installé le script backup sans problème et iftp qui s'est installé sans problème comme indiqué sur le guide, j'utilise le release 2.
Mon souci est lors du lancement du script par ssh j'ai cette erreur
nice: lftp: Aucun fichier ou répertoire de ce type pourtant sur mon ancien serveur cela fonctionnait sans problème
Dossier ovh-v2 créer sur le serveur de backup.
Pouvez vous m'aider merci?
Oui mais il y a telement de post uns derrière l'autre, il y aurait pas moyen d'en faire un de la dernière version avec les explications. Merci
madrippeur
25/08/2009, 07h54
Bah ici c'est le dernier logiquement.
Bonjour, si je puis me permettre , on en est ou avec le script, quel est le bon ?
N'y a t il pas un post avec le dernier script qui fonctionne, car là je sais plus quoi prendre. Merci
Bonjour,
ça marche Nickel par contre je propose une amélioration si possible.
1- Est il possible d'ajouter des fichiers dans une liste include.txt avec des fichiers de configuration style php.ini et http.conf , ou une autre arborescence (etc/bind/pri/) etc...
2- Eviter d'avoir un message d'erreur lors de la sauvegarde de la base mysql pour les sites qui n'en ont pas.
3- Sauvegarde des fichiers nécessaires à ovhm lors d'une restauration complète ou bascule afin d'éviter de tous retaper ?
Merci
Bonjour,
Je viens d'installer ce script qui après un premier essai semble très bien fonctionner , bravo et merci à son créateur !
j'aurais toutefois une petite question à poser, qui ne concerne pas directeent le script.
Le script me génère un fichier de sauvegarde mysql.tar.gz.
Quand je l'ouvre, j'ai un dossier home, puis un dossier mysql, puis des dossiers du nom de chacune de mes bases de données.
Dans ces dossiers, j'ai 3 fichiers correspondant à chaque table (dont les extensiosn sont .frm, .MYD, et .MYI).
Je me demandais comment on s'y prend pour restaurer manuellement une base de données à partir de ces fichiers.
J'aimerais également savoir quels sont les avantages et les inconvénients de ces fichiers par rapport aux fichiers .sql générés par le système de backup qu'il y'a dans webmin.
Je précise que je suis débutant en administration de serveur dédié, bien que vous l'aurez peut être deviné en lisant ma question .
Merci d'avance pour vos éclaircissements .
code_grabber
01/07/2009, 08h22
bonjour,
j'utilise ce script en local, serait il possible d'ajouter la possibilite de gerer plusieurs sauvegardes en local comme sur le ftp distant ?
merci d'avance
effectivement, je vais voir avec le support...car je ne vois pas d'autres raisons

Envoyé par
yaze123
Moi je n'ai rien supprimé...un jour le backtup automatique n'a pas fonctionné et je l'ai relancé manuellement et ça a marché mais ce matin je me lève et oups cela ne marche plus encore une fois....même manuellement
C'est peut-être un problème du serveur backup
Moi je n'ai rien supprimé...un jour le backtup automatique n'a pas fonctionné et je l'ai relancé manuellement et ça a marché mais ce matin je me lève et oups cela ne marche plus encore une fois....même manuellement

Envoyé par
yaze123
bizzare quand meme, pourquoi cela se produit il pour plusieurs personnes et que la simple reinstallation résoudrait le probleme...ne pensez vous pas que c'est un probleme du serveur de backup ?
Moi j'avais supprimé le programme lftp qui permettait d'envoyer les sauvegardes sur le serveur de backup. J'ai tout réinstallé et depuis ça marche bien.
bizzare quand meme, pourquoi cela se produit il pour plusieurs personnes et que la simple reinstallation résoudrait le probleme...ne pensez vous pas que c'est un probleme du serveur de backup ?
Bonjour,
Moi j'ai réglé mon probleme en réinstallant le script
le_parrain
29/04/2009, 16h02
j'ai le même problème
Bonjour,
J'ai désinstallé lftp par erreur puis réinstallé. Depuis le script n'arrive plus à créer le répertoire sur le serveur ftp. Voici ce que ça donne lorsque je lance ce script :
Code:
ovhm
tar: Retrait de " / " de tête des noms des membres
cd: L'accès a échoué : 550 Can't change directory to /ovh-V2/09-04-05: No such file or directory
Par contre si je crée ce répertoire à l'aide de ncftp le transfert se fait.
Merci pour votre aide.
'soir
j'ai un soucis avec proftpd qui m'a bloqué les backups... il faut mettre à jour proftpd pour éviter ça ?
Code:
lftp nsxxxxx.ovh.net@ftpback4.ovh.net:/ovh-V2> ls 08-12-19/
drwxr-xr-x 2 100 100 3 Dec 22 02:50 .
drwxr-xr-x 2 100 100 3 Dec 22 02:50 ..
-rw-r--r-- 1 100 100 28212585856 Dec 19 03:04 .pureftpd-upload.494aed4e.15.743c.4df82bc0
lftp nsxxxxx.ovh.net@ftpback4.ovh.net:/ovh-V2> rm 08-12-19/.pureftpd-upload.494aed4e.15.743c.4df82bc0
rm: L'accès a échoué : 550 Prohibited file name: 08-12-19/.pureftpd-upload.494aed4e.15.743c.4df82bc0
Bonjour,
Je suppose que j'ai un petit problème car après avoir lancé deux sauvegardes sur le backup FTP d'OVH, et avoir bien reçu les mails confirmant, d'après le script, la bonne exécution de la sauvegarde, j'ai voulu, par curiosité, vérifier si les fichiers y étaient bien.
Hors, avec lftp, je ne comprends pas du tout les commandes de connexion.
Et le manager OVH m'indique que je n'ai rien sur mon FTP....
Qui dois je croire, le manager ou le script de sauvegarde ?
Salut
J'ai bien suivi tout ce qu'il fallait faire... mais depuis 20 minutes que j'ai lancé le script pour sauvegarder mon site, il reste à l'étape :------------------------------------------------------------------------
berpj
tar: Retrait de « / » de tête des noms des membres
Help please...
madrippeur
27/02/2009, 08h44
Le script est terminé et a été testé par quelques connaissances. Apparemment il fonctionne plutôt pas mal. Vous pourrez le trouver ici :
http://www.madripeur.eu/?page_id=86
Je ferai un petit tuto ici lorsque j'aurai un peu de temps.
madrippeur
15/02/2009, 17h47

Envoyé par
satanico64
Bonjour,
script testé aujourdhui. marche nickel
donc juste quelques suggestions:
=> Choix du login sql a utiliser pour la sauvegarde. (ca m'embete de mettre en clair le mot de passe root du sql dans le fichier, alors j'ai crée un user avec droits en lecture+lock pour la sauvegarde,+ modif du user dans le script et ca tourne).
=> Ajout d'un fichier avec une liste de repertoire a prendre en compte et a copier bêtement.
=> Carrément mettre un fichier a part entière avec le nom des bases sql a sauvegarder (qui ne correspondent pas a mes noms de sites)
voila,
encore merci pour le travail effectué, qui dépanne chaque jour je pense, beaucoup de monde.
Nicolas.
Suite à ce poste, j'ai commencé à faire un script qui contient à part les noms des users et les noms des bases sql.
Il sauvegarde dans un répertoire les bases, dans un autre les répertoires users.
C'est en cours de construction, je ne suis pas un pro, mais j'avance.
Il y a bien entendu la possibilité de choisir l'user sql, et on peux envoyer sur un ftp ou un sftp. La sauvegarde envoie un tgz du répertoire user sur le ftp, mais envoie la base sql en clair (dois je la faire compresser?).
ps : je sais que mes scripts ne sont pas parfaits, qu'il y aura toujours des choses à redire et modifier, que je suis long à tenter de vous aider ou autre, mais je n'ai malheureusement pas beaucoup de temps. Je fais ce que je peux ^^
bonsoir,
Pour ceux qui ont le message "tar: Retrait de « / » de tête des noms des membres" aucun souci laissez tourner le backup se fait quand même normalement aucun souci (Je suis sous release 2 ovh).
++
madrippeur
09/02/2009, 07h28
Coucou !
Sur le serveur qui reçoit la sauvegarde, crée un dossier /ovh-V2/
Le problème, c'est que lorsque l'on commence à sauvegarder en local, puis on passe sur une sauvegarde distante, le script ne crée pas ce dossier :s
Salut;
Sur mon serveur ça marche mais des que j'essaye d'envoyer la sauvegarde sur un serveur distant j'obtiens:
cd: L'accès a échoué : 550 Failed to change directory. (/ovh-V2/09-02-08)
satanico64
16/01/2009, 13h37
Bonjour,
script testé aujourdhui. marche nickel
donc juste quelques suggestions:
=> Choix du login sql a utiliser pour la sauvegarde. (ca m'embete de mettre en clair le mot de passe root du sql dans le fichier, alors j'ai crée un user avec droits en lecture+lock pour la sauvegarde,+ modif du user dans le script et ca tourne).
=> Ajout d'un fichier avec une liste de repertoire a prendre en compte et a copier bêtement.
=> Carrément mettre un fichier a part entière avec le nom des bases sql a sauvegarder (qui ne correspondent pas a mes noms de sites)
voila,
encore merci pour le travail effectué, qui dépanne chaque jour je pense, beaucoup de monde.
Nicolas.
extremenet
16/01/2009, 02h28
J ai un souci,
quand je lance la ligne de commande pour la sauvegarde,
le systeme bloque avec cette ligne de comande :
------------------------------------------------------------------------
cococraz
tar: Retrait de « / » de tête des noms des membres
ce qui correspond à une de mes base.
avez vous eu dejà ce probléme?
extremenet
15/01/2009, 21h22
Je viens de commencer à installer ce script, j'ai fait
emerge --sync && emerge lftp
mais il copie enormement de fichier. A quoi serve t il ? exactement.
Cricri-2000
05/01/2009, 10h36
Tout fonctionnais chez moi depuis plusieurs mois, mais depluis le 31/12/2008 je ne reçoit plus le mail de recap ...
D'autres on le soucy?
Pour info je ne me souvient pas avoir été obligé de créer le répertoire sur le serveur distant.
Sur le serveur de backup, il faut créer un répertoire ovh-V2 sinon le script ne fonctionne pas.
Si on oublie, modifier datesauve ou sinon le répertoire de sauvegarde du jour ne se créé pas car le script considère qu'une sauvegarde a déjà été faite et qu'il faut donc la remplacer sur le serveur de backup.
Soninkara
25/11/2008, 17h32
J'ai testé ce script qui est bien, mais, j'ai d'autres bases qui ne portent pas le même nom que le nom du domaine.
Comment faire pour sauvegarder/restaurer ces autres bases ?
Attention el cherubin, tes bases ne sont pas sauvegardées avec le message que tu as.
Hello
alors et ce script il avance ?
je viens de l'installer, fonctionne parfaitement, merci !
Edit : une version rsync serait-elle bien ? , ça éviterait la compression sur le disque d'abord mais "oblige" d'avoir une seule version de la sauvegarde à moins que l'on peut compresser à la volée lors du transfert ? Je pense surtout à ceux qui ont le disque plein...
Cricri-2000
03/10/2008, 08h22

Envoyé par
nakuni
Non en fait ça ne fonctionne toujours pas si le répertoire /ovh-V2/(date) n'existe pas, on dirait que le script ne parvient pas à créer les répertoires
EDIT:
J'ai réussi a le faire fonctionner en modifiant le ovh-sauve-V2.sh ainsi:
Au lieu de
C'est de la bidouille, je n'y connais rien en prog linux, mais ça fonctionne
EDIT: bon bah le lendemain ça ne fonctionne plus et il faut remettre !=, et ensuite c'est good!
Et aujourd'hui?
J'ai le meme probleme que toi ? :s
wahchinkee
02/10/2008, 02h14
J'ai créé une base pour chaque sites et il ne prend pas en compte les autres, j'explique.
monsite.com: 1 base "mon site"
je cré une autre base
"monsite_galerie"
il ne prend pas en compte "monsite_galerie"
si j'ai 4 bases pas site, je ne peux pas mettre toutes les bases dans "monsite" je suis bien obligé d'en créer d'autres.
Merci
wahchinkee
01/10/2008, 15h04
Bonjour
J'ai essayé plusieurs scripts et c'est le seul qui marche enfin presque, j'ai cette erreur
mysqldump: Got error: 1049: Unknown database 'xxxxxxx' when selecting the database
sinon une autre question, si je laisse les sauvegardes dans backup en cas de crach du serveur ou DD, j'ai plus mes sauvegardes c'est bien ça??
Merci d'avance
Non en fait ça ne fonctionne toujours pas si le répertoire /ovh-V2/(date) n'existe pas, on dirait que le script ne parvient pas à créer les répertoires
EDIT:
J'ai réussi a le faire fonctionner en modifiant le ovh-sauve-V2.sh ainsi:
if [ $SAUVE == $DATE ] >/dev/null
then
lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "mkdir -p ovh-V2/$DATE ;quit"
echo $DATE > /home/backup/datesauve
fi
Au lieu de
if [ $SAUVE != $DATE ] >/dev/null
then
lftp -p $PORTFTP ftp://$USERFTP:$PASSFTP@$SERVER -e "mkdir -p ovh-V2/$DATE ;quit"
echo $DATE > /home/backup/datesauve
fi
C'est de la bidouille, je n'y connais rien en prog linux, mais ça fonctionne
EDIT: bon bah le lendemain ça ne fonctionne plus et il faut remettre !=, et ensuite c'est good!
Hello, déjà merci pour ce script terrible!
Par contre tu n'aurais pas modifié quelquechose ce week end? Samedi ça marchait très bien mais depuis hier impossible de sauvegarder.
J'ai tenté sur plusieurs serveurs ftp mais j'obtiens ce message:
Code:
tar: Retrait de « / » de tête des noms des membres
cd: L'accès a échoué : 550 CWD failed. "/ovh-V2/08-09-30": directory not found.
Pourtant en me connectant directement avec lftp (avec les identifiants du parametre.sh bien sûr) j'arrive bien a créer des répertoires.
Une petite idée?
EDIT: problème résolue en réinstallant lftp!

Envoyé par
hpsam
Bonjour,
Désolé pour ma réponse tardive, je ne recevais plus les notifications. J'utilise effectivement le serveur ftpback3.ovh.net, je vais sauvegarder en local en attendant son rétablissement
Je vous remercie
Cordialement,
Mohamed
Bon, j'ai réglé le souci en redémarrant à la main le serveur Bind...
Pourtant j'avais tout relancé depuis Ovhm hier soir sans résultat.
Bizarre bizarre tout çà
Salut
Mon serveur a toujours le même souci :S
Heir soir, j'ai cru vers 0h que c'était reglé, la conso CPU/Mysql etait revenu à la normal mais ce matin en me levant, je vois que c'était reparti à la hausse 20min après.
Quand je fait un "top", cela m'indique: "Cpu(s): 45% users, 6% system, 0% nice, 49% idle"
mais aucun processus ne consomme > 5% :S
Je dépasse jamais 20% de charge cpu au total et là je suis à >50 tout le temps.
Comment je peux voir ce qui tourne sur mon serveur ? car avec "ps" ou "top" je vois pas le souci.
Car je ne vois rien d'anormal, il n'y a pas plus de monde sur mon site donc çà ne vient pas de là. Ya un truc louche mais je ne sais pas quoi faire pour y remédier
merci
Bonjour
J'ai un petit souci, j'ai voulu testé ce script ce soir mais j'ai du le couper avant la fin. J'ai fait "ctrl+c" depuis SSH
Et depuis, bien que le script ce soit bien arreté, dans MRTG, je vois que le proc tourne encore à 60% (comme durant l'execution du script)
J'ai bien essayé de relancer apache/bind/mysql mais çà tourne toujours à fond, or lorsque je fait "top", il n'y a aucun processus qui utilise plus de 10%...
N'étant pas expert en admin linux, j'aurais besoin d'un peu d'aide. Comment je peux trouver ce qui tourne encore et qui consomme mon cpu ?
Merci

Envoyé par
Mox20
Bonsoir tout le monde,
J’ai installé ce script y a environs 2 mois, il marchait parfaitement bien, mais depuis une semaine il n’arrive pas à envoyer les sauvegardes sur le serveur ftp, à chaque exécution il renvoi ce message d’erreur :
Salut,
Si tu utilises ftpback3.ovh.net
voir :
http://forum.ovh.com/showthread.php?p=211989
Le serveur est ko depuis le 28/08.
A+
PS: @Michel74 merci d'éviter les hors sujets. Le site
http://www.gentoofr.org/ est plus indiqué.
Michel74
04/09/2008, 05h37
Bonjour à toutes et à tous,
Quelqu'un parmi vous a-t'il téléchargé une version de GENTOO ISO et bootable pour la mettre sur son micro ?
J'ai téléchargé les ISO ci-dessous et elles n'étaient pas bootables.
- Gentoo 2007.0 Universal install CD
- Gentoo 2008.0 Universal install CD
- Gentoo 2008.0 Minimal CD/InstallCD
Tient au fait pourquoi on ferait pas un petit module webmin de ce petit script bien pratique ?
Je suis partant...
Bonsoir tout le monde,
J’ai installé ce script y a environs 2 mois, il marchait parfaitement bien, mais depuis une semaine il n’arrive pas à envoyer les sauvegardes sur le serveur ftp, à chaque exécution il renvoi ce message d’erreur :
mysql Sauvegarde ok.
ERREUR lors l'envoie de mysql sur votre FTP /n
---------------------------------
ovh Sauvegarde ok.
ERREUR lors l'envoie de ovh sur votre FTP /n
---------------------------------
ovhm Sauvegarde ok.
ERREUR lors l'envoie de ovhm sur votre FTP /n
De mon coté je n’ai rien modifié sur le serveur. C’est peut-être le serveur ftp qui a un problème ?
Merci d’avance pour votre aide.
Salut,
J'ai créé une tache cron (//etc/webmin/mysql/backup.pl --all) qui duplique mes tables avant la sauvegarde comme ça elle fait partie de ton script.
Sinon pour régler ce problème il suffirait de rajouter dans ton script la gestion du nom de la table correspondante juste à la suite du nom utilisateur dans le fichier nom par ex:
utilisateur1/table1
utilisateur2/table2
Merci pour ta réponse.
madrippeur
30/08/2008, 13h27
Non cela ne changera rien car le script ne sauvegarde une base de données uniquement si l'utilisateur du même nom existe.
Je ne vois pas vraiment régler ton problème mis à part créer un utilisateur du même nom que tes bases de données. cette utilisateur aurait donc un répertoire vide dans lequel sera sauvegardée ta base de donnée.
Salut,
J'ai un petit soucis car mes noms de bases ne portent pas le même nom que celui de l'utilisateur donc j'ai un message d'erreur de base non trouvée dans mysql à chaque fois:
mysqldump: Got error: 1049: Unknown database 'xxxxxxx' when selecting the database
Faut il que je rajoute dans le fichier nom le nom de chacune de mes bdd ?

Envoyé par
Rikle_S
Le top serait ce genre de script, mais avec une sauvegarde totale, de ce qu'on ai juste à réstaurer après ré-installation du systeme.
Histoire de faire encore mieux, lors du renvoie des dossiers, demander si oui ou non on veut restaurer celui là, dans le but par exemple, de ne réstaurer qu'un site.
Il faudrait bien sur qu'il réstaure aussi la base de donnée du site associé mais bon au pire on peut se le palucher...
Moi j'dis ça, j'dis rien
Bah c'est faisable :s il le fait à condition de modifier le contenu du fichier nomrest
au fait pour la sauvegarde des tables, il serait bon de poser un lock avant !
Le top serait ce genre de script, mais avec une sauvegarde totale, de ce qu'on ai juste à réstaurer après ré-installation du systeme.
Histoire de faire encore mieux, lors du renvoie des dossiers, demander si oui ou non on veut restaurer celui là, dans le but par exemple, de ne réstaurer qu'un site.
Il faudrait bien sur qu'il réstaure aussi la base de donnée du site associé mais bon au pire on peut se le palucher...
Moi j'dis ça, j'dis rien
Oui, autant finir les choses qui ont bien commencées
madrippeur
25/08/2008, 13h16

Envoyé par
kreatik
Merci madrippeur je test ça et bravo pour wikiovh.com il fallait le faire de toute manière
Merci
Je regrette juste le peu de temps que j'ai pour m'en occuper
En fait je me suis mal exprimé, même avec le comment sur cette ligne il ne demande pas plus le mot de passe lors de la création d'un user...
Merci madrippeur je test ça et bravo pour wikiovh.com il fallait le faire de toute manière
madrippeur
25/08/2008, 09h02
Il y a des distribs qui ne demandent pas le mot de passe (le cas pour gentoo je crois) et d'autres qui ne créent pas le dossier utilisateur si la commande d'adduser n'est pas complète.
ps : les scripts sont normalement accessibles par http.
Perso je suis sur débian, et ce script fonctionne très très bien (je n'ai pas besoin de mieux pour être franc).
La gentoo crée automatiquement une base de données au même nom que l'utilisateur. Il m'a suffi sur ma débian de faire des scripts pour la création utilisateur qui fait la même chose, et tout marche à merveille. (C'etait juste une précision au cas ou certaines personnes seraient intéressées).
Edit : Il faudrait vraiment que je le termine ce script un jour.... :s
madrippeur
25/08/2008, 08h34

Envoyé par
kreatik
Sinon l'utilisateur est créer mais ne demande pas le mot de passe.[/B][/COLOR]
En root ou avec les droits administrateurs :
passwd backup en console, puis donner le mot de passe deux fois
madrippeur
25/08/2008, 08h32

Envoyé par
madrippeur
PS : les scripts ne sont plus disponibles au téléchargement, mais dans très peu de temps le problème sera réparé
Je fais ce que je peux me dépêche
La commande adduser backup créer bien l'utilisateur mais ne me demande pas de mot de passe et affiche plutôt cette erreur :
Code:
# adduser backup
erreur de configuration - élément « GETPASS_ASTERISKS » inconnu (avertissez l'administrateur)
Edit : il faut commenter une ligne et ça fonctionne...
Sinon l'utilisateur est créer mais ne demande pas le mot de passe.
>>>> Le script n'est plus disponible à l'adresse indiquée ! (404)
madrippeur
22/08/2008, 22h51
Tente l'installation de lftp, apparemment il n'est pas installé sur ton système.
Pour répondre à el cherubin :
Comment sauvegarder sur plusieurs serveurs :
A la base le script n'est pas prévu pour ça, et la modification de celui-ci pour supporter ce que tu demande me parrait pas vraiment faisable.
Il faudrait refaire à zéro un script pour cela.
Pour ton fichier d'exclude, je pense que tout est bon.
Désolé du retard pour les réponses, mais vraiment je ne suis pas beaucoup dispo en ce moment.
PS : les scripts ne sont plus disponibles au téléchargement, mais dans très peu de temps le problème sera réparé
lecureuil
04/08/2008, 23h16
sa ne change pas mon problème :
tar: Removing leading `/' from member names
nice: lftp: No such file or directory
TERM environment variable not set.
Crée toi même ce fichier : /home/backup/NB.txt
Et retente une sauvegarde.
lecureuil
04/08/2008, 09h17
Bonjour, super les sauvegardes en local fonctionnent parfaitement.
Par contre si j'essai de faire mes sauvegarde par FTP sur mon espace backup d'OVH j'ai ce message :
tar: Retrait de « / » de tête des noms des membres
nice: lftp: Aucun fichier ou répertoire de ce type
sed: impossible de lire /home/backup/NB.txt: Aucun fichier ou répertoire de ce type
----------
je n'arrive pas à régler ce problème, pouvez vous m'aider
Bonjour,
Merci pour ce script, je suis RH Release 1 j'ai à la fin de l'execution du script:
[root@ns39000 backup]# bash: /root/.bashrc: Permission non accordée
Avez-vous une idée?
Merci
il a t'il moyen de ne restaurer qu'un site ?
sinon pour info on dirait que la restauration en fonctionne que si on a fait un envoi FTP. Comme j'avais sauvegardé en local sans envoi FTP il me dit aucune sauvegarde !
Salut,
Merci pour le travail, une remarque :
ovh-sauve-V2.sh lignes 28-32
Code:
if [ ! -d /home/backup/sauvegarde/ ] >/dev/null
then
mkdir /home/backup/sauvegarde
chown -R backup /home/backup/restauration/
fi
remplacer
Code:
chown -R backup /home/backup/restauration/
par
Code:
chown -R backup /home/backup/sauvegarde/
A+
galaxialord
26/06/2008, 13h00
Juste aussi une modification à faire : permettre un autre utilisateur que ROOT pour la base de données (juste un paramètre LOGINSQL à ajouter dans parametres.sh, et à modifier "-u root" dans le script de sauvegarde).
;-)
alex2323
20/06/2008, 17h10
J'ai dû supprimer le répertoire backup et tout refaire.
Maintenant tout fonctionne !
alex2323
20/06/2008, 10h34
bonjour, j'ai un problème pour la sauvegarde.
Il affiche se message pour chaque répertoire qui se trouve dans home.
------------------------------------------------------------------------
mysql
tar: Retrait de « / » de tête des noms des membres
cd: L'accès a échoué : 550 /ovh-V2/08-06-20: No such file or directory
------------------------------------------------------------------------
ovh
tar: Retrait de « / » de tête des noms des membres
cd: L'accès a échoué : 550 /ovh-V2/08-06-20: No such file or directory
------------------------------------------------------------------------
ovhm
tar: Retrait de « / » de tête des noms des membres
cd: L'accès a échoué : 550 /ovh-V2/08-06-20: No such file or directory
------------------------------------------------------------------------
vpopmail
tar: Retrait de « / » de tête des noms des membres
cd: L'accès a échoué : 550 /ovh-V2/08-06-20: No such file or directory
------------------------------------------------------------------------
Ma structure est :
-home/ (root/root)
|- backup (backup/root)
|- ovh (ovh/ovh)
|- un_site (un_site/users)
|- un_site2 (un_site2/users)
|- ...
Demande de l'aide s'il vous plaît :s
Merci d'avance
Moi j'ai un soucis, mes utilisateurs ne disposent pas forcement d'une base de données à leur nom de compte et sinon que faire si je ne veut pas de sauvegarde sur le serveur?
Merci d'avance
madrippeur
01/06/2008, 21h49
humm tu fais fleche du haut (lorsque tu es conencté à ton serveur) jusqu'a retrouver la ligne de commande en question. Tu la sélectionne ensuite avec la souris, puis tu fais un clic droit je crois.
Ensuite tu reviens sur le fofo, et tu fais : CTRL+v ou clic droit coller
madrippeur
01/06/2008, 15h58
Arch is not set il n'y a pas de problème avec lftp
Code:
ln -sf /usr/portage/profiles/default-linux/x86/2006.0 /etc/make.profile
Est ce que cela résoud ton problème ?
Si cela ne le résoud pas, c'est qu'il faut changer : 2006.0 par 2006.1 ou 2006.2, il faut aller voir pour cela dans le répertoire : /usr/portage/profiles/default-linux/x86/
juste au cas ou, un poste qui devrai t'aider :
http://forum.ovh.com/showthread.php?t=28326
madrippeur
25/05/2008, 11h17
Oui des problèmes de domaines, désolé, c'est réparé
adrinavarro
24/05/2008, 18h04
oups, je n'avais pas vu les réponses. J'ai édité mon post pour indiquer que j'avais résolu le pb en installant mailutils + postfix. Je pense que sendmail aurait pu faire l'affaire aussi. merci pour vos réponses.
madrippeur
15/05/2008, 15h33
Je crois qu'il veux éviter d'en installer trop
Dis moi le mailx il est dépendant de sendmail ou autre log non?
(juste pour me coucher moins bête)
Pourquoi ne pas faire l'envoi directement par sendmail, qui marche bien par défaut ?
madrippeur
15/05/2008, 15h21
Heuuu je ne suis pas sûr, mais je crois que mailx a besoin de sendmail ou autre pour envoyer des mails. Je ne suis pas sûr de ce que j'avance, il serai bien que quelqu'un de plus sûr que moi passe dans le coin
Edit : j'a résolu mon problème de mail (ci-dessous) en installant postfix (config : "site internet") et le paquet mailutils de Debian. Apparemment, mailx n'est pas suffisant a lui seul pour envoyer des mails. Encore merci poutr le script
merci pour le script qui marche impec. J'ai juste un probleme avec le mail. Ayant juste besoin d'envoyer des mails, j'ai installé mailx qui (si j'ai bien compris) devrait suffire pour envoyer des mails. J'ai donc remplacé la fonction "mail" par "mailx" ds le code et j'ai mis mon adresse mail dans parametres.sh
Mais le mail n'arrive pas. La raison est peut-être que je n'ai pas de compte mail chez OVH (pour le moment le domaine est chez 1and1). J'ai essayé de parametrer un .mailrc avec les coordonnées smtp de 1and1. Voici le .mailrc que j'ai mis sous /root :
set smtp=auth.smtp.1and1.fr
set from=
set smtp-auth=login
set smtp-auth-user=
set smtp-auth-password=
... sans plus de succes. Par ailleurs, en faisant directement :
> echo "test" | mailx -s test
je n'ai aucun message d'erreur mais le mail n'arrive pas.
Je sais que ce n'est pas directement lié au backup mais c'est ma seule utilisation de mail sur cette machine.
madrippeur
14/05/2008, 21h14
J'ai l'intention d'utiliser plus tard (sur des scripts mieux conçus et lorsque j'aurai le temps) de me servir de cet utilisateur pou faire les backups, et eviter que ce soit root qui les fasse.
Pour le moment malheureusement, pas assez de temps, mais cela viendra ^^
Peut tu m'en dire plus sur ton erreur ?
kelvinklein
10/05/2008, 09h09
j'ai installé ton script cela fonctionne bien , aux nouveaux utilisateurs de ce script attention parfois le backup ftp ovh peut vous donner une erreur. Donc avant de chercher dans tous les sens, attendez une nuit puis refaite un essai .
Sinon madrippeur pourrais tu me dire a quoi sert ton utilisateur backup ?
car si nous lançons le script avec le user backup (groupe backup ) il n'a pas les droits pour lister tous les répertoires.
madrippeur
09/05/2008, 10h58
Oui, tu recré à l'identique tes comptes exactement de la même façon que tu l'avais fait la première fois. Il est important que les nom d'utilisateur soient exactement les mêmes.
madrippeur
09/05/2008, 08h44
Avant de recreer ton dossier backup, il te faudra recréer avec ovhm tous tes domaines.
Sauvegarde ton fichier nom et nomrest (si tu en as un), ensuite résintalle le script de backup comme dans le tuto.
Cela aura pour effet de remettre tes sites en place ainsi que tes mails. Il est important de recréer tes domaines avant.
madrippeur
06/05/2008, 09h52
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
madrippeur
04/05/2008, 13h17
rhooooo
Bah écoute on va voir ce qu'on peux faire
Laisse moi quelques jours car un peu de boulot en ce moment, mais je te ferai ça
tiens, par contre cette version contrairement à la précédente, n'envoie plus de mail de notification ? c'était bien pourtant ...
Avec un petit récap des sites sauvegardés et de leur taille par exemple ?
madrippeur
02/05/2008, 13h40
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
Merci de ton avis
ça marche nickel :-)
améliorations ?
- pouvoir faire une restauration partielle (un fichier, un repertoire, une table, plusieurs tables...) sans avoir à tout péter )
madrippeur
01/05/2008, 17h15
oups... oui c'est vrai ^^
je modifie
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 ?)
madrippeur
01/05/2008, 09h25
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 !
madrippeur
01/05/2008, 08h38
J'ai trouvé une solution pour effacer les anciennes sauvegardes !
Je teste sous toutes les coutures, et je vous tiens au courant !
madrippeur
30/04/2008, 12h18
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.
Bruno-KS
30/04/2008, 00h46
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
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 !!!
:-)
madrippeur
29/04/2008, 18h35
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
Créer un utilisateur backup
Connectez vous en ssh à votre serveur, assurez vous que vous avez les droits root, et tappez :
Un mot de passe va vous être demandé, je vous laisse le soin de le rentrer.
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
Voilà, vous êtes prêts à installer le script !
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
Ensuite, nous allons simplement exécuter le script d'installation :
Code:
sh /home/backup/installbackup.sh
Le script est automatique, et vous conseil, si tout c'est bien passé d''aller voir à l'intérieur de votre fichier : /home/backup/nom
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
Ligne à lancer pour restaurer vos sites :
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 :
et entrez un ligne comme ça :
Code:
00 6 * * * /home/backup/ovh-sauve-V2.sh
Cela permettra au script de s'executer à 6h00 du matin, et de sauvegarder tout seul
Pour restaurer :
Code:
sh /home/backup/ovh-restaur-V2.sh
Suivez les instructions, c'est basique, simple, mais cela fonctionne !