« LINUX:BackupPC » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 111 : | Ligne 111 : | ||
Il reste à redémarrer le service RSYNCD. | Il reste à redémarrer le service RSYNCD. | ||
=Utilisateur= | |||
Un utilisateur "backuppc" et un groupe "backuppc" ont été créés lors de l'installation. Le service "backuppc" est lancé par cet utilisateur. La bibliothèque et les fichiers de configurations doivent lui être accessibles en contrôle total. Le répertoire racine de l'utilisateur "backuppc" est le même que celui de la bibliothèque. Par soucis de cohérence, comme nous allons changer l'emplacement de la bibliothèque, nous allons adapter la racine de cet utilisateur.Grâce à un éditeur de texte, on modifie la ligne concernée dans le fichier "/etc/passwd". | |||
Si cette ligne est: | |||
---- | |||
backuppc:x:975:959::/var/lib/BackupPC:/sbin/nologin | |||
---- | |||
elle devient: | |||
---- | |||
backuppc:x:975:959::/disk4/backuppc:/sbin/nologin | |||
---- | |||
=Bibliothèque= | =Bibliothèque= | ||
Lors de l'installation, la bibliothèque se trouve dans le répertoire "/var/lib/BackupPC". On veut placer dans le répertoire "/disk4/backuppc". Ce répertoire doit contenir trois sous-répertoires: "pool", "cpool" et "pc". | Lors de l'installation, la bibliothèque se trouve dans le répertoire "/var/lib/BackupPC". On veut placer dans le répertoire "/disk4/backuppc". Ce répertoire doit contenir trois sous-répertoires: "pool", "cpool" et "pc". Toute cette arborescence doit appartenir à l'utilisateur "backuppc" responsable du service "backuppc" en contrôle total. | ||
Voici la séquence de commandes: | |||
mkdir /disk4/backuppc | |||
mkdir /disk4/backuppc/pc | |||
mkdir /disk4/backuppc/pool | |||
mkdir /disk4/backuppc/cpool | |||
chmod -R 750 /disk4/backuppc | |||
Le fichier "/etc/updatedb.conf" contient aussi une référence à ce répertoire "/var/lib/BackupPC"; adaptez le également avec un éditeur de texte. | |||
Version du 12 février 2022 à 21:45
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 sur la machine rassemblant toutes les sauvegardes.
On suppose que cette machine a l'adresse IP 192.168.1.2.
En pratique, nous avons un premier répertoire "/disk2/backup/courant" géré par l'utilisateur "adebast" et le répertoire "/disk3/photo" géré par l'utilisateur "fbertrand". La bibliothèque de BackupPC sera mise le File System "/disk4" dans le répertoire "/disk4/backuppc".
RSYNCD
Pour la configuration du service RSYNCD, nous vous reportons à l'article "RSYNCD". Il n'y a que le fichier de configuration et le fichier du mot de passe à modifier.
Le fichier "/etc/rsyncd.conf" contient:
uid = root gid = root use chroot = yes max connections = 4 pid file = /run/rsyncd.pid dont compress = *.gz *.tgz *.zip *.ZIP *.z *.Z *.rpm *.deb *.bz2 *.jpg *.JPG *.jpeg *.JPEG [backup] path = /disk2/backup/courant comment = Backup strict modes = false auth users = backuppc secrets file = /etc/rsyncd.secrets hosts allow = 192.168.1.2 read only = true list = false charset=utf-8 [photo] path = /disk3/photo comment = Photo strict modes = false auth users = backuppc secrets file = /etc/rsyncd.secrets hosts allow = 192.168.1.2 read only = true list = false charset=utf-8
Les partages se nomment "backup" et "photo". On les retrouvera dans la configuration de BackupPC. On remarque qu'un certains nombre de fichiers ne seront pas compressés lors du transfert. C'est normal car ces fichiers sont déjà compressés.
Le fichier "/etc/rsyncd.secrets" contient:
backuppc:Faucon999Noir
L'utilisateur de connexion est "backuppc". On le retrouvera dans la configuration de BackupPC.
Il reste à redémarrer le service RSYNCD.
Utilisateur
Un utilisateur "backuppc" et un groupe "backuppc" ont été créés lors de l'installation. Le service "backuppc" est lancé par cet utilisateur. La bibliothèque et les fichiers de configurations doivent lui être accessibles en contrôle total. Le répertoire racine de l'utilisateur "backuppc" est le même que celui de la bibliothèque. Par soucis de cohérence, comme nous allons changer l'emplacement de la bibliothèque, nous allons adapter la racine de cet utilisateur.Grâce à un éditeur de texte, on modifie la ligne concernée dans le fichier "/etc/passwd".
Si cette ligne est:
backuppc:x:975:959::/var/lib/BackupPC:/sbin/nologin
elle devient:
backuppc:x:975:959::/disk4/backuppc:/sbin/nologin
Bibliothèque
Lors de l'installation, la bibliothèque se trouve dans le répertoire "/var/lib/BackupPC". On veut placer dans le répertoire "/disk4/backuppc". Ce répertoire doit contenir trois sous-répertoires: "pool", "cpool" et "pc". Toute cette arborescence doit appartenir à l'utilisateur "backuppc" responsable du service "backuppc" en contrôle total.
Voici la séquence de commandes:
mkdir /disk4/backuppc mkdir /disk4/backuppc/pc mkdir /disk4/backuppc/pool mkdir /disk4/backuppc/cpool chmod -R 750 /disk4/backuppc
Le fichier "/etc/updatedb.conf" contient aussi une référence à ce répertoire "/var/lib/BackupPC"; adaptez le également avec un éditeur de texte.