Actions sur le document
Rsnaphot
rsnaphot permet de faire des sauvegardes incrémentales sur disque à l'aide de rsync. En utilisant les liens durs, rsnapshot créé l'illusion de l'existence de multiples sauvegardes complètes, tout en n'occupant que la place d'une seule plus les différences.
Installation par
yum install rsnapshotDans le fichier /etc/rsnapshot.conf
snapshot_root /home/kwa29/Backup/Maintenant que votre fichier de configuration est fait, il est temps de faire en sorte que rsnapshot soit lancé par cron. En tant que l'utilisateur root, editez le crontab de root en tapant :
cmd_ssh /usr/bin/ssh
# On conserve 7 sauvegardes journaliéres et 4 hebdomadaires
interval daily 7
interval weekly 4
ssh_args -o BatchMode=yes
exclude_file /home/kwa29/exclude_dir_rsnapshot
backup root@molene:/ molene/
backup root@molene:/etc/ molene/etc/
backup root@molene:/home/ molene/home/
backup root@molene:/var/log/ molene/var/log/
backup root@molene:/var/lib/ molene/var/lib/
backup root@molene:/root/ molene/root/
crontab -e
Entrer les informations suivantes dans le crontab de root :
# Backup Serveur
0 */4 * * * /usr/bin/rsnapshot daily
30 23 * * * /usr/bin/rsnapshot weekly
En règle générale, c'est une bonne idée de programmer les intervalles les plus larges un peu avant les moins larges. Par exemple, dans le crontab ci-dessus, notez que weekly s'execute 30 minutes avant daily. Ca permet d'éviter des interbloquages qui pourraient survenir si weekly essaye de s'executer avant que daily ait terminé.
Création du script /root/validate-rsync#!/bin/sh
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\(*)
echo "Rejected"
;;
*\{*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
*\<*)
echo "Rejected"
;;
*\`*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac
Dans le fichier /home/kwa29/.ssh/config du serveur
Host serveurGénération de clés sur le serveur pour root
HostName serveur.kwa29.com
Port 22
User root
IdentityFile /root/.ssh/serveur.id_dsa
ssh-keygen -t dsa -b 1024Modification de chaque fichier authorized_keys
chmod 600 config
scp serveur.id_dsa.pub serveur:/root/.ssh/
cat serveur.id_dsa.pub > authorized_keys
from="11.22.33.44.55",command="/root/validate-rsync" ssh-dss AAAAB3NzaC1kc3MAAACBAKUwjPKJTkwNM5[...]permet de ne pas donner le droit à root d'utiliser ssh mais par contre qu'il puisse lancer des commandes distantes.
Dans le fichier /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_keyDans le fichier /etc/ssh/ssh_config
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 1024
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin=forced-commands-only
RhostsRSAAuthentication no
HostbasedAuthentication no
IgnoreUserKnownHosts yes
IgnoreRhosts yes
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding no
ForwardX11Trusted no
# Send locale-related environment variables
SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
SendEnv LC_IDENTIFICATION LC_ALL
Les répertoires exclus sont dans le fichier /home/kwa29/exclude_dir_rsnapshot :
/home/kwa29
/bin
/boot
/dev
/lib
/lost+found
/media
/misc
/mnt
/net
/opt
/proc
/sbin
/selinux
/srv
/sys
/tmp
/usr
/var

