Serveur de Sauvegardes sous Linux
March 22, 2006 on 5:48 pm | In General, admin, developpement, shell | No CommentsVoici quelques infos utiles pour mettre en place un serveur de sauvegardes de base sous Linux. Il ne gère pas le multi-version, mais permet de sauvegarder plusieurs disques réseau à intervalle régulier. Pour 50Go, le temps de chaque vérification et mise à jour n’est que de 20 minutes maximum. (plusieurs heures lors de la première sauvegarde)
Celui ci fonctionne avec rSync et un petit script shell.
J’ai utilisé le système de fichiers ReiserFS pour pouvoir gérer plus de 32000 fichiers par repertoire et la distribution Debian testing (à partir de la version netinst (8Mo à télécharger)). Le système est installé et fonctionnel en 15 minutes. Vous pouvez telecharger les ISO de cette version là : http://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/netboot/
Dans mon fichier fstab (qui regroupe les montages de disques), j’ai ajouté une ligne par répertoire réseau à enregistrer :
//192.168.5.10/public /mnt/saves/public smbfs ro,username=user,password=pass 0 0
Ensuite j’ai crée un script shell qui me synchronise tous les disques montés dans /mnt/saves sur le disque ReiserFS local. Pour cela, il faut utiliser rSync :
rsync -avz /mnt/saves/ /home/saves/data/
On peut rajouter un fichier avec des exclusions pour éviter de sauvegarder des gigas de mp3, videos… à passer à la ligne de commande de rSync :
dans lequel on trouve par exemple :
*.mp*
*.MP*
*.avi
*.AVI
Ensuite dans la crontab, j’ai automatisé l’execution de ce script en la planifiant tous les jours à 1h du matin :
Dans mon script SaveAll.sh, j’ai apporté des améliorations qui me permettent de tout logguer et de recevoir le compte-rendu de sauvegarde par email :
curDate=`date +%d%m%y_%H%M`
# nom du fichier log
logFileName=“/root/logs/log_saves_$curDate.log”
# redirige les sorties erreur et standard vers mon fichier de log
exec >$logFileName 2>&1
# montage des smbfs au cas ou pas montés au boot
mount -a
# execution de rSync
rsync -avz –exclude-from=exclusions.txt /mnt/saves/ /home/saves/data/
# envoi du mail
mpack -s “Compte rendu de sauvegarde” $logFileName admin@revolunet.com
Dans ce mail me sont également envoyés quelques infos : la taille de chaque repertoire de sauvegarde et le nombre de fichiers :
du -h –max-depth=1 /home/saves/data
# Nombre de fichiers dans chaque repertoire
for folder in `ls -d /home/saves/data/*/“; do
nbfiles=`find $folder -iname ‘*.*’ | wc -l`
echo “$folder : $nbfiles Fichiers”;
done
Ensuite, libre à vous de partager ce repertoire dans Samba pour qu’il soit accessible depuis le réseau.
No Comments yet »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^