Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

Bonjour à toutes et à tous,

Mon association administre un serveur dédié sous debian etch, la personne s'occupant des taches d'admnistration étant à l'hôpital ça fait 3 jours que je cherche comment mettre en place un système de sauvegarde des données ftp et BDD des divers compte du serveur.

J'ai bien sûr pensé à mettre en place un script qui ferai une archive de sauvegarde par compte comprenant le ftp et la BDD lié à chaque compte vue que l'arborescence et du style : /var/www/sites/utilisateurs/
Puis sur mon PC (ubuntu) placer un autre script lançant une connexion ssh afin de rapatrier le contenu du dossier de backup en local.
Une fois le rapatriement terminer, lancer une instruction ou un autre script pour supprimer le contenu du dossier backup distant afin de ne pas surcharger le serveur en fichiers inutiles.
Le tout automatisé par des taches cron sur le srv ainsi qu'en local.

Lors de mes erecherche j'ai trouvé un script datant de 2005 : [www.tatane.info]
Le problème c'est qu'après test en local il s'arrête après le/les 1er(s) dossier trouver, du coup il ne sauvegarde pas le contenu.
Exemple :
sauvegarde de : /var/www
Dossier trouvé : /sites
Archivage et déplacement de /sites mais pas de son contenu.

J'ai également lu le post de jimbo dans la section devellopement ( [lea-linux.org] ), mais ni connaissant rien aux scripts sh et/ou bash , c'est un peut du chinois pour moi :,(

Merci d'avance pour votre aide et/ou lien vers de la doc.

@+

PS : Je parle de connexion ssh car ayant une IP dynamique c'est le plus simple pour moi plutôt que de passer par un système style dyndns pour créer un serveur ftp sur mon PC local.


Poste le Saturday 10 May 2008 17:34:28
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

Il faudrait expliciter quelles données sont à sauvegarder.

Peut-être que rsync à travers ssh pourrait faire l'affaire.

Et surtout, j'imagine que l'administrateur régulier (celui qui est hospitalisé et à qui je souhaite une meilleure santé) a probablement déjà prévu quelque chose pour la sauvegarde. Peut-être a-t-il laissé (sur le serveur) des fichiers de scripts ou d'indication pour ça...


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 17:41:28
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

J'ai regardé sur le serveur et le connaissant, il m'en aurai parlé, mais étant donnée qu'aucune tache cron n'existe et que depuis qu'il est à l'hopital aucune sauvegarde n'a été faite, j'entends par là, rien dans les logs, et la dernière archive de sauvegarde date de Mars et elle a été faite à la main vue que j'ai trouvé les commandes dans l'historique des commandes.

Donc Je voudrais mettre en place un système de sauvegarde des contenues ftp et BDD de tous les utilisateurs du serveur mais avec une archive par compte utilisateur.
En gros ça donnerai un truc du genre :
/backup/save_toto_10-05-08.tar.gz
/backup/save_lulu_10-05-08.tar.gz
etc.
Chaque archive comprenant soit :
une archive du ftp et une archive BDD de ce style :
save_toto_10-05-08.tar.gz
=> saveftp_toto_10-05-08.tar.gz
=> savebdd_toto_10-05-08.tar.gz

ou 2 dossiers, 1 pour le ftp et 1 pour la BDD :
save_toto_10-05-08.tar.gz
=> /saveftp
=> /savebdd

Et une fois ces sauvegardes créer, je les télécharge sur mon DD et les supprime du serveur.

J'espère que c'est un peu plus clair comme ça ;-)

Poste le Saturday 10 May 2008 18:23:24
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

Arf, je peux pas éditer mon message précédent.

Je voulais ajouter une autre option par rapport aux sauvegardes.
Du moment que chaques Bases De Données mySQL soient dans des archives distincts, je pense que l'on peut dissocier les sauvegardes.
Ça donnerai des choses de ce style :
saveftp_toto_date.tar.gz
savebdd_nom-de-la-bdd_date.tar.gz

Avec ça, je peux retrouver quelle(s) BDD va/vont avec quel utilisateur et donc les classer par la suite en local.

Poste le Saturday 10 May 2008 18:39:59
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

A mon avis, si tu as un peu d'espace disque sur ton serveur, tu pourrais y lancer par cron des scripts de sauvegarde, quelque chose comme
[v]attention code non testé[/v]

Voici une idée (non testée!) de script pour sauvegarder un utilisateur de $HOME XX et de base de données YY: invoque le comme lescript XX YY depuis un crontab, plutot le soir vers 23h
nomhome=$1
nombase=$2
## tous les messages en Posix/Anglais
export LANG=C
export LC_ALL=C
## une chaine donnant la date comme 2008_May_09__11h qui peut servir de nom de fichier
ladate=$(date +"%Y_%b_%d__%Hh)
## sauvegarde des données
tar -C /home/$nom_home -z -f /var/tmp/data_$nomhome_$ladate.tgz .
## lier la sauvegarde 
ln -s -f /var/tmp/data_$nomhome_$ladate.tgz /var/tmp/data_$nomhome.tgz
## sauvegarde de la base
mysqldump --opt --databases $nombase | gzip > /var/tmp/base_$nombase_$ladate.tgz
## lier la sauvegarde 
ln -s -f /var/tmp/base_$nombase_$ladate.tgz /var/tmp/base_$nombase.tgz

Ca c'est à avoir sur le serveur (chez l'hébergeur), activé par des crontab.

Sur ton PC client Linux (chez toi) qui recois les sauvegardes tu pourrais faire quelque chose comme
scp serveur:/var/tmp/data_$nomhome.tgz /repertoire/sauvegarde
scp serveur:/var/tmp/base_$nomebase.tgz /repertoire/sauvegarde
(peut-être à lancer au petit matin vers 4h)

Encore une fois, je n'ai rien testé et probablement fait des erreurs ou oublis. A prendre à tes risques et périls, et surtout à adapter ou modifier pour tes besoins.

Mais bien sûr, c'est réaliste si tu as au plus une (quelques) dizaine(s) d'utilisateurs et de bases.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 19:23:09
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

Il fallait lire (pour la ligne correspondante)
ladate=$(date +"%Y_%b_%d__%Hh")
j'ai oublié le guillemet final

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 19:27:47
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

OK, merci, j'avais quelque peut avancé de mon côté pour la sauvegarde des comptes utilisateurs avec ceci :
#!/bin/sh
#----- Paramétrage du script -----
 
# Racine WWW
www=/var/www
# Date du jour
date=`date '+%d-%m-%Y'`
 
#---------- Lancement du script ----------
 
clear
 
echo `date`
echo '### Backup des répertoires web ###'
echo
 
#---------- Création des archives tar.gz ----------
 
# Boucle sur tous les comptes Web
for rep in `ls $www`; do    
    if [ -d $www/$rep ]; then
        tar -czf /home/dragons/backup/backup_$rep\_$date.tar.gz $www/$rep
        echo Tar.gz de $rep terminé  
    fi
done
 
echo 
echo '### Backup terminé ###'
echo

tiré du code pris sur tatane.info et légérement modifié et après test en local et ça tourne nickel.
Il me restait plus qu'à trouver pour les BDD, a savoir qu'il y en a une 60e avec des utilisateurs en ayant 0 et d'autres une 12e.

Pour répondre à ton message, j'ai une 12e de compte à sauvegarder, certains n'ayant qu'un NDD sans sous-domaine, d'autre ayant plusieurs NDD avec plusieurs sous-domaines (total NDD : 28, total sous-domaines : 68).
Je vais voir avec ton code ce que ça donne en local ce soir winking smiley

Merci en tout cas pour l'aide, bien que quelques explications sur les commandes scp serveur: et les export LANG=C et export LC_ALL=C que je ne connais pas du tout, le reste j'ai compris grinning smiley

Poste le Saturday 10 May 2008 20:36:53
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

la commande
scp server.org:/var/tmp/foobar /home/ici
copie le fichier foobar du répertoire /var/tmp de la machine distante server.org vers le répertoire local /home/ici (de la machine où tu tapes la commande) en utilisant ssh.

Il faut configurer ssh pour que ça marche sans mot de passe.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 20:44:31
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

Et le forçage des variables d'environnement LANG et LC_ALL (et peut-être aussi LC_TIME) à la valeur C (ou Posix) force les messages à être en anglais d'informaticien. Ca évite les surprises sur les sorties des commandes (surtout celles que tu traites automatiquement) et notamment date.

[v]en principe, LANG=C devrait donner des messages pour informaticiens en anglais, et LANG=EN_GB devrait donner des messages pour personnes ordinaires en anglais, mais je ne connais aucun système qui fait la différence.[/v]

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 20:47:54
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

Pour le scp, on peut créer un alias dans : $HOME/.ssh/config

Comme décrit ici : [www.tuteurs.ens.fr]

Plutôt que de configurer ssh pour que ça passe sans mot de passe, car connaissant l'admin habituel, il va pas apprécier ce genre de config :-/

Poste le Saturday 10 May 2008 22:09:10
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

ssh sans mot de passe est assez sûr, en utilisant une paire de clef publique et privée.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 10 May 2008 22:19:49
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

OK, je vais me renseigner sur le système de cle publique/privé dans ce cas :-)

Poste le Sunday 11 May 2008 11:53:49
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

ssh est très largement documenté. Une recherche sur le web pour ssh tutoriel ou ssh introduction linux devrait être fructueuse.

Et il y a aussi des livres sur ssh.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Sunday 11 May 2008 12:40:24
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Dragons

Oui j'ai trouvé paas mal de chose la dessus, mais je me pose une question.
On peux faire sans passphrase ça baisse un peu la sécu, ou alors est-ce qu'en lançant ssh-add au démarrage de ma session je peux tout de même utiliser un passphrase sur la clé privé et pouvoir lancer tout de même la commande sans avoir à intervenir.

Bon je sents que je vais me monter un petit PC avec des vieux composants qui trainent dans un carton et installer une debian minimal pour simuler un serveur et faire des tests (enfin si j'ai tout ce qu'il faut).

En tout cas merci pour l'aide ça m'a permis d'apprendre de nouvelles choses sous linux :-))

Poste le Sunday 11 May 2008 12:51:15
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local
Envoyé par: Matt

Bonjour je suis tombé sur votre post car je cherche moi aussi à mettre en place un système du genre. Cependant on m'a déconseillé d'utiliser un scp car apparemment en cas de coupure de la connexion internet, ce n'est pas le top.
Vous en pensez quoi ? On m'a plutôt conseillé de passé par un ftp sécurisé.

Poste le Tuesday 13 May 2008 08:33:36
Répondre     Citer    
Re: Sauvegarde srv dédié sur PC local

Pourquoi ne pas faire du rsync à travers ssh ?
man rsync
t'expliquera comment procéder !

C'est en forgeant qu'on devient forgeron, et c'est en sciant que Léonard De Vinci !

Mon site perso

Poste le Tuesday 13 May 2008 11:01:32
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Sauvegarde srv dédié sur PC local
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons