Miroir ! Mon beau miroir !
Par Pierre le samedi 16 février 2008, 19:55 - Linux - Lien permanent
Saurais tu me restituer mon petit fichier si important que par mégarde j'ai effacé ?
Et oui ! Aujourd'hui c'est le jour des sauvegardes ! Enfin quand je dis c'est le jour... c'est surtout que jusqu'ici je vivais sans filets... et que j'étais à la merci d'une panne matérielle ou d'une erreur de manip !
J'ai donc décidé de profiter de mon disque
réseau acquis récemment, pour automatiser les sauvegardes, à la fois de mon
laptop, mais aussi de ma toute nouvelle Gandibox sur laquelle vous êtes
actuellement, vous qui consultez ma prose ! 
Après plusieurs tentatives diverses et variées, mais non concluantes, j'ai
finalement opté pour une sauvegarde via le protocole FTP à l'aide de l'outil
lftp qui permet entre autres nombreuses
fonctionnalités de faire des "miroirs" de ses répertoire de données ! La
page de man est bien touffue,
mais j'ai réussi à y dénicher les p'tites options qui vont bien ! Cela
dit,j'aurais mieux fait de demander à mon ami Google qui m'aurait tout de suite
donné la page qui va bien sur le Wiki
d'Ubuntu... :-p D'un autre côté, ça m'a permis de confirmer que j'avais pas
tout faux et de rajouter une ou deux p'tites options ! 
Et comme je suis un gars super sympa, je vais même vous faire part de mon
p'tit script ! Rien de bien compliqué... par ailleurs une fois que la
commande à lancer a été élaborée !
Le script est lancé toute les nuits
et s'offre le luxe de faire un miroir par jour de la semaine, ce qui laisse un
(tout petit) peu de temps de se retourner en cas de boulette !
Bien
sûr la première exécution va prendre un peu de temps puisqu'il va falloir tout
transférer... mais une fois que ce sera fait, ça devrait ronronner
tranquillement !
Pour le moment les sauvegardes sont en cours... Il y
a apparemment quelques soucis pour créer les fichiers comportant le caractère
":" .. bon y en a pas des masses non plus... mais faudra que je regarde ça de
plus près ! 
Ci dessous le magnifique script :
#/bin/bash
# Script de Mirroring du systeme sur disque NAS à l'aide LFTP
LFTP=/usr/bin/lftp
JOUR=$(date +%a)
#Serveur FTP
HOST=ftp.nowhere.com
#Port du serveur FTP (21 par défaut)
PORT=21
#Liste des repertoires a Sauvegarder :
LISTE_REP="/etc /home /media /datas"
#un miroir est genere pour chaque jour de la semaine
MIRRORDIR=/shares/FAT/Backup/laptop/miroir/$JOUR/
for repsource in $LISTE_REP
do
$LFTP -p $PORT -e "mirror -e -R -p $repsource $MIRRORDIR;exit" $HOST
if [ $? -ne 0 ]
then
echo "Probleme lors du mirroring de $repsource sur $HOST dans $MIRRORDIR "
else
echo "Mirroring de $repsource effectue avec succes sur $HOST dans $MIRRORDIR"
fi
done
Avant de le lancer, vérifier que les 4 variables HOST, PORT et LISTE_REP et MIRRORDIR sont correctement positionnées avec vos paramètres. Renseignez le fichier .netrc de l'utilisateur qui va lancer le script afin de permettre l'autologin. (c'est pas top... mais c'est toujours mieux que le mot de passe dans l'url de connexion... )
Le fichier .netrc doit être de la forme suivante :
machine ftp.nowhere.com login user password secret
Une fois que c'est fait vous pouvez, soit lancer le script manuellement...
mais encore mieux le faire de façon automatique via la crontab ! 
Par exemple, pour lancer la sauvegarde tous les jours à 2 heures du matin (bien sûr il faut que ce soit une heure où votre PC est allumé.. et si possible pas trop utilisé !
0 2 * * * /usr/local/bin/mirror_rep.sh
Et voilà le travail ! Au bout d'une semaine vous aurez 7 sauvegardes de
vos données qui se mettront à jour toutes seules comme des grandes ! Elle
est pas belle la vie ? 
Commentaires