Installation
des packages
Sur
le serveur et les clients
:
rsync-2.6.0-1.rpm |
rsync_2.6.1-1-i386.deb
|
Créez
un fichier /etc/rsyncd.conf
#
Permet d'afficher un message contenu dans /etc/rsyncd.motd
aux
clients
#motd
file = /etc/rsyncd.motd
#
Enregistrement des logs
log
file = /var/log/rsyncd.log
#
Enregistrement du pid
pid
file = /var/run/rsyncd.pid
#
Permet de contrôler le nombre de connexions
lock
file = /var/run/rsync.lock
#
Nom de la section qui archivera les profiles des utilisateurs Samba
[sambahome]
#
répertoire ou sera sauvegardé les fichiers du client
path
= /mnt/sauvegarde/samba
comment
= profiles samba
#
spécifie sous quel uid et gid s'effectueront le transfert
uid
= root
gid
= root
#
le serveur rsync effectue un chroot dans le patch avant le transfert
avec le client, ce qui améliore la sécurité.
mais demande le privilège root et ne permet pas de suivre les
liens symboliques.
use
chroot = yes
#
limite le nombre des clients connectés
max
connections = 1
#
laisser à "no" pour autoriser les transferts. si
vous souhaitez désactiver cette section pour refuser l'accès
en écriture aux clients mettez à "yes"
read
only = no
#
autorise les clients à lister cette section
list
= yes
#
permet de spécifier les utilisateurs qui ont le droit de se
connecter. dans le cas ou vous n'utilisez pas SSH
#
auth users = username
#
secrets file = /etc/rsyncd.scrt
#
strict modes = yes
#
permet de spécifier les IP des clients autorisés à
se connecter ou non au serveur rsync
hosts
allow = 192.168.0.2
hosts
deny = 192.168.0.0/24 192.168.1.0/24
#
Nom de la section qui archivera le cache DNS primaire
[cachedns]
path
= /mnt/sauvegarde/named
comment
= cache
dns primaire
uid
= root
gid
= root
use
chroot = yes
max
connections = 1
read
only = no
list
= no
hosts
allow = 192.168.0.1
hosts
deny = 192.168.0.0/24 192.168.1.0/24
#
Nom de la section qui archivera les mails du serveur Postfix
[mails]
path
= /mnt/sauvegarde/mails
comment
= mails postfix
uid
= root
gid
= root
use
chroot = yes
max
connections = 1
read
only = no
list
= no
hosts
allow = 192.168.0.3
hosts
deny = 192.168.0.0/24 192.168.1.0/24
#
Nom de la section qui archivera les fichiers du serveur intranet
[intranet]
path
= /mnt/sauvegarde/intranet
comment
= serveur
intranet
uid
= root
gid
= root
use
chroot = yes
max
connections = 1
read
only = no
list
= no
hosts
allow = 192.168.0.5
hosts
deny = 192.168.0.0/24 192.168.1.0/24
Lancez manuellement le serveur rsync par cette commande :
[root@srv7 user]# rsync --daemon |
pc:/home/user# /etc/init.d/rsync start |
ou
par le super daemon xinetd
Configurez
et lancez votre serveur OpenSSH (voir
tutoriel OpenSSH) et
ajoutez les clefs publique
de vos machines clientes dans /root/.ssh/authorized_keys
pour qu'il puissent vous identifier par clef sans demander de mot de
passe (voir
"Connexion
par paires de clefs")
Sauvegarde
Rsync
lancée par SSH depuis les machines clientes
Cela sous entend que votre serveur SSH fonctionne bien sur le serveur Rsync et que vous avez mis en place vos clients SSH.
Lancez
un terminal et connectez vous en root.
vous
avez le choix dans les options rsync de simplement archiver vos
fichiers :
[root@srv2
user]# rsync -avz -e ssh /home/samba/ 192.168.0.7::sambahome
-avz
pour un archivage par défaut en verbose
et avec compression
-e
ssh pour indiquer que l'on communique par SSH
/home/samba/
est le répertoire ou se trouvent les
fichiers profiles des utilisateurs Samba
192.168.0.7::sambahome
adresse du serveur rsync avec la section
sambahome prédéfinie, qui sauvegardera vers le
répertoire /mnt/sauvegarde/samba
ou
de préciser les
options rsync :
[root@srv2
user]# rsync -vrlpogtSz -C --delete --partial -e ssh /home/samba/
192.168.0.7::sambahome
-v,
--verbose plus
loquace
-r,
--recursive visite
récursive des répertoires
-l,
--links copie
les liens symboliques comme liens symboliques
-p,
--perms préserve
les permissions
-o,
--owner préserve
le propriétaire (root uniquement)
-g,
--group préserve
le groupe
-t,
--times préserve
les dates
-S,
--sparse traite
les fichiers à trous efficacement
-C,
--cvs-exclude ignore
automatiquement des fichiers, comme le ferait CVS
--delete efface
les fichiers qui n'existent pas du coté expédition
--partial conserve
les fichiers partiellement transférés
-z,
--compress compresse
les données
[root@srv1
user]# rsync -avz -e ssh /home/samba/ 192.168.0.7::cachedns
[root@srv3
user]# rsync -vrlpogtSz -C --delete --partial -e ssh /home/samba/
192.168.0.7::mails
[root@srv5
user]# rsync -avz -e ssh /home/samba/ 192.168.0.7::intranet
Automatiser
toutes ces commandes sur vos machines clientes avec crontab.
Faites
vous un fichier sauvegarde.sh sur chaque machines
:
#!/bin/bash
rsync
-vrlpogtSz -C --delete --partial -e ssh /home/samba/
192.168.0.7::sambahome
Puis créez une ligne dans crontab :
[root@srv2
user]# crontab -e (éditeur VI =>
i pour insérer)
0
2 */3 * * /root/sauvegarde.sh (exécute
tous les 3 jours à 2h du matin)
([Echap] :wq! pour enregistrer et quitter)
crontab:
installing new crontab
[root@srv2
user]#
[root@srv5 user]# crontab -e
0
4 */7 * * /root/sauvegarde.sh (exécute
toutes les semaines à 4h)
([Echap]
:wq! pour enregistrer et quitter)
crontab:
installing new crontab
[root@srv5
user]#
Copyright © 04/02/2004, Arnofear
Ce document est publié sous licence Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique : http://creativecommons.org/licenses/by-nc-sa/3.0/deed.fr |