frogdev site francophone sur Gentoo
Vous êtes ici : Serveur de sauvegarde
Dernière modification : February 16 2007 18:47:19.

Serveur de sauvegarde incrémentales

I.Configuration coté serveur :

1.Installation des logiciels :
# 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.
# groupeadd guser1
# useradd -m -d /mnt/sauvegarde/user1 user1 -g guser1
On défini un mot de passe pour cet utilisateur :
# passwd user1

On efface les fichiers créés par la commande useradd :
# 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 :
# 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.
# 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 :
#! /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 :
# chmod u+x /etc/cron.monthly/user1m.cron

Créer un fichier /etc/cron.weekly/user1w.cron et y insérer :
#! /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 :
# chmod u+x /etc/cron.weekly/user1w.cron

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

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

Configuration du démon cron :
Editer /etc/crontab pour y inserer ces lignes :
#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 :
# 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.
# 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 :
#! /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 :
# chwon user1 /usr/sbin/sauvegardes.cron
# chgrp users /usr/sbin/sauvegardes.cron
# chmod u+x /usr/sbin/sauvegardes.cron

Pour lancer une sauvegarde :
$ /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 :
# cp /usr/sbin/sauvegardes.cron /etc/cron.daily

Configuration du mot de passe SSH :
# 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.

Voir les commentairesAjouter un commentaire

Imprimer cette page Imprimer cette page

Liste de diffusion

Valider 


Espace téléchargement

Téléchargement
Livres (pdf)
Howto



Promouvoir et soutenir le logiciel libre
Go Frugalware, Go

Get Firefox

Gentoo

Logo Apache

Logo Mysql

Logo PHP



nobrevet

Read and comment at the BadVista.org blog

L'Association Francophone des Utilisateurs de Linux et des logiciels libres (AFUL)

Logo greenpeace


grenouille

Me contacter / Mes expériences GNU/Linux

- [ Basé sur Itseasy | Thème : Frogdev ] -
Les informations ne sont données qu'à titre indicatif.
© frogdev site francophone sur Gentoo, Licence FDL 2008

[ Page générée en 0.04809 secondes | Compression gZip active ]
Poids XHTML : 20.85 ko (24.82 ko non compressé) - CSS : 5.92 ko
Eléments chargés : 5.99 ko