OVH Community, votre nouvel espace communautaire.

HOW TO ovh released 2 sauvegarde facile des sites ! VERSION2


nono67
13/05/2010, 21h28
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 ?

enzo24
08/05/2010, 12h09
Voir ici : http://www.dansteph.com/backupftp.php

Aussi voir le topic : http://forum.kimsufi.com/showthread.php?t=4079&page=3

Voilà !

choubaka
27/04/2010, 14h26
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, 12h47
Idem ça m'aurait été bien utile

nono2a
11/04/2010, 08h00
zut.. il est passé a la trappe ce script?? il avait l'air bien?.. personne qui peut relancer le truc?
merci d'avance..

nakuni
07/04/2010, 12h12
Pareil, il semble que le script ne soit plus en ligne

stevaz
18/03/2010, 18h44
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.

fifiwds
12/03/2010, 15h28
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

alibabb
17/02/2010, 17h19
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, 17h01
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

asus
15/01/2010, 13h52
Citation 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, 13h14
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, 15h01
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, 13h44
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, 23h36
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, 16h27
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.

kreatik
08/01/2010, 00h01
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, 22h14
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.

kreatik
07/01/2010, 21h43
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, 21h30
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

kreatik
07/01/2010, 21h11
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, 20h28
Sur gentoo release OVH 2

quentin001
06/01/2010, 15h37
lolopage >le script fonctionne t-il chez vous et sinon vous êtes sur quelle système

lolopage
06/01/2010, 14h45
Citation 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, 14h28
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, 14h11
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, 12h02
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

kreatik
04/01/2010, 17h28
Citation 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...

asus
04/01/2010, 17h12
Citation 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, 17h09
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

asus
04/01/2010, 17h04
Citation 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, 16h09
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

kreatik
04/01/2010, 11h48
petite suggestion, ce serait super de pouvoir gérer les envois (et les purges) vers plusieurs FTP.

asus
04/01/2010, 10h44
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, 10h14
Pourtant le user root à tout les droits, il me semble

asus
28/12/2009, 19h43
Citation 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, 19h16
Le fichier est bien dans le répertoire cité et avec les droits 600 que j'ai refais

asus
15/12/2009, 18h02
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, 14h05
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

asus
14/12/2009, 14h04
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, 11h34
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

asus
10/12/2009, 21h32
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, 21h03
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

asus
09/12/2009, 12h02
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, 08h42
Merci Beau boulot !

asus
08/12/2009, 13h18
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' 

asus
07/12/2009, 19h27
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, 14h33
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, 13h05
pour avoir plus d'informations j'ai recréé un topic sur le sujet
http://forum.ovh.com/showthread.php?t=51810

Rolans
01/10/2009, 17h42
Toujours aucune nouvelle?

quentin001
30/09/2009, 10h15
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.

Rolans
29/09/2009, 02h50
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, 11h52
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?

yatoula
25/08/2009, 13h59
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, 08h54
Bah ici c'est le dernier logiquement.

yatoula
21/08/2009, 12h23
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

ads
17/07/2009, 11h48
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

Zell
03/07/2009, 12h18
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, 09h22
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

yaze123
29/04/2009, 17h51
http://travaux.ovh.net/?do=details&i...809c8d0ed4c703

yaze123
29/04/2009, 17h50
effectivement, je vais voir avec le support...car je ne vois pas d'autres raisons

Mox20
29/04/2009, 17h49
Citation 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

yaze123
29/04/2009, 17h45
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

Mox20
29/04/2009, 17h42
Citation 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.

yaze123
29/04/2009, 17h32
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 ?

Mox20
29/04/2009, 17h23
Bonjour,
Moi j'ai réglé mon probleme en réinstallant le script

le_parrain
29/04/2009, 17h02
j'ai le même problème

Mox20
05/04/2009, 14h18
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.

kreatik
16/03/2009, 23h57
'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

Patrik
11/03/2009, 11h23
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 ?

Berpj
07/03/2009, 14h14
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, 09h44
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.

lilou13
26/02/2009, 16h30
merci pour ton script.

madrippeur
15/02/2009, 18h47
Citation 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 ^^

cr0k72
13/02/2009, 01h40
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, 08h28
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

yaze123
08/02/2009, 21h15
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, 14h37
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, 03h28
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, 22h22
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, 11h36
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?

kreatik
04/01/2009, 12h53
Pour info je ne me souvient pas avoir été obligé de créer le répertoire sur le serveur distant.

pierat
04/01/2009, 11h53
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, 18h32
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 ?

moldu
27/10/2008, 08h34
Attention el cherubin, tes bases ne sont pas sauvegardées avec le message que tu as.

arowan
26/10/2008, 09h27
http://travaux.ovh.com/?do=details&i...63a8cf0c024ce7

kreatik
12/10/2008, 02h29
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, 09h22
Citation 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, 03h14
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, 16h04
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

nakuni
01/10/2008, 13h46
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!

nakuni
30/09/2008, 23h05
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!

Mox20
05/09/2008, 18h17
Citation Envoyé par hpsam
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é.
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

oracle
05/09/2008, 17h23
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 çà

oracle
05/09/2008, 11h14
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

oracle
04/09/2008, 22h06
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

hpsam
04/09/2008, 09h49
Citation 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, 06h37
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

kreatik
04/09/2008, 02h23
Tient au fait pourquoi on ferait pas un petit module webmin de ce petit script bien pratique ?

Je suis partant...

Mox20
04/09/2008, 01h25
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.

fifiwds
31/08/2008, 08h51
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, 14h27
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.

fifiwds
30/08/2008, 11h42
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 ?

moldu
28/08/2008, 14h51
Citation 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

kreatik
28/08/2008, 11h33
au fait pour la sauvegarde des tables, il serait bon de poser un lock avant !

Rikle_S
28/08/2008, 09h51
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

kreatik
25/08/2008, 17h20
Oui, autant finir les choses qui ont bien commencées

madrippeur
25/08/2008, 14h16
Citation 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

kreatik
25/08/2008, 12h37
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, 10h02
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, 09h34
Citation 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, 09h32
Citation 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

kreatik
23/08/2008, 09h05
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, 23h51
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
05/08/2008, 00h16
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.

moldu
04/08/2008, 21h21
Crée toi même ce fichier : /home/backup/NB.txt
Et retente une sauvegarde.

lecureuil
04/08/2008, 10h17
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

zsunol
16/07/2008, 11h34
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

papango
08/07/2008, 01h46
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 !

hpsam
05/07/2008, 18h21
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, 14h00
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, 18h10
J'ai dû supprimer le répertoire backup et tout refaire.

Maintenant tout fonctionne !

alex2323
20/06/2008, 11h34
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

flotixe
10/06/2008, 22h21
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, 22h49
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, 16h58
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, 12h17
Oui des problèmes de domaines, désolé, c'est réparé

adrinavarro
24/05/2008, 19h04
http://team.battleroyale.fr -> ne marche pas

andrasz
19/05/2008, 10h25
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, 16h33
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)

Shaye
15/05/2008, 16h28
Pourquoi ne pas faire l'envoi directement par sendmail, qui marche bien par défaut ?

madrippeur
15/05/2008, 16h21
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

andrasz
15/05/2008, 12h27
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, 22h14
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, 10h09
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, 11h58
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, 09h44
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, 10h52
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, 14h17
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

papango
04/05/2008, 13h52
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, 14h40
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

ça marche nickel :-)
Merci de ton avis

papango
01/05/2008, 23h02
ç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, 18h15
oups... oui c'est vrai ^^
je modifie

papango
01/05/2008, 17h20
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, 10h25
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, 09h38
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, 13h18
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, 01h46
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

papango
30/04/2008, 01h24
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, 19h35
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 :
Code:
adduser backup
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 :
Code:
crontab -e
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 !