Tout d’abord désolé pour ce post qui est un peu complexe…
Je ne sais pas où je dois mettre ce topic qui est à cheval entre programmation et support debian… Merci à un admin de le changer si ça ne va pas.
Je souhaite réaliser des sauvegardes de différentes machine sur un serveur ssh avec rsnapshot.
D’abord je tombe sur ceci dans le howto français de rsnapshot :
la source :
http://rsnapshot.org/howto/1.1/rsnapshot-HOWTO.fr.html#link_dest
Ce n’est pas sans faire peur alors je veux réaliser un script vérifiant la présence de la machine à sauvegarder sur le réseau local avant de lancer rsnapshot, ainsi que deux ou trois autres commandes. Voici le début de mon script :
[code]#!/bin/bash
personnaliser rsnapshot.conf
créer les script hourly, dayly, weekly, mounthly (seule la commande rsnapshot lancée diffère)
editer la crontab pour lancer script rsnapshot hourly
script rsnapshot dayly
script rsnapshot weekly
script rsnapshot mounthly
Contenu du script :
Tester rsnapshot.conf si ok > suite sinon > message d’erreur
Vérifier la présence de la machine à sauvegarder
Ouvrir le périphérique luks contenant la sauvegarde si erreur > message d’erreur
Monter le périphérique chiffré ouvert
Lister les sauvegardes présentes avant la nouvelle sauvegarde
Lancer la sauvegarde hourly ou dayly ou weekly ou mounthly suivant le script si erreur > message d’erreur
Lister les sauvegardes présentes après la sauvegarde
Démontage du périphérique chiffré
Fermeture du périphérique luks
Tester le fichier conf de rsnapshot
result=rsnapshot configtest
if [ “$result” = “Syntax OK” ]
then
# ouverture du périphérique chiffré
cryptsetup luksOpen /dev/disk/by-uuid/ba9e76b3-2f65-4f7f-aa69-285223dbced6 rsnapshot < /home/rsnapshot/input.txt
# montage périphérique chiffré contenant la sauvegarde
mount -t ext3 /dev/mapper/rsnapshot /mnt/rsnapshot/
# vérifier la présence de la machine # ping -c 1 <IP> ? si erreur > message d'erreur
if [ présence de la machine ]
then
# lister les sauvegardes présentes sur le périphérique
ls -l /.snapshots/ > /.snapshots/snapshot.txt
# lancer la sauvegarde (horaire par exemple)
rsnapshot hourly
# lister les sauvegardes présentes sur le périphérique
ls -l /.snapshots/ > /.snapshots/snapshot.txt
else
echo "La machine à sauvegarder n'est pas connectée"
fi
# démontage du périphérique chiffré
umount /mnt/rsnapshot
# fermeture du volume chiffré
cryptsetup luksClose rsnapshot
else
echo "Le fichier de configuration de rsnapshot contient des erreurs"
fi
[/code]
le premier problème est de savoir si la machine à sauvegarder est connectée, est ce que le test d’un ping est suffisant ? Exemple :
Ensuite je vais devoir créer un script par commande rsnapshot avec chacun comme argument hourly, daily, weekly et mounthly.
Y a t il un moyen de tout centraliser ?
Dernier problème : je vais avoir 3 machine à sauvegarder sur le serveur (sûrement plus à long terme…), or les machine à sauvegarder sont indiquées dans rsnapshot.conf. Si je met les trois machines, il faudra que les trois soient connectées en même temps lors des backup (ce qui ne sera sans doute pas le cas), ou alors est ce que je peux utiliser l’option :
-c path to alternate config file
, et créer dans ce cas un fichier conf par machine + les scripts hourly, daily, weekly et mounthly s’y rapportant ?
Dans ce cas ça devient très vite lourd ou y a t il une solution plus simple de régler mon problème ?