LINUX:BackupPC
But
BackupPC est un logiciel de sauvegarde puissant basé sur une interface WEB. Il est à installer sous Linux Il peut sauvegarder des espaces de fichiers se trouvant sur des machines distantes aussi bien Linux, sur base de "RSYNC, RSYNCD et d'autres, que Windows sur base de SMB et RSYNCD.
Principe
BackupPC permet d'effectuer des sauvegardes. Il sauvegarde des arborescences de fichiers désignées par configuration. Pour les sauvegardes de machines Windows distante, il utilise une connexion de type SMB ou RSYNCD; pour sauvegarder une machine Linux locale ou distante, il utilise une connexion de type RSYNC ou RSYNCD. Il peut utiliser d'autres méthodes comme FTP, TAR ou ARCHIVE.
Une interface WEB permet de le configurer, d'initier des sauvegardes, de surveiller l'activité de sauvegarde et de récupérer les fichiers désirés.
Les sauvegardes sont soit totales soit incrémentielles.
- Une totale consiste à tout traiter.
- Une incrémentielle consiste à ne traiter que ce qui a changé depuis la précédente sauvegarde.
Le paramétrage permet de régler la fréquence des sauvegardes automatiques: les horaires de sauvegardes, le nombre de sauvegardes, l'alternance de sauvegardes totales et incrémentielles et bien d'autres fonctions.
D'autre part un service spécifique effectue les sauvegardes, nettoie les anciennes sauvegardes périmées et consolide l'ensemble des fichiers sauvés.
Pour la sauvegarde:
- La première phase consiste à récupérer l'arborescence à sauver localement ou à distance.
- Ensuite il vérifie que chaque fichier est strictement identique ou n'existe pas dans sa bibliothèque.
- Si ce fichier n'existe pas, il le compresse et le range dans sa bibliothèque.
- Il met à jour sa liste des fichiers.
- Enfin calcule quelques statistiques.
Chaque nuit, une analyse de la bibliothèque est effectuée; les sauvegardes périmées sont supprimées ainsi que les fichiers qui ne sont plus concernés par les sauvegardes.
Bibliothèque
La bibliothèque consiste en un ensemble de fichiers concernés par la sauvegarde organisés en une arborescence basée sur le checksum du fichier concerné. Tout fichier strictement identique par son contenu n'est repris qu'une seule fois et donc deux fichiers ayant des noms différents ou sauvés à des dates différentes ou venant de machines différentes ou se trouvant dans des arborescences différentes ou à des ensembles différents de sauvegardes mais identiques, ne seront présents qu'une seule fois. Ceci est possible par une caractéristique des files system de Linux; chaque fichier est identifié par un n° unique dans son file system dénommé inode. Le fichier spécial que l'on nomme "répertoire" est une table de correspondance entre un nom de fichier et l'inode d'un fichier. La fonction "ln" (hard link) permet d'effectuer de multiples liaisons entre divers noms de fichier et un seul contenu.
Ceci est très important car cette bibliothèque, pour fonctionner, doit se situer sur un seul "file system" ayant une capacité suffisante. Notons que des systèmes de gestion de disques tels LVM ou RAID5 permettent de grouper plusieurs disques physiques en un seul "file system". Il faut donc, dès le départ, bien choisir cet emplacement. Lors de l'installation cet emplacement est situé dans le répertoire "/var/lib/BackupPC" qui est rarement suffisant. Ce premier paramétrage est fondamental sous peine d'arriver rapidement à saturation et donc de devoir recommencer tout en perdant les sauvegardes existantes.
Installation
Pour l'installer utilisez la commande suivante:
dnf install BackupPC
Services
BackupPC utilise une interface WEB et donc le service HTTP doit être activé:
systemctl enable httpd.service
et lancé:
systemctl start httpd.service
Il utilise aussi son propre service qui est chargé de gérer les sauvegardes.
Il faut activer ce service:
systemctl enable backuppc.service
et le lancer:
systemctl start backuppc.service
Projet
Suite à mon expérience professionnelle, je trouve que le programme "rsync" en mode synchronisation comme présenté dans les articles précédents est le plus rapide et globalement le moins gourmand en ressources réseaux quand on a de nombreuses machines à sauver dans un WAN dispersé. Et donc j'en suis arrivé à rassembler sur une machine décentralisée et isolée, l'ensemble des données à sauver. Les machines Windows étaient récupérées via le protocole RSYND comme décrit dans l'article "RSYNCD" et les machines Linux comme décrit dans l'article "RSYNC-Rassemblement sur une autre machine" évidemment sans devoir allumer ni éteindre cette machine.
A partir de cette machine d'archivage, on utilise l'application BackupPC pour archiver cet ensemble de fichiers locaux en utilisant le protocole RSYNCD.
Nous avons donc à configurer RSYNCD, HTTPD et BackupPC.