Ceci est une ancienne révision du document !
~~CLOSETOC~~
BackupPC - Installation d'une solution de sauvegarde sous Linux
La sauvegarde est et sera toujours un élément incontournable d'une infrastructure. Pour Linux, il existe plusieurs solutions. Nous allons voir ici backuppc, une solution permettant la sauvegarde de système Linux aussi bien que Windows et dont la gestion se fait via une interface Web, ce qui en facilite la compréhension.
<note>Cette procédure a été réalisé sur une debian 9.</note>
<note warning>Cette procédure nécessite des accès root. Faîtes donc attention à ce que vous faîtes.</note>
Prérequis
Il n'y a pas de prérequis particulier, si ce n'est l'espace de stockage pour accueillir les sauvegardes ainsi que la localisation de cette espace.
Il faut prendre en compte quelques points essentiels, généralement abordés lors de l'établissement du plan global de sauvegarde :
- Il faut calculer l'espace nécessaire pour accueillir les sauvegardes qui sont constituées de X points de restauration en prenant en compte le mode de sauvegarde (complète, incrémentielle…), la compresion, etc.
- Il faut garantir la pérennité de la sauvegarde, via une externalisation de cette dernière par exemple afin d'éviter de tout perdre si le serveuir de sauvegarde venait à être corrompu ou perdu.
Installation
- Comme d'haditude pour une nouvelle installation, on commence par mettre à jour la banque de données des paquets :
apt-get update
- On installe les paquets nécessaires :
apt-get install backuppc
- Lors de l'installation, le système nous demande de choisir le serveur WEB à utiliser. Apache est installé par défaut avec BackupPC, on choisira donc apache2 puis on valide avec
<Ok>:
- La page suivante nous indique la création d'un utilisateur/mot de passe par défaut pour se connecter à l'interface web et ainsi paramétrer et gérer les sauvegardes :
- Après validation, l'installation se termine toute seule.
- Pour être sûr de pouvoir se connecter à l'interface web, il est recommandé de redémarrer apache2 :
systemctl restart apache2
- Il ne reste plus qu'à paramétrer le pare-feu pour permettre l'accès au service web depuis l'extérieur. Pour celà, référez-vous à la documentation de votre solution de sécurité.
Paramétrage
- On va commencer par modifier le mot de passe par défaut pour utiliser un mot de passe correspondant à notre politique de sécurité :
htpasswd /etc/backuppc/htpasswd backuppc
- On peut alors se connecter au service grâce à l'URL donnée durant l'installation.
- On s'authentifie avec le compte utilisateur
backuppcet le mot de passe correspondant :
- On arrive sur la page d'accueil de BackupPC
- On commence par mettre le programme en français. Pour celà, dans le menu
Edit Config, ongletCGI, on change la ligneLanguageen fr et on sauvegarde avecSave:
- On recharge l'interface (F5) pour avoir le nouvel affichage.
- On règle ensuite le mode de sauvegarde par défaut. Pour celà, on va dans le menu
Modifier la configuration, ongletXfer. La ligneXferMethodnous donne les différentes méthodes de sauvegarde utilisables. Parmis elles, on aura :- tar : utilisable pour Linux et MacOS. Les fichiers sauvegardés sont conservés dans un fichier archive .tar (non compressé).
- smb : utilisable pour Windows. Il s'agit d'une simple copie via le protocole SMB. Peut-être aussi utilisé pour Linux à condition d'installer préalablement un service Samba dessus.
- rsync : utilisable pour Windows, Linux et MacOS. Il s'agit d'une copie intelligente des fichiers.
- archive : comme tar mais en version compressé.
- On utilisera donc
rsync. - On oublie pas de sauvegarder une fois les modifications faîtes.
- On peut aussi paramétrer les période de sauvegarde et la rétention de ces dernières. Ces paramétrages sont accessible depuis le menu
Modifier la configuration, ongletHoraire. Personnellement, j'ai modifié :- FullAgeMax : La rétention des sauvegardee complètes, je garde 30 jours.
- IncrAgeMax : La rétention des sauvegardes incrémentielles, je garde 7 jours.
- BlackoutPeriods : La période pendant laquelle il ne peut y avoir aucune sauvegarde, en principe c'est pour éviter les problèmes de performances durant les heures de prod, bureau… J'ai réglé de 7h à 20h du lundi au vendredi.
- Par défaut, BackupPC stocke les sauvegardes dans
/var/lib/backuppc. Personnellement, je préfère déplacer ce dossier vers un disque dédié au stockage. Pour cela :- On arrête le processus :
service backuppc stop
- On crée le répertoire de destinastion si il n'existe pas encore. Pour ma part, j'utilise un point de montage existant vers un disque physique dédié. Sinon :
mkdir -p /chemin/du/dossier/de/sauvegarde/
- On synchronise le contenu des dossiers :
rsync -va /var/lib/backuppc /chemin/du/dossier/de/sauvegarde/
- On supprime l'ancien dossier :
rm -rf /var/lib/backuppc/
- On crée un lien symbolique :
ln -s /chemin/du/dossier/de/sauvegarde /var/lib/backuppc
- On met à jour les droits :
chown -h backuppc:backuppc /var/lib/backuppc
- On relance le service :
service backuppc start
- Il ne nous reste plus qu'à paramétrer les notifications. Dans le menu
Modifier la configuration, ongletCourriel, on modifiera donc les champs suivants :- EMailFromUserName : e-mail de l'expéditeur.
- EMailAdminUserName : e-mail de l'administrateur de sauvegarde (celui qui va recevoir les notifications avec les détails).
- On enregistre avec le bouton
Sauvegarder
<note important>Attention: Les notifications par mail ne seront effectives que si l'envoi de mail est configuré sur la machine (voir les paramétrages d'exim4 par exemple).</note>
<note tip>BackupPC est désormais configuré. Il ne reste plus qu'à créer des tâches de sauvegarde.</note>
Sauvegarde du poste local
- Pour le poste local, on utilisera la méthode
tar. - On commence par modifier le fichier /etc/sudoers
: <code:bash> nano /etc/sudoers</code> * On y ajoute la lignebackuppc ALL=NOPASSWD: /bin/tar* On enregistre et on quitte. * Le poste étant ajouté par défaut aux tâches de sauvegarde, on va juste affiner son paramétrage. Du coup, depuis l'interface graphique, dans le menuHôtes, on choisitlocalhost, ce qui affiche les menus spécifiques. On pourra alors cliquer surModifier la configurationdans la sectionlocalhost:Xfer
* Dans la page de configuration, on cliquera sur l'onglet . Là, on cochera : * XferMethod et on choisittar* TarClientCmd et on modifie le champs correspondant avec/usr/bin/sudo LC_ALL=C $tarPath -c -v -f - -C $shareName+ –totals* TarShareName (Optionnel). Ce chaamp permet de spécifier quels dossiers doivent être sauvegardés. Par défaut, c'est la racine/qui est sélectionnée. Pour des raisons de gains de place, on pourrait choisir de ne sauvegarder que les dossiers essentiels (configurations, données utiles, scripts…). Pour affiner la sélection, on remplace/par le dossier à sauvegarder, par exemple/etc. Si il y a plusieurs dossiers, on cliquera sur le boutonAjouter, ce qui rajoutera une ligne donnant la possibilité d'indiquer un autre chemin. * Une fois toutes les modifications faîtes, on clique surSauvegarder.backuppc
===== Sauvegarde d'un poste Linux distant =====
==== Paramétrage côté serveur ====
* On va créé une clé RSA afin de faciliter l'authentification sur les postes clients Linux. Du coup, sur le serveur, on se connecte en tant qu'utilisateur : <code:bash>sudo -i -u backuppc</code> * On crée la clé RSA : <code:bash>ssh-keygen -t rsa -b 2048</code> * On copie le contenu de la clé publique (fichier~/.ssh/id_rsa.pub) afin de l'enregistrer sur le poste à sauvegarder. ==== Paramétrage côté client ==== * On édite le fichier/root/.ssh/authorized_keys: <code:bash>nano /root/.ssh/authorized_keys</code> * On ajoute une nouvelle ligne sous formatssh-rsa clé== backuppc@serveuren remplaçant ssh-rsa clé par la clé publique copié précédemment. * On enregistre et on quitte. ==== Test de connexion coté serveur ==== * On se connecte en tant quebackuppc: <code:bash>sudo -i -u backuppc</code> * On teste la connexion ssh (en remplaçantclientpar le nom ou l'adresse du client à tester) : <code:sh>ssh root@client</code> * Si tout va bien, on peut passer à la fin de la configuration. ==== Ajout et paramétrage de la tâche de sauvegarde ==== * Depuis l'interface graphique, on va dans le menuModifier les machines, on clique surAjouteret dans la nouvelle ligne, on indique dans : * host : le nom du client * user : l'utilisateur de sauvegarde soitbackuppc* On enregistre.Hôtes
* Ensuite, dans la section , on sélectionne le nouveau client (si il n'apparaît pas, on clique d'abord un coup surRechercherafin de rafraîchir la liste). * Dans le nouveau menu, on clique surModifier la configurationpuis sur l'ongletXfer.rsync
* Là, on va vérifier que XferMethod est sur (et modifier le cas échéant). * On sauvegarde au besoin. ==== Test de la sauvegarde ==== * On clique surClient Accueilet on clique surDémarrer la sauvegarde complète''.
- Sur l'écran suivant, on confirne le démarrage de la sauvegarde.
- Si tout va bien, après un retour sur la page d'accueil du client et l'attente de la fin de la sauvegarde, le résumé s'affiche et n'indique aucune erreur.
— Nicolas THOREZ 2019/11/14 10:55










Discussion