Serveur de sauvegarde automatique : BackupPC
BackupPC est un logiciel libre de sauvegardes informatiques publié sous licence GPL.
Présentation
BackupPC est utilisé pour sauvegarder un ensemble de postes clients et de serveurs. Il possède une interface Web pour lancer des sauvegardes ou restaurer des fichiers. Il est également possible de sauvegarder des bases de données.
BackupPC permet de sauvegarder automatiquement à des intervalles de temps réguliers des répertoires situés sur des machines du réseau.
Il peut utiliser plusieurs protocoles pour les sauvegardes :
- Samba : Utilise le logiciel 'smbClient' pour le transfert des données. C'est un bon choix pour sauvegarder des machines sous Windows.
rSync : Utilise le logiciel RSync pour le transfert des données (via SSH). C'est un bon choix pour sauvegarder des machines sous Linux et sous windows.
rSyncd : Utilise le daemon « rsyncd » installé sur chaque client. C'est un bon choix pour sauvegarder des machines sous Linux et sous Windows.
- Tar : Utilise le logiciel Tar. C'est un bon choix pour sauvegarder des machines sous Linux.
Fonctionnement
1. Le logiciel se réveille toutes les heures. Il sonde le pool de machines spécifiées dans le fichier /etc/backuppc/host. Puis, pour chaque poste allumé, il fonctionne ainsi :
- Interrogation de la période du Blackout, si l'hôte est dans sa période de blackout, le serveur passe à la machine suivante.
- Sinon, il étudie la machine hôte.
2. Pour chaque machine, BackupPC examine les dates des dernières sauvegardes effectuées:
- Si la date de dernière sauvegarde complète a plus de trente jours, il en fait une nouvelle.
- Sinon il regarde la date de la dernière sauvegarde incrémentielle. Si celle-ci a plus d'un jour, il lance une sauvegarde incrémentielle.
S'il y a plus de dix-neuf sauvegardes incrémentielles, il supprime les plus anciennes de manière à ce qu'il n'en reste que dix-neuf (limitation de l'espace disque consommé).
Installation :
sur Debian ou Ubuntu : apt-get install openssh apache2 backuppc == Configration ==
Customisation en ouvrant le fichier /etc/backuppc/config.pl
j'ai copié de la Page http://wiki.auf.org/wikiteki/BackupPC
$Conf{WakeupSchedule} = [1..24]; // Réveil toutes les heures de la journée $Conf{MaxOldLogFiles} = 28; // L'âge max des logs $Conf{DfMaxUsagePct} = 92; // à 92% de saturation de disque: ==> envoi de rapport, plus de backup régulier $Conf{BackupPCUser} = 'backuppc'; $Conf{FullPeriod} = 13.97; // Full backup toutes les 2 semaines (par PC bien sûr) $Conf{IncrPeriod} = 0.97; // Incrémental backup tous les jours $Conf{FullKeepCnt} = 6; // 6 backup complets, or 1 backup complet toutes les 2 semaines , donc $Conf{FullAgeMax} = 93; // Age maxi des backup-complet = 93 jours, donc plus de 3 mois $Conf{FullKeepCntMin} = 1; // Garder au minimum un backup-complet, même s'il est plus vieux que 93 jours. $Conf{IncrKeepCnt} = 15; // On garde 15 sauvegardes incrémentales, ce qui nous fait 15 jours $Conf{IncrAgeMax} = 30; // 30 jours max pour l'âge de celles-ci $Conf{IncrKeepCntMin} = 3; // On garde 3 sauvegardes incrémentales quelques soient leur âge. $Conf{BlackoutPeriods} = [ { hourBegin => 7.5, hourEnd => 18.5, weekDays => [1, 2, 3, 4, 5], }, ]; // En gros, la période où il faut pas faire trop de backup si les machines ne répondent pas bien aux pings. Le logiciel fait des pings périodiques et garde des statistiques. Il sait donc quand une machine et/ou le réseau vers la machine est un peu saturé. $Conf{XferMethod} = 'rsync'; // La méthode de sauvegarde par défaut (il y'a aussi tar, rsyncd, smb) $Conf{PingMaxMsec} = 999; // Délai max pour un ping, avant de considérer que le PC n'est pas joignable et donc ne peut se faire backuper. $Conf{Language} = 'fr' // l'interface Web et les messages en français $Conf{EMailUserDestDomain} = '@testeur.sn' // Mettre le vrai domaine
Voilà ! FIN de la config de BackupPC qu'il faut juste relancer :
# invoke-rc.d backuppc restart // Sous debian et compagnies # service backuppc restart // Sous fedora et consorts