Table des matières
Description générale
Introduction
Le Cahier-10: du cours NethServer-101 décrit la marche à suivre pour l'installation de BackupPC-3.3.1 et sa mise à jour vers BackupPC-4.3.0, les prises de sauvegardes de l'hôte de BackupPC et du serveur SOURCE et enfin la restauration de la sauvegarde complète de SOURCE sur DESTINATION pour que ce dernier devienne un clone du premier.
Ce cahier est basé sur les pages Web suivantes:
https://wiki.nethserver.org/doku.php?id=module:backuppc
https://www.veritech.net/centos-7-backuppc-installation-guide/
https://srbu.se/index.php?option=com_content&view=article&id=201:upgrading-backuppc-to-v4-2-1&catid=8&Itemid=121&lang=en
Page officielle de BackupPC: https://backuppc.github.io/backuppc/.
Référence: https://fr.wikipedia.org/wiki/BackupPC.
BackupPC est un logiciel libre de sauvegarde de système de fichiers publié sous licence GPL.
Il est utilisé pour sauvegarder sur disque un ensemble de postes clients et de serveurs, sous Unix, Linux, Windows ou Mac OS X. Les protocoles utilisables pour les transferts sont : SMB, tar over SSH/rsh/nfs, et rsync. Il ne nécessite l'installation d'aucun logiciel client sur les machines à sauvegarder. 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 via un script shell lancé avant la sauvegarde.
But de ce cahier
Cours NethServer-101
Le Cours NethServer-101, se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:
- Cahier-01: → Les bases de Linux.
- Cahier-02: → Installation et configuration des logiciels prérequis sur le poste de travail.
- Cahier-03: → Création d'un Serveur NethServer virtuel.
- Cahier-04: → Serveur NethServer LOCAL & Let's Encrypt.
- Cahier-06: → Installation de WordPress.
- Cahier-07: → Installation de l'extension de sécurité Wordfence.
- Cahier-08: → WooCommerce, comptes chez Stripe et PayPal pour les paiements en ligne.
- Cahier-09: → Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator.
- Cahier-10: → Serveur mandataire inversé.
- Cahier-11: → Sauvegarde/restauration avec BackupPC.
Cours NethServer-201
Le Cours NethServer-201 décrit l'installation et la configuration d'applications sur un serveur NethServer.
- Cahier-201-01: → Dolibarr.
- Cahier-201-02: → Odoo-12.
- Cahier-201-03: → MediaWiki.
- Cahier-201-04: → DokuWiki.
- Cahier-201-05: → Moodle.
- Cahier-201-06: → Proxmox.
- Cahier-201-07: → Flectra.
Logiciels
Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.
But final
Après avoir suivi le Cours NethServer-101, vous posséderez un site de Commerce en ligne fiable et hautement sécuritaire. De plus, vous pourrez utiliser un clone de votre site, sur un Serveur NethServer virtuel roulant sur votre poste de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de votre site en ligne.
Particularités de ce document
Notes au lecteur
* Les captures d'écrans ne sont que des références.
** Les informations écrites ont préséance sur celles retrouvées dans les captures d'écrans. Veillez vous référer aux différents tableaux lorsque ceux-ci sont présents.
*** Une capture d'écran avec une accentuation en magenta indique qu'il faut remplacer cette distinction par vos propres paramètres ou implique un choix laissé à votre appréciation.
Conventions
Manipulation, truc ou ruse pour se tirer d'embarras.
Une recommandation ou astuce.
Une note.
Une étape, note ou procédure à surveiller.
Paragraphe non complété ou non vérifié.
Danger pour la sécurité du système.
Toutes les commandes à la console ou à travers PuTTY sont précédées d'une invite qui est toujours présente.
[root@dorgee ~]# ping 10.10.10.75 -c1 PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data. 64 bytes from 10.10.10.75: icmp_seq=1 ttl=64 time=1.63 ms --- 10.10.10.75 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 1.639/1.639/1.639/0.000 ms [root@dorgee ~]#
Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.
Prérequis
Machines virtuelles
Ce document utilise des machines virtuelles, sous VirtualBox, qui roulent un Serveur NethServer-7.6.1810. La marche à suivre pour l'installation de BackupPC sur un Serveur NethServer physique est exactement la même que celle sur un Serveur NethServer virtuel.
Serveur NethServer
☐ Pour l'installation de VirtualBox, voir le Cahier-02: Installations & configurations des logiciels prérequis.
☐ Pour l'installation d'un Serveur NethServer, voir: Le Cahier-03: Création d'un serveur NethServer virtuel.
☐ Installation des dernières mises à jour pour NethServer.
Disque de sauvegarde
☐ Un volume dédié est recommandé (peut être un simple disque unique ou des disques en RAID).
Logiciels prérequis
☐ Le Cahier-02: Installations & configurations des logiciels prérequis décrit l'installation et la configuration des logiciels prérequis sur le poste de travail.
Installation
Environnement
BackupPC est le serveur qui roulera BackupPC et qui entreposera les sauvegardes sur son deuxième disque.
SOURCE est le Serveur NethServer dont on fera une sauvegarde Complète et deux Incrémentielles.
DESTINATION est un Serveur NethServer sur lequel on restaurera la sauvegarde du serveur SOURCE et ainsi il en deviendra un clone parfait.
Micronator.org est un Serveur NethServer qui sert de pare-feu et de passerelle pour tout le réseau.
Serveur BackupPC
Le serveur BackupPC est une machine virtuelle, sous VirtualBox, roulant un Serveur NethServer.
La marche à suivre pour l'installation de BackupPC-4.3.0 sur un Serveur NethServer physique est exactement la même.
Les dernières mises à jour NethServer ont été installées.
Un deuxième disque à été créé pour recevoir les sauvegardes. Il n'est que de 25Go mais est amplement suffisant pour cette démonstration.
Si vous créez le disque de stockage des sauvegardes trop petit, BackupPC pourrait manquer d'inodes pour la création de liens.
Ce document utilise trois machines virtuelles, sous VirtualBox, roulant toutes un Serveur NethServer.
Les marches à suivre pour des sauvegardes de Serveurs NethServer physiques sont exactement les mêmes.
Paramètres SSH de tous les serveurs
Vu que:
● Les sauvegardes se font à travers une connexion SSH afin que personne ne puisse copier les données en transit.
● L'usager qui lit les fichiers à être sauvegardés doit être root, car il est le seul qui peut lire tous les fichiers sans exception.
Il faut donc autoriser les connexions SSH pour l'usager root.
Sécurité SSH
Tableau de bord → Sécurité → SSH.
Port TCP
On utilise le port 2222 afin de dérouter un peu plus les indésirables.
☑ Autoriser le login en tant que root
Obligatoirement Coché, car seul root peut lire tous les fichiers à sauvegarder.
☑ Autoriser l'authentification par mots de passe
Coché, car les sauvegardes de BackupPC se font à travers une connexion SSH.
BackupPC utilise la clé publique SSH de l'usager backuppc pour se connecter sans avoir à fournir un mot de passe.
Services réseau sshd (SSH)
Sécurité → Services réseau → vis-à-vis sshd (SSH) → Éditer → choisir les autorisations → SOUMETTRE.
Si tous vos serveurs sont sur le réseau local, choisissez N'autoriser l'accès que depuis les zones
- Lan (vert)
sinon,
- Internet (rouge) et
- LAN (vert).
DHCP
Assurez-vous que vous n'avez qu'un seul serveur DHCP par segment de réseau IP.
Configuration → DHCP → onglet Serveur DHCP.
☐ Décocher enp0s3 - green.
SOUMETTRE.
Disque de stockage des sauvegardes
Statut actuel des disques et partitions du système de fichiers NethServer. Le disque de stockage n'a encore aucune partition.
[root@dev ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Fri Jan 4 14:13:25 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/VolGroup-lv_root / xfs defaults 0 0 UUID=a7c532b2-51d2-419a-ab83-b87d08f8205a /boot xfs defaults 0 0 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 [root@dev ~]#
Création d'une partition principale sur le disque de stockage
Les sauvegardes devraient toujours être sur un volume séparé.
On prépare un disque avec un système de fichiers ext4 (on peut utiliser tous les systèmes de fichiers qui sont supportés, mais nous utilisons ext4, car il autorise plus d'inodes).
Dans ce Cahier, on utilise un disque entier ayant une simple partition primaire: /dev/sdb1
. On pourrait utiliser une matrice RAID ou un volume logique (LVM, ou une combinaison de RAID et LVM). Si vous connaissez la gestion LVM, son utilisation est également recommandée, car plus tard, il sera plus facile de gérer les données des sauvegardes.
Recherche du dispositif2) (device) du disque de stockage des futures sauvegardes.
[root@backuppc ~]# cat /proc/partitions major minor #blocks name 8 0 26214400 sda 8 1 1048576 sda1 8 2 25164800 sda2 8 16 26214400 sdb 11 0 1048575 sr0 253 0 22540288 dm-0 253 1 2621440 dm-1 [root@backuppc ~]#
Le disque est /dev/sdb
.
[root@backuppc ~]# ls -als /dev/sdb 0 brw-rw---- 1 root disk 8, 16 Mar 16 10:41 /dev/sdb [root@backuppc ~]#
On lance fdisk
pour la création de la partition.
[root@backuppc ~]# fdisk /dev/sdb
On affiche l'aide en entrant “m” sans guillemets.
Commande (m pour l'aide): m [Entrée] Commande d'action a bascule le fanion d'amorce b éditer l'étiquette BSD du disque c basculer le fanion de compatibilité DOS d supprimer la partition l lister les types de partitions connues m afficher ce menu n ajouter une nouvelle partition o créer une nouvelle table vide de partitions DOS p afficher la table de partitions q quitter sans enregistrer les changements s créer une nouvelle étiquette vide pour disque de type Sun t modifier l'id de système de fichiers d'une partition u modifier les unités d'affichage/saisie v vérifier la table de partitions w écrire la table sur le disque et quitter x fonctions avancées (pour experts seulement) Commande (m pour l'aide):
On vérifie s'il existe déjà une partition, “p”.
Commande (m pour l'aide): p [Entrée] Disque /dev/sdb : 26.8 Go, 26843545600 octets, 52428800 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xd808ba5c Périphérique Amorçage Début Fin Blocs Id. Système Commande (m pour l'aide):
Il n'y a pas de partition sur le disque.
S'il y en avait une, on la supprimerait avec “d” (delete / supprimer la partition).
On crée la partition: “n”, “p”, “1”; les choix par défaut pour le premier et le dernier cylindre.
Commande (m pour l'aide): n [Entrée] Commande d'action e étendue p partition primaire (1-4) p [Entrée] Numéro de partition (1-4): 1 [Entrée] Premier secteur (2048-52428799, 2048 par défaut) : [Entrée] Utilisation de la valeur 2048 par défaut Dernier secteur, +secteur ou +taille{K,M,G} (2048-52428799, 52428799 par défaut) : [Entrée] Utilisation de la valeur 52428799 par défaut La partition 1 de type Linux et de taille 25 GiB est configurée Commande (m pour l'aide):
On enregistre les nouveaux paramètres et on quitte “wq” (write and quit).
Commande (m pour l'aide): wq La table de partitions a été altérée! Appel de ioctl() pour relire la table de partitions. Synchronisation des disques. [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# cat /proc/partitions major minor #blocks name 8 0 26214400 sda 8 1 1048576 sda1 8 2 25164800 sda2 8 16 26214400 sdb 8 17 26213376 sdb1 11 0 1048575 sr0 253 0 22540288 dm-0 253 1 2621440 dm-1 [root@backuppc ~]#
On vérifie encore une fois.
[root@backuppc ~]# ls -als /dev/sdb1 0 brw-rw---- 1 root disk 8, 17 16 mars 11:24 /dev/sdb1 [root@backuppc ~]#
Création du système de fichiers ext4 sur la partition
Remarque sur les inodes
En plus de l'espace disque total, vous devez vous assurer que vous avez beaucoup d'inodes sur votre partition de données de BackupPC. Certains utilisateurs ont signalé l'épuisement des inodes sur leur partition de données de BackupPC. Par conséquent, même si vous disposez de suffisamment d'espace disque, BackupPC signale un échec lorsque les inodes sont épuisés. C'est un problème particulier avec les systèmes de fichiers ext2/ext3 qui ont un nombre fixe d'inodes lors de la création du système de fichiers. Utilisez df -i
pour afficher votre utilisation d'inodes.
Pour notre machine, avec un système de fichiers ext3, le nombre d'inodes serait de seulement 1 310 720.
BackupPC utilise un très grand nombre de liens, c.-à-d. d'inodes. Le système de fichiers Ext4, sur un système 64 bits, peut avoir 2^64 inodes; ce qui représente 1.2470298e+28 inodes.
Depuis la version BackupPC-4, il n'y a plus d'utilisation de liens physiques (sauf temporairement pour faire des renoms atomiques). Le comptage des références est géré en “batch” au niveau de l'application. (Les “hardlinks” resteront toujours pour toutes les sauvegardes héritées des versions V3.)
Voici, sur un système déjà existant, les infos de l'espace disque et du nombre d'inodes utilisés seulement par la partition principale du disque primaire.
Espace disque
[root@backuppc ~]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/mapper/VolGroup-lv_root 22G 2,5G 20G 12% / devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 8,7M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/sda1 1014M 221M 794M 22% /boot tmpfs 379M 0 379M 0% /run/user/0 [root@backuppc ~]#
Environ 2.5 Go d'espace disque est utilisé.
Nombre d'inodes
[root@backuppc ~]# df -i Sys. de fichiers Inœuds IUtil. ILibre IUti% Monté sur /dev/mapper/VolGroup-lv_root 11270144 70841 11199303 1% / devtmpfs 482081 376 481705 1% /dev tmpfs 485058 2 485056 1% /dev/shm tmpfs 485058 592 484466 1% /run tmpfs 485058 16 485042 1% /sys/fs/cgroup /dev/sda1 524288 345 523943 1% /boot tmpfs 485058 1 485057 1% /run/user/0 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/main-root 456064 155019 301045 34% / tmpfs 490294 1 490293 1% /dev/shm /dev/md0 64000 54 63946 1% /boot [root@backuppc ~]#
Comme on le voit ci-dessus, le nombre d'inodes utilisés est de 70841 pour 2.5 Go d'espace disque.
Pour notre disque de 25 Go, on prendra beaucoup plus d'inodes, environ 15 000 000.
Prendre en considération: plus d'inodes et plus il faudra de temps pour créer le système de fichiers.
Paramètres de la commande mkfs.ext4
-N nombre d'inodes
Remplace le calcul par défaut du nombre d'inodes qui devrait être réservés pour le système de fichiers (basé sur le nombre de blocs et le ratio octets par inode).
Ce paramètre permet à l'utilisateur de spécifier directement le nombre d'inodes désirés.
Si on spécifie un nombre d'inodes trop grand,
mke2fs
donnera une erreur et ne créera pas le système de fichiers.
-b block-size
Spécifie, en octets, la taille des blocs. Les tailles valides sont: 1024, 2048 et 4096 octets par bloc. Si omis, la taille d'un bloc est déterminée de manière heuristique par la taille et l'utilisation du système de fichiers (voir l'option -T).
Si la taille d'un bloc est négative alors, mke2fs
utilisera l'heuristique pour déterminer le taille d'un bloc avec la contrainte que la taille d'un bloc sera au moins de block-size octets.
Utile pour certains périphériques matériels qui exigent que la taille des blocs soit un multiple de 2k.
BackupPC utilise un très grand nombre de liens, une longueur de bloc de 1024 est plus profitable.
-L nom_nouveau_volume
Configure l'étiquette (label) du système de fichiers à nom_nouveau_volume. La taille maximale du nom est de 16 octets.
-m pourcentage_blocs_réservés
Indique le pourcentage de blocs du système de fichiers réservés pour le superutilisateur. Permet d'éviter la fragmentation. Permet aussi aux démons lancés par le superutilisateur, comme syslogd(8), de continuer à fonctionner correctement après que les processus non privilégiés ne soient plus autorisés à écrire sur le système de fichiers.
La valeur par défaut est de 5 %.
On crée un système de fichiers ext4 sur le nouveau volume /dev/sdb1
.
[root@backuppc ~]# mkfs.ext4 -L SAUVEGARDE -b 1024 -N 15000000 -m 1 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) Étiquette de système de fichiers=SAUVEGARDE Type de système d'exploitation : Linux Taille de bloc=1024 (log=0) Taille de fragment=1024 (log=0) « Stride » = 0 blocs, « Stripe width » = 0 blocs 15001600 i-noeuds, 26213376 blocs 262133 blocs (1.00%) réservés pour le super utilisateur Premier bloc de données=1 Nombre maximum de blocs du système de fichiers=59768832 3200 groupes de blocs 8192 blocs par groupe, 8192 fragments par groupe 4688 i-noeuds par groupe Superblocs de secours stockés sur les blocs : 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553, 1024001, 1990657, 2809857, 5120001, 5971969, 17915905, 19668993, 25600001 Allocation des tables de groupe : complété Écriture des tables d'i-noeuds : complété Création du journal (32768 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété [root@backuppc ~]#
Montage du nouveau volume
Point de montage
On crée un point de montage (répertoire) pour le nouveau volume.
[root@backuppc ~]# mkdir -p /var/lib/BackupPC [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -alsd /var/lib/BackupPC 0 drwxr-xr-x 2 root root 6 16 mars 11:37 /var/lib/BackupPC [root@backuppc ~]#
Ajout dans fstab
On ajoute le point de montage dans /etc/fstab
afin que le volume soit monté automatiquement à tous les amorçages.
Prendre tout le contenu de l'encadré pour la commande.
cat >> /etc/fstab <<'EOT' # Pour le volume de stockage des sauvegardes de BackupPC /dev/sdb1 /var/lib/BackupPC ext4 noatime 0 0 EOT
Deux > > ajoute au contenu du fichier; un seul > remplace tout le contenu du fichier.
On vérifie.
[root@backuppc ~]# tail -n 5 /etc/fstab UUID=a7c532b2-51d2-419a-ab83-b87d08f8205a /boot xfs defaults 0 0 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 # Pour le volume de stockage des sauvegardes de BackupPC /dev/sdb1 /var/lib/BackupPC ext4 noatime 0 0 [root@backuppc ~]#
Montage du volume dans /var/lib/BackupPC
On remonte tous les volumes en relisant fstab
à l'aide de la commande mount -a
.
[root@backuppc ~]# mount -a [root@backuppc ~]#
On vérifie avec mount.
[root@backuppc ~]# mount | grep BackupPC /dev/sdb1 on /var/lib/BackupPC type ext4 (rw,noatime,data=ordered) [root@backuppc ~]#
On vérifie avec df
.
[root@backuppc ~]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/mapper/VolGroup-lv_root 22G 2,5G 20G 12% / devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 16K 1,9G 1% /dev/shm tmpfs 1,9G 8,7M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/sda1 1014M 221M 794M 22% /boot tmpfs 379M 0 379M 0% /run/user/0 /dev/sdb1 22G 4,6M 22G 1% /var/lib/BackupPC [root@backuppc ~]#
Pour le même volume sans spécifier le nombre d'inodes, la quantité d'espace disque est un peu plus grande.
/dev/sdb1 25G 4,6M 25G 1% /var/lib/BackupPC
Espace disque en spécifiant le nombre d'inodes.
/dev/sdb1 22G 4,6M 22G 1% /var/lib/BackupPC
La différence réside dans l'espace réservé pour le stockage de la table des inodes.
Création des liens symboliques
Cette partie est facultative, mais recommandée.
Avec ces commandes, tous les fichiers liés à BackupPC (config et journaux) seront stockés sur le volume SAUVEGARDE. Vous serez alors en mesure d'échanger le disque SAUVEGARDE entre deux serveurs de sauvegardes.
On crée les sous-répertoires etc
et log
dans le répertoire /var/lib/BackupPC/
.
[root@backuppc ~]# mkdir -p /var/lib/BackupPC/{etc,log} [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -als /var/lib/BackupPC/
total 19 1 drwxr-xr-x 5 root root 1024 16 mars 12:29 . 4 drwxr-xr-x. 52 root root 4096 16 mars 11:37 .. 1 drwxr-xr-x 2 root root 1024 16 mars 12:29 etc 1 drwxr-xr-x 2 root root 1024 16 mars 12:29 log 12 drwx------ 2 root root 12288 16 mars 12:28 lost+found [root@backuppc ~]#
Pour les configurations, on crée un lien /etc/BackupPC
qui pointe vers /var/lib/BackupPC/etc
.
[root@backuppc ~]# ln -s /var/lib/BackupPC/etc /etc/BackupPC [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -als /etc/BackupPC 0 lrwxrwxrwx 1 root root 21 16 mars 12:30 /etc/BackupPC -> /var/lib/BackupPC/etc [root@backuppc ~]#
Pour les journaux, on crée un lien /var/log/BackupPC
qui pointe vers /var/lib/BackupPC/log
.
[root@backuppc ~]# ln -s /var/lib/BackupPC/log /var/log/BackupPC [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -als /var/log/BackupPC 0 lrwxrwxrwx 1 root root 21 16 mars 12:31 /var/log/BackupPC -> /var/lib/BackupPC/log [root@backuppc ~]#
Installation du module BackupPC
Espace disque et nombre d'inodes avant l'installation
Espace disque
[root@backuppc ~]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/mapper/VolGroup-lv_root 22G 2,5G 20G 12% / devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 16K 1,9G 1% /dev/shm tmpfs 1,9G 8,8M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/sda1 1014M 221M 794M 22% /boot tmpfs 379M 0 379M 0% /run/user/0 /dev/sdb1 22G 4,6M 22G 1% /var/lib/BackupPC [root@backuppc ~]#
Nombre d'inodes
[root@backuppc ~]# df -i Sys. de fichiers Inœuds IUtil. ILibre IUti% Monté sur /dev/mapper/VolGroup-lv_root 11270144 70850 11199294 1% / devtmpfs 482081 379 481702 1% /dev tmpfs 485058 3 485055 1% /dev/shm tmpfs 485058 635 484423 1% /run tmpfs 485058 16 485042 1% /sys/fs/cgroup /dev/sda1 524288 345 523943 1% /boot tmpfs 485058 1 485057 1% /run/user/0 /dev/sdb1 15001600 13 15001587 1% /var/lib/BackupPC [root@backuppc ~]#
Référentiel stephdl
Installation du référentiel stephdl
[root@backuppc ~]# yum install -y http://mirror.de-labrusse.fr/NethServer/7/x86_64/nethserver-stephdl-1.0.7-1.ns7.sdl.noarch.rpm ... Résumé de la transaction ============================================================================================ Installation 1 Paquet Taille totale : 40 k ... Installé : nethserver-stephdl.noarch 0:1.0.7-1.ns7.sdl Terminé ! [root@backuppc ~]#
Installation du module
Nous installation le module BackupPC.
[root@backuppc ~]# yum install -y nethserver-BackupPC --enablerepo=stephdl ... Résumé de la transaction ============================================================================================ Installation 1 Paquet (+29 Paquets en dépendance) Taille totale des téléchargements : 6.2 M Taille d'installation : 23 M Downloading packages: (1/30): libarchive-3.1.2-10.el7_2.x86_64.rpm | 318 kB 00:00:00 ... (30/30): BackupPC-3.3.1-5.el7.x86_64.rpm | 412 kB 00:00:14 ... Installé : nethserver-BackupPC.noarch 0:1.1.4-1.ns7.sdl Dépendances installées : BackupPC.x86_64 0:3.3.1-5.el7 bzip2.x86_64 0:1.0.6-13.el7 libarchive.x86_64 0:3.1.2-10.el7_2 perl-Archive-Zip.noarch 0:1.30-11.el7 perl-CGI.noarch 0:3.63-4.el7 perl-Class-Load.noarch 0:0.20-3.el7 perl-Class-Singleton.noarch 0:1.4-14.el7 perl-Data-OptList.noarch 0:0.107-9.el7 perl-DateTime.x86_64 2:1.04-6.el7 perl-DateTime-Format-Mail.noarch 0:0.3001-17.el7 perl-DateTime-Format-W3CDTF.noarch 0:0.06-5.el7 perl-DateTime-Locale.noarch 0:0.45-6.el7 perl-DateTime-TimeZone.noarch 0:1.70-1.el7 perl-FCGI.x86_64 1:0.74-8.el7 perl-File-RsyncP.x86_64 0:0.74-2.el7 perl-Module-Implementation.noarch 0:0.06-6.el7 perl-Module-Runtime.noarch 0:0.013-4.el7 perl-Net-FTP-AutoReconnect.noarch 0:0.3-11.el7 perl-Net-FTP-RetrHandle.noarch 0:0.2-11.el7 perl-Package-DeprecationManager.noarch 0:0.13-7.el7 perl-Package-Stash.noarch 0:0.34-2.el7 perl-Package-Stash-XS.x86_64 0:0.26-3.el7 perl-Params-Util.x86_64 0:1.07-6.el7 perl-Params-Validate.x86_64 0:1.08-4.el7 perl-Sub-Install.noarch 0:0.926-6.el7 perl-Time-ParseDate.noarch 0:2015.103-1.el7 perl-Try-Tiny.noarch 0:0.12-2.el7 perl-XML-RSS.noarch 0:1.54-1.el7 samba-client.x86_64 0:4.8.3-4.el7 Terminé ! [root@backuppc ~]#
Pour la sauvegarde de nos différents clients, on utilisera le protocole rsync, mais BackupPC peut tout aussi bien utiliser d'autres protocoles tels que: smb, ftp, tar…
Utilisateur backuppc
L'installation du module a créé l'utilisateur backuppc. Cet utilisateur n'a pas été créé dans LDAP, mais de manière standard et inséré dans le fichier /etc/passwd
.
[root@backuppc ~]# cat /etc/passwd | grep backuppc backuppc:x:986:981::/var/lib/BackupPC:/sbin/nologin [root@backuppc ~]#
Comme on le voit, l'utilisateur backuppc n'a pas de shell.
Parfois, l'utilisateur de backuppc a besoin d'un shell réel spécifié dans
/etc/passwd
; par exemple, lorsqu'il est utilisé pour exécuter des commandes sudo
ou des scripts pré/post.
Usage
Une fois le module BackupPC installé, l’utilisateur cgi administrateur de BackupPC est admin (si ce n'est déjà fait, pensez à activer l'utilisateur admin en définissant son mot de passe dans l'interface Web de NethServer).
Tous les utilisateurs peuvent s’identifier, mais ne peuvent gérer que leurs propres sauvegardes; l'administrateur doit définir des sauvegardes pour ces utilisateurs.
On affiche les propriétés de BackupPC.
[root@backuppc ~]# config show backuppc backuppc=service CgiMultiUser=enabled examples=enabled status=enabled sudo=/usr/bin/rsync,/bin/gtar,/bin/tar [root@backuppc ~]#
sudo
→ ici, vous pouvez ajouter plus de commandes disponibles à l'utilisateur backuppc par sudo
.
Mise à jour vers BackupPC-4.3.0
Prérequis
Certain logiciels doivent être installés avant la mise à jour vers la version BackupPC-4.3.0.
Il est fortement recommandé de ne pas conserver
gcc
sur un serveur, car il est considéré comme un bris de sécurité. Nous le désinstallerons une fois la mise à jour terminée.
[root@backuppc ~]# yum install -y gcc \ perl-devel perl-CPAN perl-CGI \ mod_ssl nfs-utils \ bzip2 glusterfs-client ... Le paquet perl-CGI-3.63-4.el7.noarch est déjà installé dans sa dernière version Le paquet 1:mod_ssl-2.4.6-88.el7.centos.x86_64 est déjà installé dans sa dernière version Le paquet 1:nfs-utils-1.3.0-0.61.el7.x86_64 est déjà installé dans sa dernière version Le paquet bzip2-1.0.6-13.el7.x86_64 est déjà installé dans sa dernière version ... Résumé de la transaction ============================================================================================ Installation 4 Paquets (+20 Paquets en dépendance) Taille totale des téléchargements : 36 M Taille d'installation : 73 M Downloading packages: (1/24): attr-2.4.46-13.el7.x86_64.rpm | 66 kB 00:00:00 ... (24/24): gcc-4.8.5-36.el7.x86_64.rpm | 16 MB 00:00:23 ... Installé : gcc.x86_64 0:4.8.5-36.el7 glusterfs-fuse.x86_64 0:3.12.2-18.el7 perl-CPAN.noarch 0:1.9800-294.el7_6 perl-devel.x86_64 4:5.16.3-294.el7_6 Dépendances installées : ... cpp.x86_64 0:4.8.5-36.el7 ... kernel-headers.x86_64 0:3.10.0-957.10.1.el7 ... Terminé ! [root@backuppc ~]#
Configuration de CPAN
[root@backuppc ~]# cpan CPAN.pm requires configuration, but most of it can be done automatically. If you answer 'no' below, you will enter an interactive dialog for each configuration option instead. Would you like to configure as much as possible automatically? [yes] <install_help> Warning: You do not have write permission for Perl library directories. To install modules, you need to configure a local Perl library directory or escalate your privileges. CPAN can help you by bootstrapping the local::lib module or by configuring itself to use 'sudo' (if available). You may also resolve this problem manually if you need to customize your setup. What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') [local::lib] sudo Autoconfigured everything but 'urllist'. Now you need to choose your CPAN mirror sites. You can let me pick mirrors for you, you can select them from a list or you can enter them by hand. Would you like me to automatically choose some CPAN mirror sites for you? (This means connecting to the Internet) [yes] Trying to fetch a mirror list from the Internet Fetching with LWP: http://www.perl.org/CPAN/MIRRORED.BY Fetching with LWP: http://www.perl.org/CPAN/MIRRORED.BY.gz Fetching with LWP: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY Looking for CPAN mirrors near you (please be patient) .......................... done! New urllist http://ftp.nara.wide.ad.jp/pub/CPAN/ http://cpan.metacpan.org/ http://cpan.ulak.net.tr/ Autoconfiguration complete. commit: wrote '/root/.cpan/CPAN/MyConfig.pm' You can re-run configuration any time with 'o conf init' in the CPAN shell Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.9800) Enter 'h' for help. cpan[1]>
Test::More
Référence: https://en.wikipedia.org/wiki/Test::More.
Test::More est un module de test unitaire pour Perl. Créé et maintenu par Michael G Schwern avec l'aide de Barrie Slaymaker, Tony Bowden, chromatic, Fergal Daly et perl-qa.
Test::More est le module de test Perl le plus populaire. En 2010, environ 80% de toutes les distributions CPAN l'utilisaient.
cpan[1]> install Test::More Fetching with LWP: ... Fetching with LWP: ... CPAN.pm: Building E/EX/EXODIST/Test-Simple-1.302162.tar.gz Checking if your kit is complete... Looks good Writing Makefile for Test::Simple ... Manifying blib/man3/Test::Tester.3pm ... Running make test ... All tests successful. Files=230, Tests=2615, 34 wallclock secs ( 1.32 usr 0.59 sys + 22.71 cusr 4.76 csys = 29.38 CPU) Result: PASS ... EXODIST/Test-Simple-1.302162.tar.gz sudo /usr/bin/make install -- OK cpan[2]>
Module version
Le module version récupère la version de tout autre module.
cpan[2]> install version Running install for module 'version' ... Testing if you have a C compiler Checking if your kit is complete... Looks good ... All tests successful. Test Summary Report ------------------- t/07locale.t (Wstat: 0 Tests: 8 Failed: 0) TODO passed: 7 Files=12, Tests=2502, 2 wallclock secs ( 0.38 usr 0.06 sys + 1.77 cusr 0.32 csys = 2.53 CPU) Result: PASS ... Appending installation info to /usr/lib64/perl5/perllocal.pod JPEACOCK/version-0.9924.tar.gz sudo /usr/bin/make install -- OK cpan[3]>
On quitte cpan.
cpan[3]> quit Terminal does not support GetHistory. Lockfile removed. [root@backuppc ~]#
Mise à jour
Téléchargements
On crée un répertoire de travail.
[root@backuppc ~]# mkdir /root/BackupPC [root@backuppc ~]#
On s'y rend.
[root@backuppc ~]# cd /root/BackupPC/ [root@backuppc BackupPC]#
BackupPC 4.3.0
[root@backuppc BackupPC]# wget https://github.com/backuppc/backuppc/releases/download/4.3.0/BackupPC-4.3.0.tar.gz ... requête HTTP transmise, en attente de la réponse...200 OK Longueur: 637725 (623K) [application/octet-stream] Sauvegarde en : «BackupPC-4.3.0.tar.gz» 100%[==================================================>] 637 725 296KB/s ds 2,1s 2019-03-19 01:46:25 (296 KB/s) - «BackupPC-4.3.0.tar.gz» sauvegardé [637725/637725] [root@backuppc BackupPC]#
On extrait le fichier.
[root@backuppc BackupPC]# tar -zxvf BackupPC-4.3.0.tar.gz BackupPC-4.3.0/ ... BackupPC-4.3.0/bin/BackupPC_archiveHost [root@backuppc BackupPC]#
BackupPC-XS 0.58
[root@backuppc BackupPC]# wget https://github.com/backuppc/backuppc-xs/releases/download/0.58/BackupPC-XS-0.58.tar.gz ... requête HTTP transmise, en attente de la réponse...200 OK Longueur: 288074 (281K) [application/octet-stream] Sauvegarde en : «BackupPC-XS-0.58.tar.gz» 100%[==================================================>] 288 074 248KB/s ds 1,1s 2019-03-19 01:44:01 (248 KB/s) - «BackupPC-XS-0.58.tar.gz» sauvegardé [288074/288074] [root@backuppc BackupPC]#
On extrait le fichier.
[root@backuppc BackupPC]# tar -zxvf BackupPC-XS-0.58.tar.gz BackupPC-XS-0.58/ ... BackupPC-XS-0.58/configure.sh [root@backuppc BackupPC]#
rsync-bpc
Le fichier ZIP doit être téléchargé sur le poste de travail, extrait avec 7-ZIP puis, téléversé sur le serveur.
Site de téléchargement: https://github.com/backuppc/rsync-bpc.
Il faut prendre Branch 3.1.2 et télécharger le fichier ZIP.
On vérifie le répertoire /root/BackupPC
du serveur.
[root@backuppc BackupPC]# ls -ls total 916 0 drwxr-xr-x 10 317 317 177 25 nov. 16:56 BackupPC-4.3.0 624 -rw-r--r-- 1 root root 637725 25 nov. 17:17 BackupPC-4.3.0.tar.gz 4 drwxr-xr-x 6 317 317 4096 25 nov. 15:15 BackupPC-XS-0.58 284 -rw-r--r-- 1 root root 288074 25 nov. 15:23 BackupPC-XS-0.58.tar.gz 4 drwxr-xr-x 11 root root 4096 19 mars 02:10 rsync-bpc-3.1.2 [root@backuppc BackupPC]#
Installation des logiciels
BackupPC-XS
Il faut absolument débuter par BackupPC-XS sinon, nous aurons des erreurs d'installation des autres logiciels.
[root@backuppc BackupPC]# cd BackupPC-XS-0.58 [root@backuppc BackupPC-XS-0.58]#
On lance le Makefile.PL
.
[root@backuppc BackupPC-XS-0.58]# perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for BackupPC::XS::md5 Writing Makefile for BackupPC::XS::zlib Writing Makefile for BackupPC::XS [root@backuppc BackupPC-XS-0.58]#
On lance le make
.
[root@backuppc BackupPC-XS-0.58]# make cp lib/BackupPC/XS.pm blib/lib/BackupPC/XS.pm ./configure.sh configure.sh: Configuring backuppc-xs 0.58 ... chmod 755 blib/arch/auto/BackupPC/XS/XS.so cp XS.bs blib/arch/auto/BackupPC/XS/XS.bs chmod 644 blib/arch/auto/BackupPC/XS/XS.bs Manifying blib/man3/BackupPC::XS.3pm [root@backuppc BackupPC-XS-0.58]#
On teste.
[root@backuppc BackupPC-XS-0.58]# make test ... All tests successful. Files=1, Tests=1, 0 wallclock secs ( 0.03 usr 0.02 sys + 0.06 cusr 0.02 csys = 0.13 CPU) Result: PASS make[1] : on entre dans le répertoire « /root/BackupPC/BackupPC-XS-0.58/md5 » No tests defined for BackupPC::XS::md5 extension. make[1] : on quitte le répertoire « /root/BackupPC/BackupPC-XS-0.58/md5 » make[1] : on entre dans le répertoire « /root/BackupPC/BackupPC-XS-0.58/zlib » No tests defined for BackupPC::XS::zlib extension. make[1] : on quitte le répertoire « /root/BackupPC/BackupPC-XS-0.58/zlib » [root@backuppc BackupPC-XS-0.58]#
On installe.
[root@backuppc BackupPC-XS-0.58]# make install Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib64/perl5/auto/BackupPC/XS/XS.so Installing /usr/local/lib64/perl5/auto/BackupPC/XS/XS.bs Installing /usr/local/lib64/perl5/BackupPC/XS.pm Installing /usr/local/share/man/man3/BackupPC::XS.3pm Appending installation info to /usr/lib64/perl5/perllocal.pod [root@backuppc BackupPC-XS-0.58]#
rsync-bpc
L'installation de rsync-bpc doit être faite avant celle de BackupPC-4.3.0.
[root@backuppc BackupPC-XS-0.58]# cd ../rsync-bpc-3.1.2 [root@backuppc rsync-bpc-3.1.2]#
Il faut installer libacl-devel sinon, nous aurons l'erreur ci-dessous.
lib/sysacls.c:2761:2: erreur: #error No ACL functions defined for this platform! #error No ACL functions defined for this platform! ^
On installe libacl-devel.
[root@backuppc rsync-bpc-3.1.2]# yum install -y libacl-devel ... Résumé de la transaction ============================================================================================ Installation 1 Paquet (+1 Paquet en dépendance) Taille totale des téléchargements : 107 k Taille d'installation : 89 k ... Installé : libacl-devel.x86_64 0:2.2.51-14.el7 Dépendances installées : libattr-devel.x86_64 0:2.4.46-13.el7 Terminé ! [root@backuppc rsync-bpc-3.1.2]#
Vu que nous avons téléversé ce répertoire depuis un poste de travail Windows, le script configure.sh
a perdu ses droits d'exécution, il faut les remettre,
[root@backuppc rsync-bpc-3.1.2]# chmod +x configure.sh [root@backuppc rsync-bpc-3.1.2]#
On lance la configuration.
[root@backuppc rsync-bpc]# ./configure.sh configure.sh: Configuring rsync_bpc 3.1.2.0 ... rsync_bpc 3.1.2.0 configuration successful [root@backuppc rsync-bpc-3.1.2]#
On lance le make
.
[root@backuppc rsync-bpc-3.1.2]# make perl ./mkproto.pl ./*.c ./lib/compat.c ... popt/popt.o popt/poptconfig.o popt/popthelp.o popt/poptparse.o -lattr -lacl [root@backuppc rsync-bpc-3.1.2]#
On installe.
[root@backuppc rsync-bpc-3.1.2]# make install /usr/bin/mkdir -p /usr/local/bin /usr/bin/install -c -m 755 rsync_bpc /usr/local/bin [root@backuppc rsync-bpc-3.1.2]#
BackupPC 4.3.0
On se rend dans le répertoire BackupPC-4.3.0.
[root@backuppc rsync-bpc-3.1.2]# cd ../BackupPC-4.3.0 [root@backuppc BackupPC-4.3.0]#
On configure, prenant tous les défauts avec [ENTRÉE].
[root@backuppc BackupPC-4.3.0]# ./configure.pl Found /etc/BackupPC/config.pl, so this is an upgrade of an existing BackupPC installation. We will verify some existing information, but you will probably not need to make any changes - just hit ENTER to each question. I found the following locations for these programs: bzip2 => /usr/bin/bzip2 cat => /usr/bin/cat df => /usr/bin/df gtar/tar => /usr/bin/gtar gzip => /usr/bin/gzip hostname => /usr/bin/hostname nmblookup => /usr/bin/nmblookup par2 => /bin/true perl => /usr/bin/perl ping => /usr/bin/ping ping6 => /usr/sbin/ping6 rrdtool => /usr/bin/rrdtool rsync => /usr/bin/rsync rsync_bpc => /usr/local/bin/rsync_bpc sendmail => /usr/sbin/sendmail smbclient => /usr/bin/smbclient split => /usr/bin/split ssh/ssh2 => /usr/bin/ssh --> Are these paths correct? [y]? [ENTRÉE] Please tell me the hostname of the machine that BackupPC will run on. --> BackupPC will run on host [localhost]? [ENTRÉE] BackupPC should run as a dedicated user with limited privileges. You need to create a user. This user will need read/write permission on the main data directory and read/execute permission on the install directory (these directories will be setup shortly). The primary group for this user should also be chosen carefully. The data directories and files will have group read permission, so group members can access backup files. --> BackupPC should run as user [backuppc]? [ENTRÉE] Please specify an install directory for BackupPC. This is where the BackupPC scripts, library and documentation will be installed. --> Install directory (full path) [/usr/share/BackupPC]? [ENTRÉE] Please specify a data directory for BackupPC. This is where all the PC backup data is stored. This file system needs to be big enough to accommodate all the PCs you expect to backup (eg: at least several GB per machine). --> Data directory (full path) [/var/lib/BackupPC/]? [ENTRÉE] BackupPC has SCGI and CGI perl interfaces that run under Apache. You need to pick which one to run. For SCGI, Apache uses the scgi_mod module to communicate with BackupPC_Admin_SCGI, which handles the requests. This allows Apache to run as a different user as backuppc. To use SCGI you need to set SCGIServerPort to any spare non-privileged TCP port number. A negative value disables SCGI. Important security warning!! The SCGIServerPort must not be accessible by anyone untrusted. That means you can't allow untrusted users access to the BackupPC server, and you should block the SCGIServerPort TCP port from network access. The traditional alternative is to use CGI. In this case, an executable needs to be installed Apache's cgi-bin directory. This executable needs to run as set-uid backuppc, or it can be run under mod_perl with Apache running as user backuppc. --> SCGI port (-1 to disable) [-1]? [ENTRÉE] --> CGI bin directory (full path, or empty for no CGI) [/usr/share/BackupPC/sbin/]? [ENTRÉE] BackupPC's CGI and SCGI script need to display various PNG/GIF images that should be stored where Apache can serve them. They should be placed somewhere under Apache's DocumentRoot. BackupPC also needs to know the URL to access these images. Example: Apache image directory: /var/www/htdocs/BackupPC URL for image directory: /BackupPC The URL for the image directory should start with a slash. --> Apache image directory (full path, or empty for no S/CGI) [/usr/share/BackupPC/html/]? [ENTRÉE] --> URL for image directory (omit http://host; starts with '/', or empty for no S/CGI) [/BackupPC/images]? [ENTRÉE] Ok, we're about to: - install the binaries, lib and docs in /usr/share/BackupPC - create the data directory /var/lib/BackupPC/ - optionally install the cgi-bin interface - create/update the config.pl file /etc/BackupPC/config.pl --> Do you want to continue? [y]? [ENTRÉE] Created /usr/share/BackupPC/share Created /usr/share/BackupPC/share/doc Created /usr/share/BackupPC/share/doc/BackupPC Created /usr/share/BackupPC/lib/Net Created /usr/share/BackupPC/lib/Net/FTP Created /var/lib/BackupPC/ Created /var/lib/BackupPC//pool Created /var/lib/BackupPC//cpool Created /var/lib/BackupPC//pc Created /etc/BackupPC Created /var/log/BackupPC Created /var/run/BackupPC Installing binaries in /usr/share/BackupPC/bin Installing library in /usr/share/BackupPC/lib Installing images in /usr/share/BackupPC/html/ Making systemd and init.d scripts Making Apache configuration file for suid-perl Installing docs in /usr/share/BackupPC/share/doc/BackupPC Installing cgi script BackupPC_Admin in /usr/share/BackupPC/sbin/ Installing config.pl and hosts in /etc/BackupPC Making backup copy of /etc/BackupPC/config.pl -> /etc/BackupPC/config.pl.pre-4.3.0 Ok, it looks like we are finished. There are several more things you will need to do: - Browse through the config file, /etc/BackupPC/config.pl, and make sure all the settings are correct. In particular, you will need to set $Conf{CgiAdminUsers} so you have administration privileges in the CGI interface. - Edit the list of hosts to backup in /etc/BackupPC/hosts. - Read the documentation in /usr/share/BackupPC/doc/BackupPC.html. Please pay special attention to the security section. - Verify that the CGI script BackupPC_Admin runs correctly. You might need to change the permissions or group ownership of BackupPC_Admin. If this is an upgrade and you are using mod_perl, you will need to restart Apache. Otherwise it will have stale code. - BackupPC should be ready to start. Don't forget to run it as user backuppc! The installation also contains a systemd/backuppc.service script that can be installed so that BackupPC can auto-start on boot. This will also enable administrative users to start the server from the CGI interface. See systemd/README. Enjoy! [root@backuppc BackupPC-4.3.0]#
L'installation de la mise à jour est terminée.
Nous retournons dans le répertoire personnel de root.
[root@backuppc BackupPC-4.3.0]# cd [root@backuppc ~]#
Désinstallation de gcc
Avoir
gcc
installé est une brèche de sécurité vu qu'un pirate pourrait s'en servir pour compiler un malveillant.
Est-ce que gcc
est requis par un paquetage quelconque?
[root@backuppc ~]# rpm -q --whatrequires gcc aucun paquetage ne requiert gcc [root@backuppc ~]#
La mise à jour étant terminée,
gcc
n'est plus nécessaire et n'est requis par aucun paquetage. On peut donc le désinstaller sans problème. Si plus tard nous en avions encore besoin, il suffirait de l'installer à nouveau.
Quel version de gcc
avons-nous installé?
[root@backuppc ~]# rpm -qa | grep gcc gcc-4.8.5-36.el7.x86_64 libgcc-4.8.5-36.el7.x86_64 [root@backuppc ~]#
On désinstalle gcc
.
[root@backuppc ~]# rpm -e gcc-4.8.5-36.el7.x86_64 [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# rpm -qa | grep gcc libgcc-4.8.5-36.el7.x86_64 [root@backuppc ~]#
Est-ce que libgcc
est requis par un paquetage quelconque?
[root@backuppc ~]# rpm -q --whatrequires libgcc aucun paquet ne requiert libgcc [root@backuppc ~]#
Il n'y a pas de problème à garder libgcc
.
Création de l'utilisateur backuppc
Gestion → Utilisateur et groupe → onglet Utilisateurs → CRÉER NOUVEAU.
On entre les informations demandées.
● On insère l'utilisateur dans le groupe admin admins@micronator-101.org.
● On s'assure de choisir un mot de passe robuste.
SOUMETTRE.
Techniquement, la configuration de cet utilisateur backuppc créé dans l'interface Web de NethServer est dans LDAP tandis que celle créée par l'installation de BackupPC est dans
/etc/passwd
.
Ajustement des configurations des logiciels
/var/lib/BackupPC/etc/config.pl
Avant d'éditer ce fichier, on en fait une copie de sauvegarde dans le répertoire
/root/BackupPC/
.
[root@backuppc ~]# cp /var/lib/BackupPC/etc/config.pl /root/BackupPC/config.pl_BPC_org [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -als /root/BackupPC/config.pl_BPC_org 84 -rw-r----- 1 root root 84055 20 mars 01:22 /root/BackupPC/config.pl_BPC_org [root@backuppc ~]#
On édite le fichier:
/etc/BackupPC/config.pl
.
On spécifie les utilisateurs qui pourront gérer BackupPC.
Les utilisateurs sont séparés par des espaces.
... # Examples: # $Conf{CgiAdminUserGroup} = 'admin'; # $Conf{CgiAdminUsers} = 'craig celia'; # --> administrative users are the union of group admin, plus # craig and celia. # # $Conf{CgiAdminUserGroup} = ''; # $Conf{CgiAdminUsers} = 'craig celia'; # --> administrative users are only craig and celia'. # $Conf{CgiAdminUserGroup} = ''; ##### Modification par Michel-André 2019-03-18_08h38 ##### Spécification des utilisateurs qui pourront gérer BackupPC ##### $Conf{CgiAdminUsers} = 'admin admins@micronator-101.org'; $Conf{CgiAdminUsers} = 'admin michelandre'; # # TCP port number of the SCGI server. A negative value disables the ...
On vérifie.
[root@backuppc ~]# cat /var/lib/BackupPC/etc/config.pl | grep -i Michel ######################### Michel-Andr▒ 2019-03-18_08h38 $Conf{CgiAdminUsers} = 'admin michelandre'; [root@backuppc ~]#
/etc/httpd/conf/httpd.conf
On modifie le fichier de configuration httpd.conf
pour que ce soit l'utilisateur backuppc qui roulera le démon httpd.
Avant d'éditer ce fichier, on en fait une copie de sauvegarde dans le répertoire
/root/BackupPC/
.
[root@backuppc ~]# cp /etc/httpd/conf/httpd.conf /root/BackupPC/httpd.conf_BPC_org [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -als /root/BackupPC/httpd.conf_BPC_org 12 -rw-r--r-- 1 root root 11753 20 mars 01:47 /root/BackupPC/httpd.conf_BPC_org [root@backuppc ~]#
On édite le fichier:
/etc/httpd/conf/httpd.conf
.
On spécifie que c'est l'utilisateur backuppc qui roulera le démon httpd.
... # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # ##### Modification par Michel-André, 2019-02-19_11h37 ##### On spécifie que c'est l'utilisateur backuppc qui roulera le démon httpd. ##### User apache User backuppc Group apache # 'Main' server configuration ...
On vérifie.
[root@backuppc ~]# cat /etc/httpd/conf/httpd.conf | grep backuppc ##### On sp▒cifie que c'est l'utilisateur backuppc qui roulera le d▒mon httpd. User backuppc [root@backuppc ~]#
Propriétaire et groupe
Vu que c'est l'utilisateur backuppc qui roulera le démon httpd (Apache), on ajuste Récursivement le propriétaire et le groupe du répertoire
/usr/share/BackupPC
en conséquence.
[root@backuppc ~]# chown -R backuppc:apache /usr/share/BackupPC [root@backuppc ~]#
On ajuste aussi Récursivement le propriétaire et le groupe du répertoire /var/lib/BackupPC/
.
[root@backuppc ~]# chown -R backuppc:apache /var/lib/BackupPC/ [root@backuppc ~]#
Redémarrage des démons
On redémarre httpd.
[root@backuppc ~]# systemctl restart httpd.service [root@backuppc ~]#
On redémarre backuppc.
[root@backuppc ~]# systemctl restart backuppc.service [root@backuppc ~]#
Journal
Le principal journal de BackupPC se trouve dans le répertoire /var/lib/BackupPC/log
et se nomme LOG.
Pour voir les messages des scripts de pre/post-sauvegarde, Tableau de bord NethServer → Administration → /var/log/messages.
Documentation
La documentation officielle de BackupPC (anglais): http://backuppc.sourceforge.net/faq/BackupPC.html.
La mise à jour vers BackupPC-4.3.0 est terminée.
Configuration préliminaire de BackupPC
Clés SSH
Pour préparer un client Linux à être sauvegarder, il faut configurer SSH tel que ci-dessous depuis le serveur hôte de BackupPC afin d'échanger les clés SSH pour pouvoir nous connecter sans mot de passe.
Avec l'installation de BackupPC, une clé RSA est automatiquement créée dans /var/lib/BackupPC/.ssh
(4098 bits). Vous pouvez l’utiliser pour vous authentifier sans mot de passe si vous souhaitez sauvegarder un hôte Linux.
[root@backuppc ~]# ls -als /var/lib/BackupPC/.ssh total 7 1 drwx------ 2 backuppc backuppc 1024 16 mars 12:47 . 1 drwxr-x--- 10 backuppc root 1024 16 mars 14:42 .. 4 -rw------- 1 backuppc backuppc 3247 16 mars 12:47 id_rsa 1 -rw-r--r-- 1 backuppc backuppc 762 16 mars 12:47 id_rsa.pub [root@backuppc ~]#
Ce jeu de clés SSH servira uniquement pour les communications SSH entre les clients des sauvegardes et le serveur BackupPC. Ce jeu comprend les clés: “id_rsa” et “id_rsa.pub”.
Différence entre les jeux de clés SSH
Le jeu de clés SSH de l'utilisateur backuppc est différent du jeu standard d'un Serveur NethServer qui lui, se trouve dans le répertoire
/etc/ssh/
et qui comprend: “ssh_host_rsa_key” et “ssh_host_rsa_key.pub”.
[root@backuppc ~]# ls -als /etc/ssh/ssh_host_rsa* 4 -rw-r----- 1 root ssh_keys 1675 4 janv. 09:23 /etc/ssh/ssh_host_rsa_key 4 -rw-r--r-- 1 root root 382 4 janv. 09:23 /etc/ssh/ssh_host_rsa_key.pub [root@backuppc ~]#
Téléversement de la clé SSH publique de BackupPC
Téléversement de la clé publique de l'utilisateur backuppc depuis le serveur BackupPC vers le client SOURCE tchana.micronator-dev.org possédant l'adresse IP 10.10.10.75 afin que l'utilisateur backuppc puisse entrer en communication avec ce client sans devoir utiliser un mot de passe lors d'une connexion SSH.
[root@backuppc ~]# ssh-copy-id -p 2222 -i ~backuppc/.ssh/id_rsa.pub root@10.10.10.75 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/BackupPC/.ssh/id_rsa.pub" The authenticity of host '[10.10.10.75]:2222 ([10.10.10.75]:2222)' can't be established. ECDSA key fingerprint is SHA256:9+bPJEyBWU7QPbS3rdI5CwoEMIffRtvD77sB79dEnSY. ECDSA key fingerprint is MD5:13:d3:cd:0d:9b:ec:f0:98:be:4a:5d:5c:df:b4:dc:c2. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@10.10.10.75's password: mot-de-passe-de-root-du-serveur-SOURCE Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '2222' 'root@10.10.10.75'" and check to make sure that only the key(s) you wanted were added. [root@backuppc ~]
Vérification de la connexion sans mot de passe
On se substitue à l'usager backuppc tout en lui donnant un shell.
[root@backuppc ~]# su -s /bin/bash backuppc bash-4.1$
On vérifie la substitution.
bash-4.1$ whoami backuppc bash-4.1$
On vérifie la connexion ssh sans mot de passe vers le serveur SOURCE 10.10.10.75.
bash-4.1$ ssh -p 2222 root@10.10.10.75 Last login: Sat Mar 16 15:16:59 2019 from tchana.micronator-dev.org ************ Welcome to NethServer ************ This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org *********************************************** [root@tchana ~]#
La connexion sans mot de passe fonctionne correctement.
On se désengage de la connexion ssh pour retourner au serveur hôte de BackupPC.
[root@tchana ~]# exit logout Connection to 10.10.10.75 closed. bash-4.1$
On sort de la substitution et on revient à l'usager root.
bash-4.1$ exit exit [root@backuppc ~]#
Scripts pre/post sauvegarde
BackupPC fournit une variable $Conf{DumpPreUserCmd}
pour exécuter une commande de pré-sauvegarde et $Conf{DumpPostUserCmd}
pour une commande de post-sauvegarde.
BackupPC fournit deux paramètres aux commandes pré-sauvegarde et post-sauvegarde:
● $sshPath → qui est le chemin de la commande ssh et
● $host → qui est le nom ou l'IP du serveur à être sauvegardé.
$sshPath
Pour les Serveurs NethServer, le chemin de la commande ssh est toujours le même.
[root@backuppc ~]# which ssh /usr/bin/ssh [root@backuppc ~]#
$host
BackupPC fournit le nom ou l'IP du serveur à être sauvegardé dans une variable qu'il nomme $host
.
Répertoire de stockage des scripts
Nous créons un répertoire pour stocker nos scripts.
[root@backuppc ~]# mkdir /var/lib/BackupPC/script [root@backuppc ~]#
On ajuste le propriétaire et le groupe.
[root@backuppc ~]# chown backuppc:apache /var/lib/BackupPC/script [root@backuppc ~]#
On ajuste les droits.
[root@backuppc ~]# chmod 750 /var/lib/BackupPC/script [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -lsd /var/lib/BackupPC/script 1 drwxr-x--- 2 backuppc apache 1024 19 mars 13:05 /var/lib/BackupPC/script [root@backuppc ~]#
$Conf{DumpPreUserCmd}
Pour plus de détails, voir la section Paramètres de sauvegarde.
Dans BackupPC, nous utiliserons la commande suivante pour $Conf{DumpPreUserCmd}
.
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
Exemple: Dans l'interface cgi de BackupPC, choisir l'Hôte → Modifier la configuration → onglet Paramètres de sauvegarde → cadre Commandes des usagers.
● /var/lib/BackupPC/script/pre-sauvegarde.sh
→ le chemin et le nom du script de pré-sauvegarde.
● $host
→ le nom ou l'IP de la machine à être sauvegardée, qu'on passe en paramètre au script pre-sauvegarde.sh.
Script pre-sauvegarde.sh
Prendre tout le contenu de l'encadré pour la commande.
cat > /var/lib/BackupPC/script/pre-sauvegarde.sh <<'EOT' #!/bin/sh #------------------------------------------- # /var/lib/BackupPC/script/pre-sauvegarde.sh # # Michel-André, 2019-03-18_16h49 #------------------------------------------- # pre-backup-config pour la sauvegarde de la configuration et de LDAP /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup-config" # Pause de BackupPC /bin/sleep 15 # pre-backup-data pour la sauvegarde des données /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup-data" # Pause de BackupPC /bin/sleep 15 EOT
On vérifie.
[root@backuppc ~]# cat /var/lib/BackupPC/script/pre-sauvegarde.sh #!/bin/sh #------------------------------------------- # /var/lib/BackupPC/script/pre-sauvegarde.sh # # Michel-André, 2019-03-18_16h49 #------------------------------------------- # pre-backup-config pour la sauvegarde de la configuration et de LDAP /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup-config" # Pause de BackupPC /bin/sleep 15 # pre-backup-data pour la sauvegarde des données /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup-data" # Pause de BackupPC /bin/sleep 15 [root@backuppc ~]#
Il n'y a pas de ligne vide avant la ligne #!/bin/sh. Ci-dessus, nous en avons inséré une pour faciliter la copie de la commande.
● #!/bin/sh
Indique que c'est un script bash. Doit toujours être obligatoirement la première ligne du script.
● /usr/bin/ssh -l root $host /sbin/e-smith/signal-event pre-backup
/usr/bin/ssh
Le chemin/nom de l'utilitaire ssh
.
-l root
(-l login_name) spécifie le nom d'usager à utiliser pour la connexion à la machine distante.
$host
Le paramètre $1
- le nom ou l'IP, du Serveur NethServer à sauvegarder, que l'on passe comme premier ($1) paramètre au script pre-sauvegarde.sh.
/sbin/e-smith/signal-event pre-backup-config et /sbin/e-smith/signal-event pre-backup-data
Commandes standard de pré-sauvegarde pour un Serveur NethServer.
Le “ (guillemet) indique au serveur distant d'exécuter tout ce qui suit jusqu'au prochain ”.
● /bin/sleep 15
Indique au serveur BackupPC de prendre une pause de 15 secondes afin que la commande précédente ait le temps de terminer son travail sur l'hôte distant. Si cette pause n'est pas prise, BackupPC émettra un message de dépassement du délais d'attente (timed out) pour la commande suivante.
On ajuste le propriétaire et le groupe du script.
[root@backuppc ~]# chown backuppc:apache /var/lib/BackupPC/script/pre-sauvegarde.sh [root@backuppc ~]#
On ajuste les droits.
[root@backuppc ~]# chmod 550 /var/lib/BackupPC/script/pre-sauvegarde.sh [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -ls /var/lib/BackupPC/script/pre-sauvegarde.sh 2 -r-xr-x--- 1 backuppc apache 515 19 mars 13:10 /var/lib/BackupPC/script/pre-sauvegarde.sh [root@backuppc ~]#
$Conf{DumpPostUserCmd}
Pour plus de détails, voir la section Paramètres de sauvegarde.
Dans BackupPC, nous utiliserons la commande suivante pour $Conf{DumpPostUserCmd}
.
/var/lib/BackupPC/script/post-sauvegarde.sh $host
Exemple: Dans l'interface cgi de BackupPC, choisir l'Hôte → Modifier la configuration → onglet Paramètres de sauvegarde → Commandes des usagers.
Script post-sauvegarde.sh
Prendre tout le contenu de l'encadré pour la commande.
cat > /var/lib/BackupPC/script/post-sauvegarde.sh <<'EOT' #!/bin/sh #-------------------------------------------- # /var/lib/BackupPC/script/post-sauvegarde.sh # # Michel-André, 2019-03-18_17h09 #-------------------------------------------- # Commande post-backup-config pour la configuration et LDAP /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup-config" # Pause de BackupPC /bin/sleep 15 # Commande post-backup-data pour les données /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup-data" # Pause de BackupPC /bin/sleep 15 EOT
On vérifie.
[root@backuppc ~]# cat /var/lib/BackupPC/script/post-sauvegarde.sh #!/bin/sh #-------------------------------------------- # /var/lib/BackupPC/script/post-sauvegarde.sh # # Michel-André, 2019-03-18_17h09 #-------------------------------------------- # Commande post-backup-config pour la configuration et LDAP /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup-config" # Pause de BackupPC /bin/sleep 15 # Commande post-backup-data pour les données /usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup-data" # Pause de BackupPC /bin/sleep 15 [root@backuppc ~]#
Il n'y a pas de ligne vide avant la ligne #!/bin/sh. Ci-dessus, nous en avons inséré une pour faciliter la copie de la commande.
On ajuste le propriétaire et le groupe du script.
[root@backuppc ~]# chown backuppc:apache /var/lib/BackupPC/script/post-sauvegarde.sh [root@backuppc ~]#
On ajuste les droits.
[root@backuppc ~]# chmod 550 /var/lib/BackupPC/script/post-sauvegarde.sh [root@backuppc ~]#
On vérifie.
[root@backuppc ~]# ls -ls /var/lib/BackupPC/script/post-sauvegarde.sh 1 -r-xr-x--- 1 backuppc apache 506 19 mars 13:11 /var/lib/BackupPC/script/post-sauvegarde.sh [root@backuppc ~]#
Voilà, la configuration préliminaire de BackupPC est terminée.
Tous nos scripts sont en place, ils ont le bon propriétaire, le bon groupe et les bons droits.
Paramètres par défaut de BackupPC
Accès à l'interface cgi de BackupPC
Il existe deux liens pour accéder à BackupPC:
https://FQDN-ou-IP/BackupPC → page Web pour l'interface cgi.
https://FQDN-ou-IP/cygwin → page Web pour les paramètres cygwin-rsyncd pour Windows.
On peut aussi accéder à l'interface cgi de BackupPC via l'interface Web du Serveur NethServer.
Après avoir ajouter une exception dans le navigateur utilisé, on entre le justificatif de l'utilisateur admin puis on clique OK.
Comme on le voit par la couleur du cadenas de L'URL, la communication n'est pas chiffrée, car le certificat auto-signé du Serveur NethServer n'a pas été émis par une autorité de certification reconnue.
Si vous accéder à l'interface cgi de BackupPC depuis un réseau non sécuritaire, il est préférable d'installer un certificat de Let's Encrypt. Voir le Cahier-04: NethServer LOCAL & Certificat Let's Encrypt.
Cygwin pour la préparation des clients Windows
Après avoir ajouter une exception dans le navigateur utilisé, on entre le justificatif de l'utilisateur admin puis on clique OK.
Les instructions définies sur cette page sont pour la préparation des clients Windows qu'on voudrait sauvegarder avec BackupPC.
CGI
Langue de l'interface
Edit Config → onglet CGI → Language → on choisit fr. Le bouton Save devient actif. On le clique pour sauvegarder la modification.
Rafraîchir la page du navigateur → Renvoyer.
L'interface BackupPC est maintenant en français.
Actuellement, le paramètre Language s'applique seulement à l'interface CGI. Les fichiers journaux et autres textes sont toujours en anglais.
Format de la date
Format d'affichage de la date pour l'interface CGI.
Modifier la configuration → onglet CGI → CgiDateFormatMMDD.
La valeur 1 utilise des dates de type US (MM/DD), la valeur 2 utilise le format AAAA-MM-JJ et zéro pour les dates internationales (JJ/MM).
On veut un affichage AAAA-MM-JJ; on entre 2 à la variable CgiDateFormatMMDD.
On clique Sauvegarder pour enregistrer ce nouveau paramètre.
Paramètres de sauvegarde
CompressLevel (Niveau de compression)
Il n'y a rien à faire sauf, peut-être, le niveau de compression des sauvegardes; par défaut à 3 est très suffisant. Il ne faut pas oublier que la compression requière une assez grande partie du temps CPU.
Il n'y a presque rien à gagner à changer le niveau de compression.
Courriel
EMailNotifyMinDays 2.5 / 0.97
Période minimale entre les courriels consécutifs à un seul utilisateur. Ce paramètre tente de garder les courriels gênants pour les utilisateurs à un niveau raisonnable. La vérification du paramètre du courriel est effectuée tous les soirs, de sorte que ce nombre est effectivement arrondi (0.97 signifie qu'un utilisateur ne recevra jamais de courriel plus d'une fois tous les 1 jour).
Pour recevoir les courriels quotidiennement.
EMailFromUserName backuppc
Nom à utiliser pour le champ “De:” dans le courrier électronique. Selon votre gestionnaire de messagerie, il s'agit d'un nom complet (admin) ou d'un nom complet qualifié (admin@mondomaine.com).
EMailAdminUserName admin
Adresse de destination d'un utilisateur administratif qui recevra un courriel tous les soirs avec les avertissements et les erreurs. S'il n'y a pas d'avertissement ou d'erreur, aucun courriel ne sera envoyé. Selon votre gestionnaire de messagerie, il s'agit d'un nom complet (admin) ou d'un nom complet qualifié (admin@mondomaine.com).
EMailAdminSubject
Sujet pour les courriels à l'administrateur. Si vide, les valeurs par défaut de la version 4.2.2.
EMailUserDestDomain @mon-domaine.tld
Nom du domaine de destination pour les courriels envoyés aux utilisateurs. Par défaut, il est vide et signifie que le courriel est envoyé à des adresses simples et non qualifiées. Sinon, définissez ce paramètre avec le domaine de destination, par exemple:
Avec les paramètres $Conf{EMailAdminUserName} = 'admin' et $Conf{EMailUserDestDomain} = '@micronator.org' dans le fichier /var/lib/BackupPC/etc/config.pl
, le courrier électronique sera envoyé à: admin@micronator.org.
Vérification du courriel
Pour vérifier que BackupPC peut exécuter sendmail
et envoyer correctement le courrier électronique, vous pouvez lui demander de vous envoyer un courriel de test.
On se substitue à l'usager backuppc.
[root@backuppc ~]# su -s /bin/bash backuppc bash-4.1$
On envoie le courriel de test.
bash-4.1$ /usr/share/BackupPC/bin/BackupPC_sendEmail -u admin@micronator.org Sending test email using /usr/sbin/sendmail -t -f backuppc bash-4.1$
On vérifie le courrier d'admin.
On se désengage de l'usager backuppc.
bash-4.1$ exit exit [root@backuppc ~]#
Horaire
Sauvegardes Complètes
FullPeriod 6.97
Période minimale en jours, entre les sauvegardes Complètes. Une vidange ne sera effectuée que si au moins ce délai s'est écoulé depuis la dernière sauvegarde Complète et, au moins IncrPeriod
jours s'est écoulée depuis la dernière sauvegarde réussie.
Généralement, cette valeur est légèrement inférieure à un nombre entier de jours. Le temps pris pour la sauvegarde, plus la granularité de WakeupSchedule rendront l'intervalle de sauvegarde réel un peu plus long.
FillCycle 1
Dans V4+, les sauvegardes Complètes/Incrémentielles sont dissociées de fusionnée/non fusionnée.
Pour imiter le comportement de V3, si FillCycle est défini à zéro, alors fusionnée/non fusionnée continuera à s'associer à Complète/Incrémentielle: les sauvegardes Complètes seront fusionnées et les sauvegardes Incrémentielles seront non fusionnées. (Toutefois, la sauvegarde la plus récente est toujours fusionné, qu'elle soit Complète ou Incrémentielle.) La valeur zéro est le paramètre recommandé pour simplifier les choses: vu que l'expiration de la sauvegarde est en fait basée sur fusionnée/non-fusionnée (non pas sur Complète/Incrémentielle) en les conservant ainsi synchronisées facilite alors la compréhension des paramètres d'expiration.
Si vous envisagez d'effectuer uniquement des sauvegardes Incrémentielles (c'est-à-dire: FullPeriod est défini à une très grande valeur), vous devez définir FillCycle à quelle fréquence vous voulez qu'une sauvegarde stockée soit fusionnée. Par exemple, si FillCycle est défini à 7, toutes les 7e sauvegardes seront fusionnées (que la sauvegarde correspondante soit Complète ou non).
Il existe deux raisons pour lesquelles vous voudriez un paramètre FillCycle différent de zéro lorsque vous ne faites que des Incrémentielles:
● Une sauvegarde fusionnée est un point de départ pour la fusion des deltas lorsque vous restaurez ou examinez des sauvegardes. Avoir périodiquement des sauvegardes fusionnées rend plus efficace l'examen ou la restauration d'anciennes sauvegardes.
● Plus important encore, dans V4+ la suppression des sauvegardes se fait en fonction de fusionnée/non fusionnée et non pas si la sauvegarde d'origine était Complète/Incrémentielle. S'il n'y a pas de sauvegardes fusionnées (autres que la plus récente), alors FullKeepCnt et les paramètres qui y sont associés n'auront aucun effet.
Si FillCycle = 1, toutes les sauvegardes seront Fusionnées et le demeureront, mais leur début sera légèrement plus long et on verra “début de la sauvegarde” s'afficher pour un certain temps supplémentaire.
Si BackupPC doit faire une vidange à cause d'un dépassement du nombre de sauvegardes à conserver, le message ci-contre s'affichera après celui ci-dessus.
FullKeepCnt 7
Nombre de sauvegardes Fusionnées à conserver (le nom porte à confusion). Doit être > = 1.
À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée et non plus si la sauvegarde d'origine était Complète ou Incrémentielle. Pour des raisons de compatibilité avec les anciennes versions, ce paramètre continue d'être appelé FullKeepCnt plutôt que FilledKeepCnt. Si FillCycle est à 0, alors, les sauvegardes Complètes continueront d'être Fusionnées; donc, les termes sont interchangeables. Pour les sauvegardes V3, les paramètres d'expiration ont leur signification d'origine.
Chaque fois qu'une sauvegarde Complète se termine avec succès, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes en surplus seront supprimées.
FullKeepCntMin 1
Les anciennes sauvegardes Complètes sont supprimées après FullAgeMax jours. Cependant, BackupPC conserve au moins FullKeepCntMin sauvegardes Complètes, quel que soit leur âge.
On garde au moins 1 sauvegarde Complète.
FullAgeMax 180
FullAgeMax sera augmenté à FullKeepCnt fois FullPeriod si FullKeepCnt spécifie suffisamment de sauvegardes Complètes pour dépasser FullAgeMax.
Sauvegardes Incrémentielles
IncrPeriod 0.97
Période minimale en jours, entre les sauvegardes Incrémentielles (une sauvegarde Incrémentielle demandée par l'utilisateur sera effectuée à tout moment, à sa demande).
Généralement, cette valeur est légèrement inférieure à un nombre entier de jours. Le temps pris pour la sauvegarde, plus la granularité de WakeupSchedule rendront l'intervalle de sauvegarde réel un peu plus long.
IncrKeepCnt 6
Nombre de sauvegardes Incrémentielles à conserver. Doit être > = 1.
Chaque fois qu'une sauvegarde Incrémentielle se termine avec succès et que le compte est > que IncrKeepCnt, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes Incrémentielles en surplus seront supprimées.
IncrKeepCntMin 1
Garder au moins 1 sauvegarde Incrémentielle.
IncrAgeMax 30
Les sauvegardes Incrémentielles très anciennes sont supprimées après IncrAgeMax jours. Cependant, BackupPC conserve au moins IncrKeepCntMin sauvegardes Incrémentielles, quel que soit leur âge.
Suspension
BackupsDisable 0
On peut désactiver en mettant à 1 et activer les sauvegardes seulement après avoir créé les machines clientes.
Désactive toutes les sauvegardes Complètes et Incrémentielles. Ce paramètre est utile pour un client qui n'est plus sauvegardé (par exemple: une machine qui est retirée), mais vous souhaitez conserver les dernières sauvegardes disponibles pour la navigation ou la restauration vers d'autres machines.
Ce paramètre peut prendre trois valeurs:
- 0 → Les sauvegardes sont activées.
- 1 → Ne pas faire de sauvegardes régulières sur ce client. Les sauvegardes demandées manuellement (via l'interface CGI) se produiront toujours.
- 2 → Ne faire aucune sauvegarde sur ce client. Les demandes manuelles des sauvegardes (via l'interface CGI) seront ignorées.
BlackoutBadPingLimit 3
Si le serveur ne répond pas après 3 ping, abandonner.
BlackoutGoodCnt 7
Les PCs qui sont toujours, ou souvent, présents sur le réseau peuvent être sauvegardés après les heures régulières afin de réduire la charge sur le PC, le réseau et le serveur pendant les heures de travail. Pour chaque PC, le nombre de pings consécutifs est maintenu. Une fois qu'un PC a au moins BlackoutGoodCnt bons pings consécutifs, il est sujet à un “blackout” et non sauvegardé pendant les heures et les jours spécifiés par BlackoutPeriods.
Pour permettre le redémarrage périodique d'un PC ou d'autres brèves périodes où un PC n'est pas sur le réseau, un nombre de pings négatifs consécutifs est autorisé avant que le nombre de bons ping soit réinitialisé. Ce paramètre est BlackoutBadPingLimit.
Les bons et mauvais pings ne se produisent pas avec le même intervalle. Si une machine est toujours présente sur le réseau, un ping ne sera envoyé qu'une fois tous les IncrPeriod (par exemple: une fois par jour). Donc, un paramètre pour BlackoutGoodCnt de 7 signifie qu'il faudra environ 7 jours pour qu'une machine soit soumise à un “blackout”. D'un autre côté, si un ping échoue, il sera réessayé à chaque fois que BackupPC se réveillera, par exemple toutes les heures ou toutes les deux heures. Donc, un paramètre pour BlackoutBadPingLimit de 3 signifie que le PC perdra son état de “blackout” après 3-6 heures d'indisponibilité.
Pour désactiver la fonction de “blackout”, configurez BlackoutGoodCnt à une valeur négative. Une valeur de 0 rendra toutes les machines sujettes à un “blackout”, mais si vous ne voulez pas faire de sauvegardes pendant la journée, il serait plus facile de simplement mettre WakeupSchedule à un horaire restreint.
BlackoutPeriods
Une ou plusieurs périodes d'interdiction peuvent être spécifiées. Si un client est sujet à un “blackout”, aucune sauvegarde régulière (non manuelle) ne sera démarrée pendant l'une de ces périodes. Les paramètres hourBegin et hourEnd spécifient les heures à partir de minuit et weekDays est une liste des jours de la semaine où 0 est dimanche, 1 lundi, etc.
Divers
RestoreInfoKeepCnt 10
Nombre de journaux de restauration à conserver. BackupPC mémorise les informations de chaque demande de restauration. Ce nombre, par client, sera conservé avant que les plus anciens ne soient purgés.
Les fichiers/répertoires transmis via les téléchargements Zip ou Tar ne sont pas considérés comme des restaurations. Seule la première option de restauration (où les fichiers et les répertoires sont écrits directement sur l'hôte) compte comme des restaurations consignées.
ArchiveInfoKeepCnt 10
Nombre de journaux d'archives à conserver. BackupPC mémorise les informations sur chaque requête de sauvegarde. Ce nombre d'archives de journaux par client sera conservé avant que les plus anciennes ne soient purgées.
BackupZeroFilesIsFatal
Une sauvegarde d'un partage ayant zéro fichier est considérée comme fatale. Ce paramètre est utilisé pour attraper diverses erreurs qui surviennent lorsque Xfer ne sauvegarde aucun fichier. Si vous avez des partages qui peuvent être vides (et donc une sauvegarde vide est valide), vous devez mettre cet indicateur à 0 (décoché).
Serveur
MaxOldLogFiles 14
Nombre maximal de fichiers journaux que BackupPC conserve dans le répertoire des journaux. L'âge de ces fichiers est mis à jour tous les soirs. Un paramètre de 14 signifie que le répertoire des journaux contiendra environ 2 semaines de vieux fichiers journaux: les fichiers LOG, LOG.0, LOG.1, … LOG.14 (sauf le journal d'aujourd'hui, ces fichiers auront une extension de “.z” si la compression est activée).
Si vous diminuez ce nombre après que BackupPC ait roulé un certain temps, vous devrez supprimer manuellement les anciens fichiers journaux.
Xfer
Pour le niveau de verbosité XferLogLevel dans les fichiers journaux Xfer: 0 signifie être calme, 1 donnera une ligne par fichier, 2 montrera également les fichiers sautés sur les incrémentielles et des valeurs plus élevées donnent plus de résultats. Pour le déverminage, un niveau de 8 ajoute deux lignes supplémentaires au menu (capture d'écran à droite) et pourrait vous orienter vers une solution à un problème donné.
S'assurer que RsyncShareName sous Paramètres de Rsync débute bien à “ / ” (la racine du système de fichiers).
Paramètres ssh
Port SSH du Serveur NethServer
Dans l'interface Web du Serveur NethServer, nous avons déjà configuré le Port TCP pour l'accès SSH à 2222.
Il faut ajuster le port SSH pour les communications de BackupPC vers les Serveurs NethServer clients.
Fichier de configuration SSH de BackupPC
Le répertoire pour tout ce qui concerne SSH est: /var/lib/BackupPC/.ssh
.
Nous créons un fichier pour spécifier les paramètres de configuration SSH de BackupPC.
[root@backuppc ~]# touch /var/lib/BackupPC/.ssh/config [root@backuppc ~]#
On ajuste le propriétaire et le groupe du fichier.
[root@backuppc ~]# chown backuppc:apache /var/lib/BackupPC/.ssh/config [root@backuppc ~]#
On ajuste les droits.
[root@backuppc ~]# chmod 640 /var/lib/BackupPC/.ssh/config [root@backuppc ~]#
Spécification du port SSH
Il existe plusieurs manières de spécifier ce port, mais la plus efficace est celle ci-dessous.
Host * Port 2222
Ce paramètre, dans le fichier de configuration SSH de BackupPC, aura préséance sur tous les autres paramètres de BackupPC spécifiant le port SSH.
Nous aurions pu utiliser les expressions suivantes pour spécifier le nom de l'hôte. Pour plus d'information, voir: https://www.digitalocean.com/community/tutorials/how-to-configure-custom-connection-options-for-your-ssh-client.
Host 192.168.1.33,192.168.1.149 Port 2222
Host 192.168.1.0/24 Port 2222
On peut spécifier des hôtes utilisant des ports différents.
Host 192.168.1.33 Port 2222 Host 10.10.10.75 Port 3333
On spécifie le port à utiliser.
Il faut que le mot “Port” soit à au moins un espace de la marge de gauche.
Prendre tout le contenu de l'encadré pour la commande. Pour nous, tous nos serveurs utilisent le port 2222.
cat > /var/lib/BackupPC/.ssh/config <<'EOT' # Michel-André: 2018-04-24_11h04 HNE # Spécification du port SSH à être utilisé par BackupPC Host * Port 2222 EOT
On vérifie les droits, le propriétaire et le groupe.
[root@backuppc ~]# ls -ls /var/lib/BackupPC/.ssh/config 0 -rw-r----- 1 backuppc apache 120 18 mars 15:17 /var/lib/BackupPC/.ssh/config [root@backuppc ~]#
On vérifie le contenu.
[root@backuppc ~]# cat /var/lib/BackupPC/.ssh/config # Michel-André: 2018-04-24_11h04 HNE # Spécification du port SSH à être utilisé par BackupPC Host * Port 2222 [root@backuppc ~]#
Il n'y a pas de ligne vide avant la ligne # Michel-André: 2018-04-24_11h04 HNE. Ci-dessus, nous avons inséré une ligne vide pour faciliter la copie de la commande.
Propriétés DB
Il n'existe que quatre propriétés DB que vous pouvez modifier:
- CgiMultiUser [enabled | disabled]
Multi utilisateur ou non.
- examples [enabled | disabled]
Souhaitez-vous que les exemples de fichiers de configuration soient ajoutés à nouveau s'ils ont été supprimés?
- status [enabled | disabled]
Voulez-vous que le service démarre automatiquement à l'amorçage du serveur?
- sudo
Liste de commandes que l'usager backuppc pourra exécuter en tant que root en utilisantsudo
. La valeur par défaut est “/usr/bin/rsync”, “/bin/gtar” et “/bin/tar”.
Affichage des propriétés du service backuppc.
[root@backuppc ~]# db configuration show backuppc backuppc=service CgiMultiUser=enabled examples=enabled status=enabled sudo=/usr/bin/rsync,/bin/gtar,/bin/tar [root@backuppc ~]#
Après avoir modifier une de ces propriétés, vous devez en signaler la mise à jour en lançant la commande ci-dessous.
/etc/e-smith/events/actions/system-adjust
Utilitaire sudo
L'utilitaire sudo3) est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Linux/Unix. (abréviation de substitute user do: “exécuter en se substituant à l'utilisateur”.)
L'utilitaire sudo permet, à un utilisateur autorisé, d'exécuter une commande en tant que superutilisateur (root) ou d'un autre utilisateur tel que spécifié par la politique de sécurité (fichier de configuration).
Dans notre cas particulier, sudo offre entre autre à l'usager backuppc, une liste de commandes que ce dernier pourra exécuter en tant que root.
Par défaut, cette liste comprend les commandes suivantes:
- /usr/bin/rsync
- /bin/gtar
- /bin/tar
Fichier de configuration de sudo
L'utilitaire sudo est un cas particulier, car sa configuration se trouve dans le fichier /etc/sudoers
.
Pour modifier ce fichier de configuration, il faut absolument utiliser l'éditeur visudo.
Lancement de l'éditeur de sudo.
[root@backuppc ~]# visudo
Erreur en modifiant le fichier /etc/sudoers avec visudo
Si vous avez fait une erreur lors de la modification du fichier, un message d'erreur de syntaxe s'affichera à la sortie de visudo et l'invite demandera ce que visudo devrait faire.
visudo: >>> /etc/sudoers: syntax error near line 15 <<< What now? Options are: (e)dit sudoers file again e(x)it without saving changes to sudoers file (Q)uit and save changes to sudoers file (DANGER!)
La meilleure réponse est “x”, sans guillemets, pour quitter visudo sans sauvegarder les changements apportés.
Réveil par le réseau (WOL)
À titre d'exemple, vous voulez être en mesure de réveiller une machine si la carte réseau de celle-ci possède l'option réveil par le réseau (Wake On Lan4).
Modifier la propriété sudo et ajouter la commande /sbin/ether-wake
.
config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake
Signaler le changement…
/etc/e-smith/events/actions/system-adjust
… puis ajoutez simplement un script, tel que ci-dessous, à votre commande de pré-sauvegarde ou à votre commande ping.
Prendre tout le contenu de l'encadré pour la commande.
#!/bin/sh # Set the mac address for each host host1_mac=<mac address> host1_name=<host name> host2_mac=<mac address> host2_name=<hmac addresshost namemac addresshost name> # How long does the host take to boot boottime=120 # Which interface to send the WoL packets out of interface=eth0 # Function to check if the host pings pingcheck() { ping -w 5 -c 2 $1 export pingstatus=$? } case $1 in host1) sudo etherwake -i $interface $host1_mac sleep $boottime pingcheck $host1_name exit $pingstatus ;; host2) sudo etherwake -i $interface $host2_mac sleep $boottime pingcheck $host2_name exit $pingstatus ;; *) echo "Unknown machine $1" exit 1 ;; esac
IMPORTANT Si vous utilisez l'usager administrateur admin par défaut, vous devrez utiliser le chemin complet pour les commandes ci-dessus.
Les scripts ne doivent pas être placés dans
/etc/BackupPC
car les autorisations seront remplacées. On peut les insérer dans notre répertoire de stockage de scripts: /var/lib/BackupPC/script
.
Configuration du gabarit linux-template
Description
BackupPC contient un gabarit pour les serveurs Linux: linux-template. Nous allons ajuster certains paramètres de ce gabarit de base.
Lorsque nous utiliserons ce gabarit pour créer une nouvelle machine pour le serveur hôte de BackupPC ou pour tout autre serveur Linux, il ne sera pas nécessaire de complètement la configurer, car le gabarit s'en aura chargé; il suffira d'ajuster seulement certains paramètres particuliers.
Paramètres de sauvegarde
Hôtes → linux-template → Modifier la configuration → Paramètres de sauvegarde.
DumpPreUserCmd
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
DumpPostUserCmd
Courriel
Horaire
$Conf{FillCycle} 1
Pour plus d'information, voir: FillCycle plus haut dans ce document.
$Conf{FullKeepCnt} 7
Pour plus d'information, voir: FullKeepCnt plus haut dans ce document.
FullAgeMax 180
Voir la section FullAgeMax plus haut dans ce document.
$BackupsDisable 1
On activera les sauvegardes seulement après la création d'une nouvelle machine.
BlackoutPeriods
Une ou plusieurs périodes d'interdiction peuvent être spécifiées. Aucune sauvegarde régulière (non manuelle) ne sera démarrée pendant l'une de ces périodes. Les paramètres hourBegin et hourEnd spécifient les heures à partir de minuit et weekDays est une liste des jours de la semaine où 0 est dimanche, 1 est lundi, etc.
Par défaut, les machines des serveurs Linux ont une période d'interdiction de 7.0 - 19.5 (07h00 - 19h30).
Xfer
XferLogLevel 0
0 signifie être calme, 1 donnera une ligne par fichier, 2 montrera également les fichiers sautés sur les incrémentielles. Des valeurs plus élevées donneront plus de résultats. Une verbosité de 8 servira pour le débogage.
S'assurer que Paramètres de Rsync → RsyncShareName débute bien à “ / ” (la racine du système de fichiers).
BackupFilesExclude
Nous n'utilisons pas MySQL mais certains serveurs pourraient l'utiliser. On détruit donc cette exclusion en cliquant Détruire et ainsi ce répertoire ne sera pas exclus des sauvegardes de BackupPC.
Voilà, notre gabarit linux-template est prêt à être utilisé pour la création
de la machine hôte de BackupPC ou pour tout autre Serveur NethServer.
Création d'une machine pour le serveur hôte
Pour le serveur roulant BackupPC, on crée un machine en utilisant le gabarit linux-template.
Création de la machine du serveur hôte
On clique Modifier les machines (le menu devient Modifier la configuration et l'onglet Machines s'affiche) → Ajouter pour l'ajout d'une nouvelle machine → on entre, sous host → 127.0.0.1=linux-template → et sous user → admin@micronator-101.org.
La nouvelle machine, hôte de BackupPC, a été crée.
On rafraîchit la page du navigateur puis, on clique Renvoyer.
Page d'accueil de la nouvelle machine
Sous Hôtes, on choisit le nom de notre nouvelle machine: 127.0.0.1 (192.168.1.33).
La page d'accueil s'affiche.
Vérification/ajustement de la configuration
Paramètres de sauvegarde
Courriel & Horaire
Vu que le serveur hôte de BackupPC ne sert qu'à faire des sauvegardes et qu'il n'est pas nécessaire de le sauvegarder à toutes les semaines (6.97 jours), nous pourrions ajuster FullPeriod pour une sauvegarde Complète mensuelle seulement, en spécifiant FullPeriod à 30.5 jours. Nous pourrions aussi ajuster IncrPeriod pour une sauvegarde Incrémentielle hebdomadaire seulement, en spécifiant IncrPeriod à 6.97 jours.
hourBegin & hourEnd
Horaire (suite), on ajuste hourBegin et hourEnd.
BackupsDisable s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.
Après avoir fait nos sauvegardes de test, on activera les sauvegardes automatiques en mettant BackupsDisable=0.
Nous ne voulons pas que le serveur se sauvegarde lui-même pendant qu'il sauvegarde un autre serveur. Vu que les machines des autres serveurs auront une période d'interdiction de 7 - 19.5, on change les valeurs par défaut et on spécifie 19.5 - 7 pour la machine hôte de BackupPC.
Xfer
XferLogLevel 0
0 signifie être calme, 1 donnera une ligne par fichier, 2 montrera également les fichiers sautés sur les incrémentielles. Des valeurs plus élevées donneront plus de résultats. Une verbosité de 8 servira pour le débogage.
RsyncShareName /
S'assurer que ce paramètre débute bien à “ / ” (la racine du système de fichiers).
BackupFilesExclude
Le gabarit par défaut linux-template exclut le répertoire
/var/lib/BackupPC
des sauvegardes.
Lorsqu'on sauvegarde le serveur hôte de BackupPC par lui-même, nous voulons inclure certains sous-répertoires de /var/lib/BackupPC
et en exclure d'autres.
On détruit donc l'exclusion complète de ce répertoire:
● Vis-a-vis /var/lib/BackupPC → Détruire.
On remplace l'exclusion complète par l'exclusion de seulement les répertoires ci-dessous. Ainsi, on gardera nos clés ssh, nos logs, nos scripts et nos configurations de BackupPC.
On clique Ajouter et on entre les répertoires:
- /var/lib/BackupPC/cpool
- /var/lib/BackupPC/lost+found
- /var/lib/BackupPC/mes_restaurations
- /var/lib/BackupPC/pc
- /var/lib/BackupPC/pool
- /var/lib/trash
On exclut aussi certains répertoires de configurations:
- /etc/sysconfig/network-scripts
Sert à la configuration des cartes réseaux qu'on voudra garder sur le serveur de DESTINATION.
- /boot
Sert pour la configuration de l'amorçage.
On exclut le fichier suivant:
- /etc/fstab
Sert pour le montage des disques qu'on voudra garder sur le serveur de DESTINATION.
Si on sauvegarde l'hôte de BackupPC à l'aide d'un autre serveur BackupPC, on n'exclut pas le répertoire
/var/lib/BackupPC
ni aucun de ses sous-répertoires.
Voilà, notre machine pour le serveur hôte de BackupPC est prête à être utilisée.
Tout est prêt pour notre première sauvegarde.
Sauvegarde du serveur hôte
Nous allons sauvegarder le Serveur NethServer roulant BackupPC et dont l'adresse IP est 127.0.0.1 (192.168.1.33).
Sauvegarde automatique
Si nous avons créé et configuré le serveur hôte de BackupPC en dehors de ses heures d'interdiction (voir le paragraphe hourBegin & hourEnd), au prochain réveil de BackupPC, il exécutera automatiquement une première sauvegarde Complète de lui-même, sans que nous ayons à faire quoi que ce soit, si BackupsDisable est à 0 (c.-à-d. sauvegardes automatiques activées).
C'est pour cette raison que nous avons mis BackupsDisable à 1 (sauvegardes automatiques désactivées) lors de la configuration du gabarit.
Clé SSH publique de BackupPC
Avant de faire quoi que ce soit, on téléverse la clé SSH de BackupPC afin d'éviter le problème de rejet de connexion lors de la sauvegarde.
Si on lance une sauvegarde sans que le serveur à sauvegarder ait reçu la clé SSH de BackupPC, le serveur distant pourrait bloquer les futures tentatives de connexion.
Explication du blocage des futures tentatives de connexion
Sans la clé SSH, téléversée sur le serveur à sauvegarder et qui permet à BackupPC de se connecter sans devoir utiliser un mot de passe, la sauvegarde tentera à plusieurs reprises de se connecter sans mot de passe et ainsi dépassera la limite de tentatives infructueuses de connexions fixée par le Serveur NethServer à sauvegarder.
Sans la clé SSH sur le serveur à sauvegarder, lors de toutes sauvegardes, BackupPC émettra l'erreur suivante:
Got fatal error during xfer (rsync error: unexplained error (code 255) at io.c(629) [Receiver=3.0.9.12]).
Tous nos Serveur NethServer ont le module Fail2Ban et après 3 tentatives de connexions infructueuses, il bannit l'adresse IP en question.
Téléversement de la clé SSH de BackupPC
Si nous n'avons pas déjà téléversé la clé SSH publique de BackupPC, on le fait obligatoirement maintenant.
On se substitue à l'usager backuppc.
[root@backuppc ~]# su -s /bin/bash backuppc bash-4.1$
On téléverse la clé SSH publique de BackupPC sur le client (localhost/127.0.0.1) afin que la sauvegarde puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion.
bash-4.2$ ssh-copy-id -p 2222 -i ~backuppc/.ssh/id_rsa.pub root@127.0.0.1 bash-4.2$ ssh-copy-id -p 2222 -i ~backuppc/.ssh/id_rsa.pub root@127.0.0.1 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/BackupPC/.ssh/id_rsa.pub" The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established. ECDSA key fingerprint is SHA256:9+bPJEyBWU7QPbS3rdI5CwoEMIffRtvD77sB79dEnSY. ECDSA key fingerprint is MD5:13:d3:cd:0d:9b:ec:f0:98:be:4a:5d:5c:df:b4:dc:c2. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@127.0.0.1's password: mot-de-passe-de-root-sur-le-serveur-hôte Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '2222' 'root@127.0.0.1'" and check to make sure that only the key(s) you wanted were added. bash-4.2$
On peut utiliser l'une ou l'autre des adresses IP: 127.0.0.1 ou 192.168.1.33.
On sort de la substitution d'usager.
bash-4.2$ exit exit [root@backuppc ~]#
Vérification du téléchargement de la clé publique
On ouvre une session PuTTY vers le Serveur NethServer hôte de BackupPC (192.168.1.33).
Ne pas utiliser l'adresse 127.0.0.1 car vous vous retrouveriez sur la station hôte de PuTTY.
On vérifie la présence de la clé publique de BackupPC.
[root@backuppc ~]# cat /root/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCuyZjkFyxAQFxBg734n06mjtIPSNRHuSMB+EfSqWvHZkrzuO/T+p1sSwcYiD4WNhWA4+5u+xWlAjFWPt4Ln3U2DkIGdW6KcWwgeylPGdYvUAQQ4+eTzIrpg/jzbM2OFl2VPg1sX43utrZDUkLpt8QN3hUBGDma/EYCpds7LY2eghIPXxlrC34DBcid4hymvrtirFEJuxCcafXIDmdzvuVGhQ8ubYE3Zw8AAgRss+6S+HmoAsiLl84OicnMr09SacNT9PFie5mbMjFZFKPCN/z3juIZIvYmO9RsexakRIEaiDUMlnEUJB3tE1tNpIOjdtvv3NwCfkqGIBNNupSJwIeeFYbumJBZN250LP+f/Jw5OVK9lfKYQmG8LAIXwfdlgaIvhU+QxO5PnhGDVc3dRiuunA7comtlWfffhxTTX9Dd9TqezNAbXhhaawPP9VNazZtxBvCA2vylG3Kqu+43vc5O/pK53vGu1IRCnt2M5QWSQwL/ef6McSvnh/I4lWHXZlXSDbE0ieiqq6IaU5R+Mo9UFv3X2/mfK5zX2l8bDeKsLaKTtg5yJE/SAmlIjlXh2K7ckTW9jbU4xTthXHCHnllYEpunmPE5JSDWG0zH4WBIrHm5giFTpjO478u2IqAm+7nCrr7Jue5NLqoNhJ0mq51sSq1YtLff662AOJEqz5xuvw=== RSA key for BackupPC automatic login [root@backuppc ~]#
Il n'y a pas de ligne vide avant le début de la ligne ssh-rsa AAAA…. Ci-dessus nous avons inséré une ligne vide pour faciliter la copie de la commande.
Sauvegarde "Complète" de l'hôte BackupPC
Espace disque et nombre d'inodes
Espace disque avant la sauvegarde
[root@backuppc ~]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/mapper/VolGroup-lv_root 22G 2,7G 19G 13% / devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 48K 1,9G 1% /dev/shm tmpfs 1,9G 8,8M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/sda1 1014M 221M 794M 22% /boot /dev/sdb1 22G 5,0M 22G 1% /var/lib/BackupPC tmpfs 379M 0 379M 0% /run/user/0 [root@backuppc ~]#
Nombre d'inodes avant la sauvegarde
[root@backuppc ~]# df -i Sys. de fichiers Inœuds IUtil. ILibre IUti% Monté sur /dev/mapper/VolGroup-lv_root 11270144 76954 11193190 1% / devtmpfs 482081 379 481702 1% /dev tmpfs 485058 8 485050 1% /dev/shm tmpfs 485058 624 484434 1% /run tmpfs 485058 16 485042 1% /sys/fs/cgroup /dev/sda1 524288 345 523943 1% /boot /dev/sdb1 15001600 66 15001534 1% /var/lib/BackupPC tmpfs 485058 1 485057 1% /run/user/0 [root@backuppc ~]#
Lancement de la sauvegarde
On retourne à la page 127.0.0.1 Accueil et on clique Démarrer la sauvegarde Complète.
Au retour à la page d'accueil, BackupPC nous informe du “début de la sauvegarde” → Fichier journal.
La page du journal nous indique que le répertoire de stockage des sauvegardes pour la machine 127.0.0.1 a été créé, que la sauvegarde a débutée et qu'elle a commencée dans le répertoire racine “ / ”.
L'utilitaire top
À la console du Serveur NethServer BackupPC, on peut lancer la commande top
pour voir les processus en cours.
[root@backuppc ~]# top -d 1
On voit que backuppc utilise peu de mémoire, mais un pourcentage très substantiel du temps CPU.
Fichier journal de la machine
Après quelques minutes et un rafraîchissement de la page du journal, BackupPC nous dit que la sauvegarde #0 est complétée.
Liste d'attente d'arrière plan
Lors d'une sauvegarde, la page d'acceuil pourrait afficher le message ci-dessous.
BackupPC est occupé par BackupPC_refCountUpdate qui vérifie le pool des références.
BackupPC_refCountUpdate est utilisé pour mettre à jour le nombre de références par sauvegarde et par hôte de même que le nombre de références à l'échelle du système. Il est utilisé par: BackupPC_dump, BackupPC_nightly, BackupPC_backupDelete, BackupPC_backupDuplicate et BackupPC_fsck.
Ci-dessous, il a pris 236 secondes.
... Xfer PIDs are now Executing DumpPostUserCmd: /usr/bin/ssh -l root 192.168.1.33 /sbin/e-smith/signal-event post-backup Running BackupPC_refCountUpdate -h 192.168.1.33 on 192.168.1.33 Xfer PIDs are now 2609 BackupPC_refCountUpdate: doing fsck on 192.168.1.33 #0 (full) since $ConfRefCntFsck === 1 BackupPC_refCountUpdate: host 192.168.1.33 got 0 errors (took 236 secs) Xfer PIDs are now Finished BackupPC_refCountUpdate (running time: 236 sec) Xfer PIDs are now ...
Examen de la sauvegarde
Lorsque la sauvegarde est terminée, la page d'accueil nous donne les différentes statistiques de cette sauvegarde.
Journaux de la sauvegarde
JournalXfer
Le JournalXfer nous indique les fichiers sauvegardés selon le paramètre XferLogLevel au paragraphe Xfer. Pour cette sauvegarde, le fichier journal est XferLOG.0.z.
● Le script pre-sauvegarde.sh a été exécuté.
● Les exclusions ont été prises en compte.
● Le script
post-sauvegarde.sh
a été exécuté.
● La mise à jour refCountUpdateItalique des pointeurs de fichier a pris 8 secondes.
Journal Erreurs
Le journal Erreurs nous indique le nombre d'erreurs encourus.
On peut remarquer que 74 097 fichiers ont généré 160 638 inodes.
Journal principal de BackupPC
Le journal principal de BackupPC contient tous les événements survenus.
Ce journal indique notre sauvegarde Complète du serveur 127.0.0.1.
... 2019-03-20 22:31:09 User admin requested backup of 127.0.0.1 (127.0.0.1) 2019-03-20 22:34:18 Started full backup on 127.0.0.1 (pid=8350, share=/) 2019-03-20 22:41:13 Finished full backup on 127.0.0.1 2019-03-20 23:00:00 Next wakeup is 2019-03-21 01:00:00 ...
Journal "messages" du Serveur NethServer
Les commandes pre-backup-config, pre-backup-data, post-backup-config et post-backup-data ont toutes été exécutées.
... Mar 20 22:31:10 backuppc esmith::event[8358]: Event: pre-backup-config ... Mar 20 22:31:34 backuppc esmith::event[8419]: Event: pre-backup-data ... Mar 20 22:40:33 backuppc esmith::event[9232]: Event: post-backup-config ... Mar 20 22:40:49 backuppc esmith::event[9259]: Event: post-backup-data ...
Espace disque et nombre d'inodes
Espace disque après la première sauvegarde
L'espace disque est passé de 4,6M à 1,7G.
[root@backuppc ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/main-root 6,8G 3,6G 2,8G 57% / tmpfs 1,9G 0 1,9G 0% /dev/shm /dev/md0 239M 77M 150M 34% /boot /dev/sdb1 17G 1,7G 15G 11% /var/lib/BackupPC [root@backuppc ~]#
Nombre d'inodes après la première sauvegarde
Le nombre d'inodes est passé de 67 à 201294.
[root@backuppc ~]# df -i Filesystem Size Used Avail Use% Mounted on /dev/mapper/main-root 456064 159191 296873 35% / tmpfs 490294 1 490293 1% /dev/shm /dev/md0 64000 54 63946 1% /boot /dev/sdb1 15005976 201294 14804682 2% /var/lib/BackupPC [root@backuppc ~]#
C'est ici qu'on voit l'utilisation du disque
/dev/sdb1
et du grand nombre d'inodes. Ce nombre s'explique par la création des liens et le stockage de la sauvegarde Complète.
XferLogLevel
On pourrait mettre XferLogLevel à 1 pour une très petite perte d'espace disque.
Attention: Il ne faut pas modifier la configuration d'une machine qui est en train de se faire sauvegarder, car on recevrait l'erreur suivante.
2019-03-03 11:35:44 full backup started for directory / 2019-03-03 11:39:29 Got fatal error during xfer (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11]) 2019-03-03 11:39:34 Backup aborted (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11])
Première sauvegarde Incrémentielle
→ Démarrer une sauvegarde Incrémentielle.
BackupPC indique que la sauvegarde a débutée puis, qu'elle est en cours.
Les 3 minutes écoulées entre le début 10:33 et la sauvegarde elle-même 10:36 ont été utilisées, par BackupPC_refCountUpdate, pour la création des liens vers la sauvegarde précédente #0.
La sauvegarde Incrémentielle est commencée.
La sauvegarde Incrémentielle est terminée.
Ci contre, on voit que la sauvegarde Incrémentielle a été fusionnée à la dernière sauvegarde Complète.
L'Incrémentielle a pris 3.3 minutes et a trouvé un delta de 143 fichiers d'une taille totale de 97.4 Mo.
Espace disque et nombre d'inodes
Espace disque après la première Incrémentielle
[root@backuppc ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/main-root 6,8G 3,7G 2,8G 57% / tmpfs 1,9G 0 1,9G 0% /dev/shm /dev/md0 239M 77M 150M 34% /boot /dev/sdb1 17G 1,8G 15G 11% /var/lib/BackupPC [root@backuppc ~]#
Nombre d'inodes après la première Incrémentielle
[root@backuppc ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/main-root 456064 159191 296873 35% / tmpfs 490294 1 490293 1% /dev/shm /dev/md0 64000 54 63946 1% /boot /dev/sdb1 15005976 302883 14703093 3% /var/lib/BackupPC [root@backuppc ~]#
L'Incrémentielle a fait passer les inodes de 201294 à 302883; 101589 nouveaux inodes ont été créés.
Dans BackupPC-4.x, la dernière sauvegarde, qu'elle soit Complète ou Incrémentielle, est toujours fusionnée.
L'Incrémentielle a sauvegardé un delta de 143 fichiers pour 97.4 Mo.
En réalité, BackupPC n'a pas “copié” la sauvegarde #0 (Complète) vers la sauvegarde #1 (Incrémentielle), mais il a créé des liens (inodes) dans la sauvegarde Incrémentielle vers la sauvegarde Complète, y a ajouté quelques inodes pour le delta en plus des quelques autres pour la création du répertoire et des sous-répertoires de la sauvegarde elle-même.
C'est ce qui explique le nombre d'inodes créés par la dernière sauvegarde Incrémentielle, car la dernière sauvegarde est toujours fusionnée.
Fusion
Comme l'affiche la page d'accueil, l'Incrémentielle #1 a été Fusionnée à la Complète #0.
La fusion est aussi démontrée ci-contre, par la grandeur de l'Incrémentielle 1.
Examen des fichiers
On peut afficher le contenu d'une sauvegarde en cliquant le numéro de celle-ci → “1”.
L'arborescence des fichiers de la sauvegarde est affichée.
Deuxième sauvegarde Incrémentielle
On lance une deuxième sauvegarde Incrémentielle.
BackupPC fusionne toutes les sauvegardes, car pour la machine 127.0.0.1, le paramètre FillCycle est à 1 indiquant de fusionner toutes les sauvegardes et de toujours les garder ainsi.
Restauration d'un fichier
Restauration vers le répertoire original
Si on veut restaurer un fichier particulier, on clique sur le numéro de la sauvegarde contenant le fichier à restaurer.
On se rend dans le répertoire du fichier en parcourant l'arborescence à gauche puis, à droite on coche la case des fichiers à restaurer.
→ Restaurer les fichiers sélectionnés.
On peut sélectionner le nombre de fichiers désirés sans aucun problème.
On vérifie les noms des fichiers à restaurer.
→ Démarrer la restauration.
On vérifie les chemins de la source et celui de la destination.
→ Restaurer.
La restauration a réussie, on retourne à la page d'accueil.
→ 127.0.0.1.
On affiche le fichier journal de la machine.
La restauration a été complétée. La variable 0 files ne tient compte que des fichiers créés et non de ceux qui ont été restaurés à l'emplacement original.
Voir la capture d'écran Visionner à la section Vérification pour la confirmation que le fichier de 1314 octets a bien été restauré.
À comparer avec la capture Succès à la section Restauration vers un répertoire différent lors de la restauration des mêmes fichiers, mais dans le répertoire /temp
.
À la page d'accueil, on peut voir un nouveau cadre: Résumé de la restauration. Cliquer le numéro de la Restauration #0 pour en afficher les détails.
Vérification
Erreur
Restauration vers un répertoire différent
On peut choisir un autre répertoire de destination:
/temp
pour la restauration.
→ Démarrer la restauration.
On retourne à la page d'accueil.
→ 127.0.0.1.
Vérification dans le Fichier journal de la machine.
Cette fois-ci, restauration de 2 files… parce que BackupPC a créé deux nouveaux fichiers.
Vérification manuelle.
[root@backuppc ~]# ls -als /temp/ total 8 0 drwxr-x--- 2 backuppc apache 57 19 mars 13:11 . 0 dr-xr-xr-x. 18 root root 236 11 janv. 12:28 .. 4 -r-xr-x--- 1 backuppc apache 506 18 mars 17:12 post-sauvegarde.sh 4 -r-xr-x--- 1 backuppc apache 515 18 mars 17:45 pre-sauvegarde.sh [root@backuppc ~]#
Nettoyage nocturne
Sauvegardes à conserver
Complètes
Dans la page de configuration, sous l'onglet Horaire, nous avons mis FillCycle à 1 qui implique de fusionner toutes les sauvegardes.
Nous avons aussi mis FullKeepCnt à 7 pour indiquer à BackupPC de ne garder que 7 sauvegardes Complètes, car les Incrémentielles fusionnées peuvent être considérées comme des Complètes.
● À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée et non plus si la sauvegarde d'origine était Complète ou Incrémentielle.
● Pour des raisons de compatibilité avec les anciennes versions, ce paramètre continue d'être appelé FullKeepCnt plutôt que FilledKeepCnt.
● La sauvegarde la plus récente (qui est toujours fusionnée) ne compte pas lors de la vérification de FilledKeepCnt.
●Avec ces paramètres, chaque fois qu'une sauvegarde fusionnée se termine avec succès, la plus ancienne est supprimée.
Incrémentielles
Nous avons indiqué de conserver un maximum de 6 Incrémentielles avec un minimum de 1.
Journal principal de BackupPC
Serveur → Fichier journal. Nous avons fait 1 Complète, 2 Incrémentielles et 2 restaurations.
... 2019-03-20 22:31:09 User admin requested backup of 127.0.0.1 (127.0.0.1) 2019-03-20 22:34:18 Started full backup on 127.0.0.1 (pid=8350, share=/) 2019-03-20 22:41:13 Finished full backup on 127.0.0.1 2019-03-20 23:00:00 Next wakeup is 2019-03-21 01:00:00 ... 2019-03-21 10:33:24 User admin requested backup of 127.0.0.1 (127.0.0.1) 2019-03-21 10:36:15 Started incr backup on 127.0.0.1 (pid=6348, share=/) 2019-03-21 10:37:00 Finished incr backup on 127.0.0.1 2019-03-21 11:00:01 Next wakeup is 2019-03-21 12:00:00 2019-03-21 11:50:59 User admin requested backup of 127.0.0.1 (127.0.0.1) 2019-03-21 11:51:41 Started incr backup on 127.0.0.1 (pid=11259, share=/) 2019-03-21 11:52:17 Finished incr backup on 127.0.0.1 2019-03-21 12:00:00 Next wakeup is 2019-03-21 13:00:00 2019-03-21 12:23:16 User admin requested restore to 127.0.0.1 (127.0.0.1) 2019-03-21 12:23:16 Started restore on 127.0.0.1 (pid=5459) 2019-03-21 12:23:17 Finished restore on 127.0.0.1 2019-03-21 12:49:30 User admin requested restore to 127.0.0.1 (127.0.0.1) 2019-03-21 12:49:31 Started restore on 127.0.0.1 (pid=7145) 2019-03-21 12:49:31 Finished restore on 127.0.0.1 ...
Résumés des sauvegardes/restaurations
Fermeture et amorçage du serveur BackupPC
Nous avons éteint le serveur BackupPC à 23:57:48.
... 2019-03-20 23:57:48 Got signal TERM... cleaning up (exit code = 0) ...
Le lendemain, nous avons amorcer le serveur BackupPC à 10:03:42.
Le prochain réveil de BackupPC se fera donc à 11:00:00.
... 2019-03-21 10:03:42 Reading hosts file 2019-03-21 10:03:42 BackupPC 4.3.0 (Perl v5.16.3) started, pid 3237 2019-03-21 10:03:43 Next wakeup is 2019-03-21 11:00:00 ...
Journal de la machine 127.0.0.1, hôte de BackupPC
● Nous avons 3 sauvegardes: 1 Complète et 2 Incrémentielles, toutes Fusionnées.
● FilledKeepCnt = 1 et FilledKeepCntMin = 1.
● La sauvegarde la plus récente #2 (qui est toujours fusionnées) ne compte pas lors de la vérification de FilledKeepCnt.
● À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée.
Nous pouvons affirmer que nous avons présentement: (3 - la plus récente) = 2 fusionnées. Nous n'avons donc aucune sauvegarde à nettoyer, car notre configuration spécifie de garder 7 sauvegardes fusionnées ou selon la nouvelle nomenclature pour la version BackupPC-4.x, 7 FilledKeepCnt.
Le nettoyage nocturne ne supprimera aucune sauvegarde fusionnée.
Nettoyage des anciennes sauvegardes
Pour démontrer le nettoyage nocturne, nous allons:
1) Configurer notre serveur hôte de BackupPC (127.0.0.1) pour ne conserver qu'une seule FullKeepCnt (FilledKeepCnt).
2) Réamorcer le serveur hôte.
3) Demander une nouvelle sauvegarde incrémentielle.
4) Vérifier le résultat.
Modification de la configuration de 127.0.0.1
Hôte → 127.0.0.1 → Modifier la configuration → onglet Horaire → FullKeepCnt → 1.
→ Sauvegarder.
Réamorçage du serveur hôte
À la console su serveur.
[root@backuppc ~]# reboot
Après le réamorçage, on examine le journal: Serveur → Fichier journal.
... 2019-03-21 14:47:36 admin a chang� FullKeepCnt dans host 127.0.0.1 config de [7] � [1] 2019-03-21 14:48:18 Got signal TERM... cleaning up (exit code = 0) 2019-03-21 14:48:52 Reading hosts file 2019-03-21 14:48:52 BackupPC 4.3.0 (Perl v5.16.3) started, pid 3201 2019-03-21 14:48:52 Next wakeup is 2019-03-21 15:00:00
BackupPC n'a encore rien nettoyé.
Nouvelle sauvegarde incrémentielle
→ Démarrer la sauvegarde incrémentielle.
Vérification
Après la sauvegarde incrémentielle, on examine le journal du serveur BackupPC:
Serveur → Fichier journal.
... 2019-03-21 14:56:14 User admin requested backup of 127.0.0.1 (127.0.0.1) 2019-03-21 14:59:30 Started incr backup on 127.0.0.1 (pid=4941, share=/) 2019-03-21 15:00:00 Next wakeup is 2019-03-21 16:00:00 2019-03-21 15:00:20 Finished incr backup on 127.0.0.1
On examine le journal de la machine de l'hôte de BackupPC, c.-à-d. 127.0.0.1.
Hôte → 127.0.0.1 → Fichier journal.
On voit qu'avant d'exécuter l'incrémentielle, BackupPC a supprimé la sauvegarde fusionnée #0 car:
- Il a examiné le paramètre FullKeepCnt qui est à 1.
- Il a calculé le nombre de sauvegardes fusionnées: (3 - la plus récente) = 2 fusionnées.
- Il en a déduit qu'il existait une sauvegarde fusionnée qui était de trop.
- Il a supprimé la plus ancienne, #0.
- Puis, il a débuté l'incrémentielle demandée.
Résulta final
La sauvegarde #0 a bien été supprimée et la nouvelle incrémentielle, #3 est terminée.
Hôtes → 127.0.0.1 → Modifier la configuration → onglet Horaire.
On remet en place notre configuration originale.
Activation des sauvegardes
Notre configuration fonctionne correctement. Nous pouvons maintenant activer les sauvegardes automatiques.
Hôtes -> 127.0.0.1 → Modifier la configuration → onglet Horaire.
Dans la section Suspension: BackupsDisable → 0.
→ Sauvegarder.
Les sauvegardes de l'hôte de BackupPC fonctionnent correctement.
Sauvegarde du serveur SOURCE
Diagramme réseau
Page Web
On affiche la page Web du serveur SOURCE: https://10.10.10.75.
Création de la machine SOURCE dans BackupPC
Nous allons créer une nouvelle machine dans BackupPC pour représenter le Serveur NethServer SOURCE.
● Nom du serveur: source.micronator-101.org
● Adresse IP: 10.10.10.75.
Nous utilisons des machines virtuelle sur un réseau privé, le DNS ne fonctionne pas, car nous n'avons aucun enregistrement DNS pour nos serveurs. Il nous faut donc utiliser les adresses IP des serveurs au lieu de leur nom d'hôte.
Si vous pouvez faire un ping en utilisant le nom FQDN de votre Serveur NethServer, vous pouvez alors utiliser ce nom pour la création de la machine dans BackupPC ci-dessous.
Nous utilisons le gabarit linux-template pour créer la nouvelle machine dans BackupPC.
- Modifier les machines → onglet Machines → Ajouter.
- host → 10.10.10.75=linux-template.
- user → admin@micronator-101.org.
- Sauvegarder.
On rafraîchit la page du fureteur → Renvoyer.
Page d'accueil
Sous Hôtes, on choisit le nom de notre nouvelle machine: 10.10.10.75.
La page d'accueil s'affiche.
Vérification de la configuration
BackupsDisable → 1 ⇒ désactivé, s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.
Vu que nous ne ferons que quelques sauvegardes manuelles de cette machine, plus tard, il ne sera pas nécessaire d'activer les sauvegardes automatiques.
Sur nos Serveurs NethServer en production, on activera les sauvegardes automatiques seulement après avoir vérifier une sauvegarde manuelle.
Xfer / BackupFilesExclude
Ajouter:
- /etc/sysconfig/network-scripts
- /boot
- /etc/fstab
→ Sauvegarder.
Tout est prêt pour la première sauvegarde Complète du Serveur NethServer SOURCE.
Téléversement de la clé SSH de BackupPC vers SOURCE
Sur le serveur hôte de BackupPC, on se substitue à l'usager backuppc.
[root@backuppc ~]# su -s /bin/bash backuppc bash-4.1$
On téléverse la clé publique de BackupPC vers le client SOURCE (10.10.10.75) afin que BackupPC puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion SSH.
bash-4.1$ ssh-copy-id -p 2222 -i ~backuppc/.ssh/id_rsa.pub root@10.10.10.75 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/BackupPC/.ssh/id_rsa.pub" The authenticity of host '[10.10.10.75]:2222 ([10.10.10.75]:2222)' can't be established. ECDSA key fingerprint is SHA256:9+bPJEyBWU7QPbS3rdI5CwoEMIffRtvD77sB79dEnSY. ECDSA key fingerprint is MD5:13:d3:cd:0d:9b:ec:f0:98:be:4a:5d:5c:df:b4:dc:c2. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@10.10.10.75's password:mot-de-passe-de-root-du-serveur-Source Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '2222' 'root@10.10.10.75'" and check to make sure that only the key(s) you wanted were added. bash-4.1$
Vérification
On vérifie le login sans mot de passe et la clé SSH de BackupPC stockée sur le serveur SOURCE.
bash-4.1$ ssh -p 2222 root@10.10.10.75 "cat /root/.ssh/authorized_keys" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCuyZjkFyxAQFxBg734n06mjtIPSNRHuSMB+EfSqWvHZkrzuO/T+p1sSwcYiD4WNhWA4+5u+xWlAjFWPt4Ln2U2DkIGdW6KcWwgeylPGdYvUAQQ4+eTzIrpg/jzbM2OFl2VPg1sX43utrZDUkLpt8QN3hUBGDma/EYCpds7LY2eghIPXxlrCe2DBcid4hymvrtirFEJuxCcafXIDmdzvuVGhQ8ubYE3Zw8AAgRss+6S+HmoAsiLl34OicnMr09SacNT9PFie5mbMjFZFKPCN/z3juIZIvYmO9RsexakRIEaiDUMlnEUJB3tE1tNpIOjdtvv3NwCfkqGIBNNupSJwIeeFYbumJBZN250LP+f/Jw5OVK9lfKYQmG8LAIXwfdlgaIvhU+QxO5PnhGDVc3dRiuunA7comtlWfffhxTTX9Dd9TqezNAbXhhaawPP9VNazZtxBvCA2vylG3Kqu+22vc5O/pK53vGu1IRCnt2M5QWSQwL/ef6McSvnh/I4lWHXZlXSDbE0ieiqq6IaU5R+Mo9UFv3X2/mfK5zX2l8bDeKsLaKTtg5yJE/SAmlIjlXh2K7ckTW9jbU4xTthXHCHnllYEpunmPE5JSDWG0zH4WBIrHm5giFTpjO478u2IqAm+7nCrr7Jue5NLqoNhJ0mq51sSq1YtLffse2AOJEqz5xuvw=== RSA key for BackupPC automatic login bash-4.1$
Les guillemets “ servent à faire exécuter une commande au serveur distant.
L'usager root s'est logué au serveur SOURCE sans mot de passe, le temps d'exécuter la commande
cat
qui a affiché le contenu du fichier "authorized_keys" du serveur 10.10.10.75.
Sur le serveur hôte, on vérifie la concordance des clés en affichant la clé publique de BackupPC stockée sur le serveur hôte.
bash-4.1$ cat /var/lib/BackupPC/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCuyZjkFyxAQFxBg734n06mjtIPSNRHuSMB+EfSqWvHZkrzuO/T+p1sSwcYiD4WNhWA4+5u+xWlAjFWPt4Ln2U2DkIGdW6KcWwgeylPGdYvUAQQ4+eTzIrpg/jzbM2OFl2VPg1sX43utrZDUkLpt8QN3hUBGDma/EYCpds7LY2eghIPXxlrCe2DBcid4hymvrtirFEJuxCcafXIDmdzvuVGhQ8ubYE3Zw8AAgRss+6S+HmoAsiLl34OicnMr09SacNT9PFie5mbMjFZFKPCN/z3juIZIvYmO9RsexakRIEaiDUMlnEUJB3tE1tNpIOjdtvv3NwCfkqGIBNNupSJwIeeFYbumJBZN250LP+f/Jw5OVK9lfKYQmG8LAIXwfdlgaIvhU+QxO5PnhGDVc3dRiuunA7comtlWfffhxTTX9Dd9TqezNAbXhhaawPP9VNazZtxBvCA2vylG3Kqu+22vc5O/pK53vGu1IRCnt2M5QWSQwL/ef6McSvnh/I4lWHXZlXSDbE0ieiqq6IaU5R+Mo9UFv3X2/mfK5zX2l8bDeKsLaKTtg5yJE/SAmlIjlXh2K7ckTW9jbU4xTthXHCHnllYEpunmPE5JSDWG0zH4WBIrHm5giFTpjO478u2IqAm+7nCrr7Jue5NLqoNhJ0mq51sSq1YtLffse2AOJEqz5xuvw=== RSA key for BackupPC automatic login bash-4.1$
Les clés coïncident. La clé a bien été téléversée sur le serveur SOURCE.
On vérifie encore une fois que root (sous backuppc) peut se loguer sur le serveur distant, sans mot de passe.
bash-4.1$ ssh -p 2222 root@10.10.10.75 Last login: Fri Mar 22 09:29:18 2019 ************ Welcome to NethServer ************ This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org *********************************************** [root@tchana ~]#
La connexion sans mot de passe a réussie. On se désengage de la connexion et on revient au serveur hôte de BackupPC.
[root@ tchana ~]# exit logout Connection to 10.10.10.75 closed. bash-4.1$
On sort de la substitution et on revient à l'usager root.
bash-4.1$ exit exit [root@backuppc ~]#
Sauvegarde du Serveur NethServer SOURCE
On lance la sauvegarde Complète du serveur SOURCE (10.10.10.75) de la même manière que celle du serveur BackupPC exécutée plus tôt.
Le Fichier journal de la machine SOURCE affiche les résultats de la sauvegarde Complète.
La page d'accueil de la machine du serveur SOURCE affiche tous les détails de la sauvegarde.
SOURCE contient un total de 95 360 fichiers pour un grandeur de 4 197.8 Mo.
Les Fichiers existants sont ceux trouvés dans la sauvegarde d'un autre Serveur NethServer, celle de 127.0.0.1, ils sont identiques à ceux de SOURCE et ainsi BackupPC crée des liens pour SOURCE pointant vers ces mêmes fichiers identiques appartenant à 127.0.0.1.
C'est ce qui explique que 13 419 fichiers ont une grandeur totale minime de 43.6 Mo (la grandeur des liens).
Seulement 16 928 nouveaux fichiers, exclusifs à SOURCE, ont été sauvegardés.
Incrémentielles du Serveur NethServer SOURCE
Première Incrémentielle
On lance la sauvegarde Incrémentielle de la même manière que celle du serveur hôte de BackupPC plus tôt.
L'Incrémentielle est terminée.
L'Incrémentielle a été fusionnée.
Sur la page d'accueil, les détails de la sauvegarde Incrémentielle #1 sont affichés.
Deuxième Incrémentielle
On peut aussi faire une deuxième Incrémentielle pour voir ce qui se passera.
Les deux Incrémentielles sont toutes deux fusionnées.
Sur la page d'accueil, les détails de toutes les sauvegardes sont affichés.
Tout s'est bien passé. On est prêt pour une restauration Complète
du serveur SOURCE vers le serveur DESTINATION.
Restauration de Source sur Destination
Diagramme réseau
Serveur DESTINATION sur réseau LOCAL, notre cas pour ce cahier.
Serveur DESTINATION sur réseau distant.
Advenant le cas où le Serveur NethServer est distant et que l'accès SSH est publique, il n'y a aucun problème pour la restauration pourvu que root puisse établir une connexion SSH au serveur distant.
Dernière sauvegarde de SOURCE
La dernière sauvegarde porte le #2. On se servira de ce numéro pour générer le fichier TAR de cette sauvegarde au paragraphe Création du fichier TAR.
Cette sauvegarde est de Type Incrémentielle mais Fusionnée; c'est à dire qu'elle contient aussi des liens vers les fichiers de la dernière Complète.
Cette sauvegarde n'a pas sauvegardé les répertoires:
● /etc/sysconfig/network-scripts
● /boot
et le fichier
● /etc/fstab.
Le répertoire /etc/sysconfig/network-scripts
sert à la configuration des cartes réseau. Vu que SOURCE et DESTINATION pourraient avoir des configurations réseau très différentes, les adresses MAC des cartes réseau de SOURCE et de DESTINATION ne seront pas les mêmes. Il est conseillé de ne pas inclure ce répertoire dans la sauvegarde de SOURCE afin de ne pas écraser celui de DESTINATION lors de la restauration.
Le répertoire /boot
et le fichier /etc/fstab
contiennent tout ce qui est nécessaire pour le montage des disques et l'amorçage du système; le serveur DESTINATION est fonctionnel, il ne faut donc pas écraser cette configuration.
Création du fichier TAR de la sauvegarde
Connexion au serveur BackupPC
Si nous n'avons pas de session PuTTY ouverte vers l'hôte BackupPC, on en ouvre une et on se logue.
login as: root root@10.10.10.33's password: mot-de-passe-de-root Last login: Thu Mar 21 14:48:13 2019 ************ Welcome to NethServer ************ This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org *********************************************** [root@backuppc ~]#
Répertoire de stockage des fichiers TAR
Sur le serveur BackupPC en tant qu'usager root, on crée le répertoire de stockage de nos futurs fichiers TAR qui serviront pour les restaurations complètes.
[root@backuppc ~]# mkdir /var/lib/BackupPC/mes_restaurations [root@backuppc ~]#
On ajuste le propriétaire et le groupe.
[root@backuppc ~]# chown backuppc:apache /var/lib/BackupPC/mes_restaurations/ [root@backuppc ~]#
On ajuste les droits.
[root@backuppc ~]# chmod 700 /var/lib/BackupPC/mes_restaurations/ [root@backuppc ~]#
On vérifie.
root@backuppc ~]# ls -lsd /var/lib/BackupPC/mes_restaurations/ 1 drwx------ 2 backuppc apache 1024 22 mars 16:23 /var/lib/BackupPC/mes_restaurations/ [root@backuppc ~]#
Création du fichier TAR
BackupPC_tarCreate
L'utilitaire BackupPC_tarCreate
crée un fichier TAR contenant tous les fichiers et répertoires d'une sauvegarde particulière. La fusion des Incrémentielles se fait automatiquement, vous n'avez donc pas à vous soucier de savoir si certains fichiers apparaissent dans la sauvegarde Incrémentielle ou dans la Complète.
Les fichiers et répertoires de la ligne de commande sont relatifs au nom du partage spécifié.
Les options -h, -n et -s spécifient quelle sauvegarde est utilisée pour générer l'archive TAR. Les options -r et -p peuvent être utilisées pour déplacer les chemins dans l'archive TAR afin que les fichiers extraits puissent être versés dans un emplacement différent de leur emplacement d'origine.
BackupPC_tarCreate [options] fichiers/répertoires... Options obligatoires: -h host hôte à partir duquel l'archive TAR est créée -n dumpNum numéro de la sauvegarde à partir de laquelle l'archive TAR est créée Un nombre négatif signifie par rapport à la fin (par exemple, -1 signifie la sauvegarde la plus récente, -2 la 2ème plus récente etc). -s shareName nom du partage à partir duquel l'archive TAR est créée Other options: -t affiche un résumé des totaux -r pathRemove préfixe du chemin qui sera remplacé par pathAdd -p pathAdd préfixe du nouveau chemin -b BLOCKS BLOCKS x 512 octets par enregistrement (20 par défaut, identique à tar) -w writeBufSz taille du tampon d'écriture (1048576 = 1 Mo par défaut) -e charset jeu de caractères pour l'encodage des noms de fichiers (par défaut: la valeur de $Conf{ClientCharset} utilisée lorsque la sauvegarde a été effectuée) -l affiche la liste des fichiers; ne génère pas d'archive TAR -L affiche la liste détaillée des fichiers; ne génère pas d'archive TAR
On se substitue à l'usager backuppc.
[root@backuppc ~]# su - backuppc -s /bin/sh -sh-4.1$
On vérifie.
-sh-4.1$ whoami backuppc -sh-4.1$
On se rend dans le répertoire de stockage.
-sh-4.1$ cd /var/lib/BackupPC/mes_restaurations/ -sh-4.1$
On vérifie.
-sh-4.1$ pwd /var/lib/BackupPC/mes_restaurations -sh-4.1$
On crée le fichier TAR de la sauvegarde numéro 2 du serveur hôte 10.10.10.75.
Peut prendre un certain temps; être patient!
-sh-4.1$ /usr/share/BackupPC/bin/BackupPC_tarCreate -h 10.10.10.75 -n 2 -s / / > source-75-2.tar -sh-4.1$
On vérifie.
-sh-4.1$ ls -ls 4366862 -rw-rw-r-- 1 backuppc backuppc 4471664640 22 mars 16:34 source-75-2.tar -sh-4.1$
Le fichier TAR de la sauvegarde a été créé. Nous sommes prêt pour la restauration.
Préparation du serveur DESTINATION
On ouvre une session PuTTY vers le serveur DESTINATION.
On entre les informations demandées, on sauvegarde cette configuration et on ouvre la session. On accepte la clé SSH et on se logue au serveur DESTINATION.
login as: root root@10.10.10.66's password: mot-de-passe-de-root-de-DESTINATION Last login: Fri Mar 22 16:58:12 2019 from 10.10.10.81 ************ Welcome to NethServer ************ This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org *********************************************** [root@destination ~]#
Nous sommes dans le répertoire personnel de root sur DESTINATION.
[root@destination ~]# pwd /root [root@destination ~]#
Vérification du répertoire /var/www/html/
On vérifie que le répertoire /var/www/html/
soit vide afin que son contenu n'entre pas en conflit avec celui qu'on restaurera.
[root@destination ~]# ls -als /var/www/html/ total 4 0 drwxr-xr-x. 3 root root 43 Mar 22 15:02 . 0 drwxr-xr-x. 4 root root 33 Jan 18 20:25 .. 4 -rw-r--r-- 1 root root 170 Feb 16 03:15 index.html 0 drwxr-xr-x. 3 root root 28 Jan 18 20:26 .well-known [root@destination ~]#
Le répertoire .well-known
fait partie de l'installation standard de NethServer. Il est utilisé pour stocker les défis de Let's Encrypt.
Le fichier index.html
a été créé pour faire un test de fonctionnement de la page Web.
Il faut supprimer ce fichier car il entrerait en conflit avec index.php
de WordPress.
[root@destination ~]# rm /var/www/html/index.html rm: remove regular file ‘/var/www/html/index.html’? y [root@destination ~]#
Si ce répertoire contient d'autres fichiers ou d'autres sous-répertoires que
.well-known
, il faut tous les supprimer, car ils pourraient entrer en conflit avec avec ceux de la restauration par BackupPC.
Mise à jour de DESTINATION
Avant la restauration, il est préférable de mettre à jour le serveur DESTINATION. Le répertoire /boot du serveur SOURCE n'étant pas inclus dans la sauvegarde, cette mise à jour avant la restauration installera sur DESTINATION le dernier noyau Linux s'il y a lieu.
Afin de ne pas avoir de problèmes avec la mise à jour, on installe le RPM jq qui fait en sorte d'éliminer certaines erreurs du module Software Center qui n'est, pour le moins que l'on puisse dire et resté poli, pas du tout mature techniquement. Voir la discussion à l'URL: https://community.nethserver.org/t/howto-update-nethserver-correctly-via-cli/10615/10.
[root@destination ~]# yum install -y jq ... Transaction Summary ============================================================================================ Install 1 Package (+1 Dependent package) Total download size: 282 k Installed size: 906 k ... Install 1 Package (+1 Dependent package) Total download size: 282 k Installed size: 906 k Downloading packages: ... Installed: jq.x86_64 0:1.5-1.el7 Dependency Installed: oniguruma.x86_64 0:5.9.5-3.el7 Complete! [root@destination ~]#
[root@destination ~]# yum -y --enablerepo=nethserver-updates clean metadata Loaded plugins: changelog, fastestmirror, nethserver_events Cleaning repos: base centos-sclo-rh centos-sclo-sclo epel extras nethforge nethserver-base : nethserver-updates updates 41 metadata files removed 24 sqlite files removed 0 metadata files removed [root@destination ~]#
On garde cette session ouverte, car nous devrons l'utiliser pour envoyer la commande de post-restauration au paragraphe Commande restore-config.
On se connecte à l'interface Web de DESTINATION: https://IP-de-DESTINATION:980.
Tout est en place pour la restauration.
Arrêt du serveur SOURCE
Il faut absolument que le serveur SOURCE soit éteint avant de lancer la commande de post-restauration sur DESTINATION, car si SOURCE roule encore lors du réamorçage de DESTINATION, des conflits de noms de serveurs seront détectés.
Restauration
On retourne à l'écran de la session PuTTY, ouverte au début de ce document, vers le serveur hôte de BackupPC.
On se substitue à l'usager backuppc.
[root@backuppc ~]# su - backuppc -s /bin/sh sh-4.1$
On vérifie.
sh-4.1$ whoami backuppc sh-4.1$
On se rend dans le répertoire de stockage des restaurations.
sh-4.1$ cd /var/lib/BackupPC/mes_restaurations/ sh-4.1$
On vérifie.
sh-4.1$ pwd /var/lib/BackupPC/mes_restaurations sh-4.1$
Clé SSH
Qui suis-je?
sh-4.2$ whoami backuppc sh-4.2$
Où suis-je?
sh-4.2$ pwd /var/lib/BackupPC/mes_restaurations sh-4.2$
On téléverse la clé publique de BackupPC sur le serveur DESTINATION.
Si nous ne nous sommes jamais connecté sur DESTINATION depuis le serveur hôte de BackupPC, il nous sera demandé si on veut continuer; on répond yes.
sh-4.1$ ssh-copy-id -p 2222 -i ~backuppc/.ssh/id_rsa.pub root@10.10.10.66 /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/BackupPC/.ssh/id_rsa.pub" The authenticity of host '[10.10.10.66]:2222 ([10.10.10.66]:2222)' can't be established. ECDSA key fingerprint is SHA256:mPoSgZ0BeE9AGSVRzVWORFFJu+GL4rbgw3H6VnabDHg. ECDSA key fingerprint is MD5:2a:1a:56:99:fd:47:3f:87:f4:84:75:7d:04:5b:2c:ca. Are you sure you want to continue connecting (yes/no)? yes /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@10.10.10.66's password: mot-de-passe-de-root-sur-Destination Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '2222' 'root@10.10.10.66'" and check to make sure that only the key(s) you wanted were added. -sh-4.2$
Vérification de la connexion sans mot de passe.
-sh-4.1$ /usr/bin/ssh -p2222 root@10.10.10.66 Last login: Fri Mar 22 16:43:18 2019 from 10.10.10.33 ************ Welcome to NethServer ************ This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org *********************************************** [root@destination ~]#
La connexion sans mot de passe fonctionne correctement.
On termine la connexion sans mot de passe et on retourne au serveur hôte de BackupPC.
[root@destination ~]# exit logout Connection to 10.10.10.66 closed. -sh-4.2$
Commande de restauration
On envoie à DESTINATION la commande de changer de répertoire et d'extraire le fichier TAR qu'on lui envoie. Peut prendre un certain temps; de quelques minutes à plusieurs heures… être très patient!
sh-4.2$ ssh -p 2222 root@10.10.10.66 "cd / && /bin/tar -xv" < source-75-2.tar ... ./var/www/html/wp-snapshots/tmp/ /bin/tar: Arrêt avec code d'échec à cause des erreurs précédentes -sh-4.2$
On peut ignorer ce message de
/bin/tar
, car après avoir reçu le fichier source-75-2.tar
, TAR essaie d'extraire l'invite -sh-4.2$
de la dernière ligne reçue comme si c'était un fichier à extraire.
Commande restore-config
Référence: http://docs.nethserver.org/projects/nethserver-devel/en/latest/nethserver-backup-config.html#restore.
On retourne à la session PuTTY ouverte lors de la Préparation du serveur DESTINATION.
On restaure la configuration originale de SOURCE sur DESTINATION.
[root@destination ~]# /sbin/e-smith/restore-config --no-reinstall Restore config started Event pre-restore-config: SUCCESS Action restore-config-execute: SUCCESS Too few arguments.
Attendre l'écran surgissant ci-contre.
Peut prendre plusieurs dizaines de minutes, être patient.
On ferme cet écran: → OK.
On ferme l'écran PuTTY connecté à 10.10.10.66, car après la commande restore-config
, l'adresse IP de DESTINATION a été remplacée par l'originale de SOURCE: 10.10.10.75 de même que le nom du serveur qui devient celui du serveur SOURCE, c.-à-d. tchana.
Réamorçage
On ouvre une session PuTTY pour se connecter à la nouvelle adresse IP de DESTINATION: 10.10.10.75.
login as: root root@10.10.10.75's password: mot-de-passe-de-root-de-SOURCE ... [root@tchana ~]#
Depuis cette nouvelle connexion, on lance la commande de réamorçage de DESTINATION.
[root@tchana ~]# reboot
Après le lancement de la commande, l'écran surgissant ci-contre est affiché, car la connexion a été fermée suite à la commande
reboot
.
Le réamorçage du serveur DESTINATION peut prendre un certain temps car il lui faut réinitialiser plusieurs paramètres.
Être patient.
Post restauration
Ajustement du démon NTP
DESTINATION a maintenant la configuration de SOURCE de même que tous ses paquetages. Il faut déclencher nethserver-ntp-update
comme si on venait de mettre à jour ces paquetages.
On ouvre une nouvelle session PuTTY pour se connecter à DESTINATION: 10.10.10.75.
login as: root root@10.10.10.75's password: mot-de-passe-de-root-de-SOURCE ... [root@tchana ~]#
On signale au démon NTP de redémarrer tous ses services.
[root@tchana ~]# /sbin/e-smith/signal-event nethserver-ntp-update [root@tchana ~]#
On vérifie que la commande a bien été exécutée.
[root@tchana ~]# cat /var/log/messages | grep 'nethserver-ntp-update' | tail -1 Mar 24 20:04:59 tchana esmith::event[5186]: Event: nethserver-ntp-update SUCCESS [root@tchana ~]#
Redémarrage de tous les services
Pour développer tous les modèles et redémarrer les services pertinents sans redémarrage, on peut utiliser la commande suivante; prend plusieurs secondes…
[root@tchana ~]# /etc/e-smith/events/actions/system-adjust [root@tchana ~]#
ClamAV
On examine le journal messages
et on s'aperçoit que la BD de ClamAV n'est pas à date.
... tchana clamd: LibClamAV Warning: ************************************************** tchana clamd: LibClamAV Warning: *** The virus database is older than 7 days! *** tchana clamd: LibClamAV Warning: *** Please update it as soon as possible. *** tchana clamd: LibClamAV Warning: ************************************************** ...
Mise à jour de la BD de ClamAV.
[root@tchana ~]# freshclam ClamAV update process started at Mon Apr 1 17:13:02 2019 WARNING: Your ClamAV installation is OUTDATED! WARNING: Local version: 0.101.1 Recommended version: 0.101.2 DON'T PANIC! Read https://www.clamav.net/documents/upgrading-clamav main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr) Downloading daily-25388.cdiff [100%] ... Downloading daily-25406.cdiff [100%] daily.cld updated (version: 25406, sigs: 1538928, f-level: 63, builder: raynman) bytecode.cvd is up to date (version: 328, sigs: 94, f-level: 63, builder: neo) Database updated (6105271 signatures) from database.clamav.net (IP: 104.16.219.84) [root@tchana ~]#
Mise à jour de DESTINATION
Il s'est écoulé un certain temps depuis la sauvegarde de SOURCE et maintenant son clone DESTINATION a peut-être besoin d'une mise à jour.
On vérifie que le RPM jq
est installé.
[root@tchana ~]# rpm -qa | grep jq jq-1.5-1.el7.x86_64 [root@tchana ~]#
On nettoie les référentiels.
[root@tchana ~]# yum -y --enablerepo=nethserver-updates clean metadata Loaded plugins: changelog, fastestmirror, nethserver_events Cleaning repos: base centos-sclo-rh centos-sclo-sclo epel extras nethforge nethserver-base : nethserver-updates updates 40 metadata files removed 22 sqlite files removed 0 metadata files removed [root@tchana ~]#
On se connecte à l'interface Web de DESTINATION: https://Nouvelle-IP-de-DESTINATION:980.
Si vous recevez le message ci-contre, il vaut mieux essayer une mise à jour à la console du serveur.
On nettoie les référentiels.
[root@tchana ~]# yum -y --enablerepo=nethserver-updates clean metadata Loaded plugins: changelog, fastestmirror, nethserver_events Cleaning repos: base centos-sclo-rh centos-sclo-sclo epel extras nethforge nethserver-base : nethserver-updates updates 40 metadata files removed 22 sqlite files removed 0 metadata files removed [root@tchana ~]#
On lance la commande de mise à jour.
[root@tchana ~]# yum update -y ... Résumé de la transaction ============================================================================================ Installation 1 Paquet Mettre à jour 35 Paquets Taille totale : 95 M ... Mise à jour : libuuid-2.23.2-59.el7_6.1.x86_64 1/71 ... Vérification : tuned-2.10.0-6.el7.noarch 71/71 ... Installé : kernel.x86_64 0:3.10.0-957.10.1.el7 Mis à jour : NetworkManager.x86_64 1:1.12.0-10.el7_6 ... xfsprogs.x86_64 0:4.5.0-19.el7_6 Terminé ! [root@tchana ~]#
Vérification du site Web de DESTINATION
On se rend sur le site Web du serveur DESTINATION
https://www.micronator-dev.org.
Victoire totale, hissons la bannière de la victoire.
Crédits
© 2018-2019 RF-232
Auteur: Michel-André CLP.
Remerciement: Tous les contributeurs GNU/GPL.
Intégré par: Michel-André Robillard CLP.
Contact: michelandre at micronator.org
Répertoire de ce document: E:\000_DocPourRF232_general\RF-232_NethServer\RF-232_Cours_NethServer-101_Cahier-11_BackupPC_2019-08-02_22h39.odt
Historique des modifications:
Version | Date | Commentaire | Auteur |
---|---|---|---|
0.0.1 | 2018-03-05 | Début. | Michel-André |
0.0.2 | 2018-05-14 | - Désactivation des sauvegardes pour tous les gabarits des machines, en changeant pour BackupsDisable=1 sous l'onglet Horaire, car pourrait débuter une sauvegarde avant que la configuration des nouvelles machines soit totalement terminée. - Mise à jour de la restauration vers Destination. - Ajout de la vérification des cartes réseau pour le serveur de Destination. | Michel-André |
0.0.3 | 2018-08-07 | Coquilles dans “Création d'une machine pour le serveur hôte” | Michel-André |
0.1.0 | 2018-09-18 | Révision complète. | Michel-André |
0.2.0 | 2019-03-16 | Adaptation pour NethServer-7.6.1810. | Michel-André |
0.2.1 | 2019-04-23 | Corrections mineures. | Michel-André |
0.3.0 | 2019-08-01 | Ajustements pour DokuWiki. | Michel-André |
12345678901 | 12345678901 |
<html><hr style=“width:50%; margin: 0 auto;”></html>
AVIS DE NON-RESPONSABILITÉ
Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce document sont fournis sans engagement et peuvent être modifiés à tout moment. RF‑232 n'offre aucune garantie quant à l'actualité, la conformité, l'exhaustivité, la qualité et la durabilité des informations, contenus et fonctionnalités de ce document. L'accès et l'utilisation de ce document se font sous la seule responsabilité du lecteur ou de l'utilisateur.
RF‑232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages directs ou indirects, ainsi que des dommages consécutifs résultant de l'accès ou de l'utilisation de ce document ou de son contenu.
Chaque internaute doit prendre toutes les mesures appropriées (mettre à jour régulièrement son logiciel antivirus, ne pas ouvrir des documents suspects de source douteuse ou non connue) de façon à protéger le contenu de son ordinateur de la contamination d'éventuels virus circulant sur la Toile.
Toute reproduction interdite Vous reconnaissez et acceptez que tout le contenu de ce document, incluant mais sans s’y limiter, le texte et les images, sont protégés par le droit d’auteur, les marques de commerce, les marques de service, les brevets, les secrets industriels et les autres droits de propriété intellectuelle. Sauf autorisation expresse de RF-232, vous acceptez de ne pas vendre, délivrer une licence, louer, modifier, distribuer, copier, reproduire, transmettre, afficher publiquement, exécuter en public, publier, adapter, éditer ou créer d’oeuvres dérivées de ce document et de son contenu.
Avertissement
Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.
Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.
Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059.
Note: La fonction réveil par le réseau permet, à l'aide d'un serveur, d'effectuer des travaux de télémaintenance sur des ordinateurs personnels, lorsque leurs utilisateurs sont absents et qu'ils ont fermé leurs appareils.
Référence:http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856. )