Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[howto] Serveur de sauvegarde incrémentales
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
bouleetbil
Guru
Guru


Joined: 06 Jul 2004
Posts: 456
Location: Montpellier

PostPosted: Fri Dec 30, 2005 6:58 am    Post subject: [howto] Serveur de sauvegarde incrémentales Reply with quote

Bonjour,
J'ai lu un article sur Linux pratique qui me paraissait sympa donc le voila adapté pour Gentoo pour ceux que cela intérresse :
Serveur de sauvegarde incrémentales

I.Configuration coté serveur :

1.Installation des logiciels :
Code:
# emerge openssh
# rc-update add sshd default
# /etc/init.d/sshd start

# emerge rsyncd
# rc-update add rsyncd default
# /etc/init.d/rsyncd start

# emerge dcron
# rc-update add dcron default
# /etc/init.d/dcron start
# crontab /etc/crontab


Preparer une partition pour acceuillir les sauvegardes.
Monter cette partition sur /mnt/sauvegarde.

2.Configuration du serveur pour un poste client :
Pour chaque utilisateur qui utilisera ce serveur de sauvegarde, il faut créé un groupe et un utilisateur :
user1 représente un utilisateur et guser1 son groupe.
Code:
# groupeadd guser1
# useradd -m -d /mnt/sauvegarde/user1 user1 -g guser1

On défini un mot de passe pour cet utilisateur :
Code:
# passwd user1


On efface les fichiers créés par la commande useradd :
Code:
# rm /mnt/sauvegarde/user1/.*


On met en place la sécurité des dossiers afin que seul user1 et root est accés à /mnt/sauvegarde/user1 :
Code:
# chgrp guser1 /mnt/sauvegarde/user1
# chown root /mnt/sauvegarde/user1
# chmod o-rwx /mnt/sauvegarde/user1
# mkdir /mnt/sauvegarde/user1/sauvegardes
# mkdir /mnt/sauvegarde/user1/jour
# mkdir /mnt/sauvegarde/user1/semaine
# mkdir /mnt/sauvegarde/user1/mois
# chmod -R o-rwx /mnt/sauvegarde/user1/
# chgrp -R guser1 /mnt/sauvegarde/user1/
# chmod g+w /mnt/sauvegarde/user1/sauvegardes


Création d'un dossier .ssh pour stocker le mot de passe.
Code:
# mkdir /mnt/sauvegarde/user1/.ssh
# chmod o+rx /mnt/sauvegarde/user1
# chgrp -R guser1 /mnt/sauvegarde/user1/.ssh


Automatisation des sauvegardes :
Créer un fichier /etc/cron.monthly/user1m.cron et y insérer :
Code:
#! /bin/bash
rm -rf /mnt/sauvegarde/user1/mois
mv /mnt/sauvegarde/user1/semaine /mnt/sauvegarde/user1/mois
mv /mnt/sauvegarde/user1/jour /mnt/sauvegarde/user1/semaine
cp -al /mnt/sauvegarde/user1/sauvegardes /mnt/sauvegarde/user1/jour


Rendre ce fichier exécutable :
Code:
# chmod u+x /etc/cron.monthly/user1m.cron


Créer un fichier /etc/cron.weekly/user1w.cron et y insérer :
Code:
#! /bin/bash
rm -rf /mnt/sauvegarde/user1/semaine
mv /mnt/sauvegarde/user1/jour /mnt/sauvegarde/user1/semaine
cp -al /mnt/sauvegarde/user1/sauvegardes /mnt/sauvegarde/user1/jour


Rendre ce fichier exécutable :
Code:
# chmod u+x /etc/cron.weekly/user1w.cron


Créer un fichier /etc/cron.daily/user1d.cron et y insérer :
Code:
#! /bin/bash
rm -rf /mnt/sauvegarde/user1/jour
cp -al /mnt/sauvegarde/user1/sauvegardes /mnt/sauvegarde/user1/jour


Rendre ce fichier exécutable :
Code:
# chmod u+x /etc/cron.daily/user1d.cron


Configuration du démon cron :
Editer /etc/crontab pour y inserer ces lignes :
Code:
#minutes heures jour mois jourdelasemaine commande
*/15 * * * * test -x /usr/bin/run-crons && /usr/sbin/run-crons
#selon l'emplacement de run-crons
0 * * * * rm -f /var/spool/cron/lastrun/cron.hourly
0 5 * * * rm -f /var/spool/cron/lastrun/cron.daily
0 4 * * 1 rm -f /var/spool/cron/lastrun/cron.weekly
0 3 1 * * rm -f /var/spool/cron/lastrun/cron.monthly


run-crons vérifie si des scripts sont à lancer dans /etc/cron.*
Le format de chaque entrée :
minutes : de 1 à 60
heures : de 1 à 24
jour : de 1 à 31
mois : de 1 à 12
jourdelasemaine : de 1 à 7

Recharger le fichier crontab :
Code:
# crontab /etc/crontab


II Configuration coté client :


1. Configuration du poste pour l'utilisateur user1 :
Créer dans /home un répertoire sauvegarde avec en lui donnant les droits d'accès pour user1.
Code:
# mkdir /home/sauvegarde
# chown user1 /home/sauvegarde
# chgrp users /home/sauvegarde

Ce répertoire est accessible aux membre du groupe "users"

Donc, maintenant vous pouvez copier les données à sauvegarder dans /home/sauvegarde
Créer un fichier /usr/sbin/sauvegardes.cron y insérer :
Code:
#! /bin/bash
date > /home/user1/rsync.log
sync -e ssh -av --delete --hard-links --progress "/home/sauvegarde/" \
user1@SERVEUR.domaine.com:./sauvegardes/ >> rsync.log


SERVEUR.domaine.com correspond au nom de la machine on peux le remplacer par son adresse IP.

Rendre ce fichier exécutable pour user1 :
Code:
# chwon user1 /usr/sbin/sauvegardes.cron
# chgrp users /usr/sbin/sauvegardes.cron
# chmod u+x /usr/sbin/sauvegardes.cron


Pour lancer une sauvegarde :
Code:
$ /usr/sbin/sauvegardes.cron


Pour automatiser la sauvegarde il faut un démon cron qui tourne puis copier le fichier qui vient d'être créer :
Code:
# cp /usr/sbin/sauvegardes.cron /etc/cron.daily


Configuration du mot de passe SSH :
Code:
# ssh-keygen -t rsa (appuyer 3 fois sur entrée)
# cat ~/.ssh/id_rsa.pub | ssh user1@SERVEUR.domaine.com 'cat - >> ~/.ssh/authorized_keys'
# ssh root@SERVEUR.domaine.com
# chmod go-w /mnt/sauvegarde/user1/.ssh


2. Réstauration des données :

Il est possible d'utiliser sftp, dans konqueror saisir l'adresse :
sftp://user1@SERVEUR.domaine.com.
Sous gnome j'utilise gftp qui gère bien sftp.
_________________
L'homme n'est pas fait pour travailler ça le fatigue.
LiveCD Gentoo : http://www.frogdev.info
Gentoo/Freebsd : http://www.frogdev.info/gentoo_freebsd.php
Back to top
View user's profile Send private message
bibi.skuk
Guru
Guru


Joined: 01 Aug 2005
Posts: 425

PostPosted: Fri Dec 30, 2005 10:40 am    Post subject: Reply with quote

petite suggestion... lors de la creation des utilisateurs...

l'option -k de useradd permet de specifier un repertoire skel, autre que celui par defaut... et donc d'eviter de supprimer les fichiers générés par useradd...

Edit : bien joué, je vais mettre un truc similaire en place...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum