Difference between revisions of "SME-101.09: Supplément: SME & BackupPC-4.2"

From SME Server
Jump to navigationJump to search
m (Michelandre moved page BackupPC-4.2 to SME-101.09: Supplément: SME & BackupPC-4.2: Pour être intégré dans Cours SME-101)
(GA-1.0.0 // Ajuster les liens pour le paragraphe Cours SME-101 // vérification de tous les liens // ajustement de mise en page // petites corrections. // 2018-11-09 @ 16h42 HNE)
Line 5: Line 5:
 
= Description générale =
 
= Description générale =
  
Cette marche à suivre décrit: l'installation de BackupPC-4.2, les sauvegardes de l'hôte de BackupPC et du serveur SOURCE et enfin la restauration de la sauvegarde complète du Serveur SME '''''SOURCE''''' sur le Serveur SME '''''DESTINATION''''' pour que ce dernier devienne un clone du premier.
+
Ce Cahier-9 du Cours SME-101 décrit: l'installation de BackupPC-4.2, les sauvegardes de l'hôte de BackupPC et du serveur SOURCE et enfin la restauration de la sauvegarde complète du Serveur SME '''''SOURCE''''' sur le Serveur SME '''''DESTINATION''''' pour que ce dernier devienne un clone du premier.
  
 
* Ce document est basé sur la contribution: https://wiki.contribs.org/BackupPC et le bogue https://bugs.contribs.org/show_bug.cgi?id=10514.
 
* Ce document est basé sur la contribution: https://wiki.contribs.org/BackupPC et le bogue https://bugs.contribs.org/show_bug.cgi?id=10514.
Line 15: Line 15:
 
BackupPC est un logiciel de sauvegarde de systèmes 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.
 
BackupPC est un logiciel de sauvegarde de systèmes 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.
  
= Prérequis =
 
'''Serveur SME-9.2'''
 
  
* Pour l'installation d'un Serveur SME-9.2, voir: https://www.micronator.org/affaires/produit/micronator-101-cahier-2installation-dun-serveur-sme/.
+
=== But final de ce cahier ===
* Le Cahier-2 ''(gratuit)'' du cours Micronator-101 décrit aussi l'installation de VirtualBox et la création d'une machine virtuelle SME-9.2.
 
* Installation des dernières mises à jour SME-9.2.
 
  
'''Disque de sauvegarde'''
+
Le but final est de migrer le serveur '''<span style="color:purple">SOURCE</span>''' vers le serveur '''<span style="color:purple">DESTINATION</span>'''.
  
* Disque de sauvegarde: un volume dédié est recommandé ''(peut être un simple disque unique ou des disques en RAID)''.
+
* '''<span style="color:purple">BackupPC</span>''' est le serveur qui roulera BackupPC et qui entreposera les sauvegardes sur son deuxième disque.
  
'''Logiciels prérequis'''
+
* '''<span style="color:purple">SOURCE</span>''' est le Serveur SME-9.2 dont on fera une sauvegarde Complète et deux Incrémentielles.
  
* Le Cahier-1 ''(gratuit)'' du cours Micronator-101 décrit l'installation et la configuration des logiciels prérequis sur le poste de travail de l'Étudiant: https://www.micronator.org/affaires/produit/micronator-101-cahier-1installations-configurationsdes-logiciels-prerequis/.
+
* '''<span style="color:purple">DESTINATION</span>''' est un Serveur SME-9.2 sur lequel on restaurera la sauvegarde du serveur '''<span style="color:purple">SOURCE</span>''' et ainsi il en deviendra un clone parfait.
  
'''Machine virtuelle'''
+
* '''<span style="color:purple">Micronator-101.org</span>''' est un Serveur SME-9.2 qui sert de pare-feu et de passerelle Internet pour tout le réseau.
 +
 
 +
[[Image:001-BPC-ButFinal.png|center|700px]]
  
Ce document utilise des machines virtuelles roulant SME-9.2 sous VirtualBox. La marche à suivre pour l'installation de BackupPC sur un Serveur SME physique est exactement la même.
 
  
= Installation =
+
=== Cours SME-101 ===
=== Environnement ===
 
  
* '''<span style="color:purple">BackupPC</span>''' est le serveur qui roulera BackupPC et qui entreposera les sauvegardes sur son deuxième disque.
+
'''''But final du cours SME-101'''''
  
* '''<span style="color:purple">SOURCE</span>''' est le Serveur SME-9.2 dont on fera une sauvegarde Complète et deux Incrémentielles.
+
Après avoir suivi le cours '''''SME-101''''', l'Étudiant possédera un site de Commerce en ligne fiable et hautement sécuritaire. De plus, il pourra utiliser un clone de son site, sur un Serveur SME virtuel sur sa station de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de son site en ligne.
  
* '''<span style="color:purple">DESTINATION</span>''' est un Serveur SME-9.2 sur lequel on restaurera la sauvegarde du serveur '''<span style="color:purple">SOURCE</span>''' et ainsi il en deviendra un clone parfait.
 
  
* '''<span style="color:purple">Micronator-101.org</span>''' est un Serveur SME-9.2 qui sert de pare-feu et de passerelle Internet pour tout le réseau.
+
[[Image:SME-101-ButFinal.png|top|center|700px]]
  
* But final: migrer le serveur '''<span style="color:purple">SOURCE</span>''' vers le serveur '''<span style="color:purple">DESTINATION</span>'''.
 
  
 +
'''''Documentation'''''
  
[[Image:001-BPC-ButFinal.png|center|700px]]
+
Le cours '''''SME-101''''', se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:
  
===Serveur BackupPC ===
+
* '''Cahier-00''': Les bases de Linux, [https://wiki.contribs.org/SME-101.00_Linux_de_base SME-101.00 Linux de base].
Une machine virtuelle, sous VirtualBox, roulant un Serveur SME-9.2. La marche à suivre pour l'installation sur un Serveur SME physique est exactement la même.
+
* '''Cahier-01''': Installation et configuration des logiciels prérequis sur le poste de travail de l'Étudiant de même que le téléchargement des fichiers qui seront installés sur le Serveur SME virtuel, [https://wiki.contribs.org/SME-101.01_Logiciels_de_la_station_de_travail SME-101.01 Logiciels de la station de travail].
 +
* '''Cahier-02''': Description du parcours des paquets IP du Serveur SME vers l'Internet, création de la machine virtuelle, installation/configuration du serveur Linux SME et enfin, sauvegarde/restauration de ce dernier, [https://wiki.contribs.org/SME-101.02_Serveur_SME SME-101.02 Serveur SME].
 +
* '''Cahier-03''': Abonnement à un FAI, installation et configuration d'un modem ADSL/VDSL, création d'un domaine chez un fournisseur de Service DNS dynamique avec installation d'un script pour sa mise à jour et enfin la marche à suivre pour l'obtention et la configuration d'un domaine FQDN<ref name="ftn30"> '''FQDN''': Dans le DNS, un <u>F</u>ully <u>Q</u>ualified <u>D</u>omain <u>N</u>ame ''(FQDN, ou nom de domaine complètement qualifié)'' est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.'''<br/> '''''Référence'': [https://fr.wikipedia.org/wiki/Fully_qualified_domain_name https://fr.wikipedia.org/wiki/Fully_qualified_domain_name].'''</ref>, [https://wiki.contribs.org/SME-101.03_ADSL/VDSL,_DDNS_et_Domaine_FQDN SME-101.03 ADSL/VDSL, DDNS et Domaine FQDN].
 +
* '''Cahier-04''': Installation d'un certificat SSL de l'autorité de certification Let's Encrypt et script de mise à jour, [https://wiki.contribs.org/SME-101.04_Certificat_Let%27s_Encrypt SME-101.04 Certificat Let's Encrypt].
 +
* '''Cahier-05A''': Installation et configuration de WordPress, [https://wiki.contribs.org/SME-101.05A_WordPress SME-101.05A WordPress].
 +
* '''Cahier-05B''': Installation et configuration de l'extension de sécurité Wordfence, [https://wiki.contribs.org/SME-101.05B_Wordfence SME-101.05B Wordfence].
 +
* '''Cahier-06''': Installation et configuration de l'extension de vente en ligne WooCommerce, création de comptes  chez Stripe et PayPal pour les paiements en ligne, [https://wiki.contribs.org/SME-101.06_WooCommerce SME-101.06 WooCommerce].
 +
* '''Cahier-07''': Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator, [https://wiki.contribs.org/SME-101.07_Duplicator SME-101.07 Duplicator].
 +
* '''Cahier-08''': Serveur mandataire inversé, [https://wiki.contribs.org/SME-101.08_Serveur_mandataire_invers%C3%A9  SME-101.08 Serveur mandataire inversé].
 +
* '''Cahier-09''': Supplément: SME & BackupPC-4.2, [https://wiki.contribs.org/SME-101.09:_Suppl%C3%A9ment:_SME_%26_BackupPC-4.2 SME-101.09: Supplément: SME & BackupPC-4.2].
  
Les dernières mises à jour SME-9.2 ont été installées.
+
Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sous. Le seul achat nécessaire est l'obtention d'un nom de domaine FQDN au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.
  
Un deuxième disque à été créé pour recevoir les sauvegardes. Il n'est que de 20Go mais est amplement suffisant pour cette démonstration.
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si vous créez le disque de stockage des sauvegardes trop petit, BackupPC pourrait manquer d'inodes pour la création de liens.
+
=== Particularités de ce document ===
  
Ce document utilise trois machines virtuelles, sous VirtualBox, roulant toutes un Serveur SME-9.2.
+
'''''Notes au lecteur'''''
  
Les marches à suivre pour des sauvegardes de Serveurs SME physiques sont exactement les mêmes.
+
* Les captures d’écrans ne sont que des références.
<div id="Paramètres SSH de tous les serveurs"></div>
 
=== 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'''.
+
* Les informations écrites ont préséance sur celles retrouvées dans les captures d’écrans. Se référer aux différents tableaux lorsque ceux-ci sont présents.
  
<center>'''Gestionnaire Server Manager  >  Accès à distance  >  Paramètres SSH.'''</center>
 
  
[[Image:002-BPC-ParamSSH.png|center|700px|border]]
+
'''''Conventions'''''
  
* '''Accès par terminal sécurisé (SSH)'''<br/>Si tous vos serveurs sont sur le réseau local, choisissez ''N'autoriser l'accès que depuis les réseaux locaux'' sinon, choisissez ''Autoriser l'accès complet (LAN et Internet'').
+
* Toutes les commandes à entrer à la console du Serveur SME commencent habituellement avec l'invite <span style="color:red">#</span> pour l'usager root ou <span style="color:red">$</span> pour un usager sans privilège particulier.
* '''Autoriser l'administrateur à se connecter au serveur par SSH'''<br/><code>Oui</code> obligatoirement car, seul root peut lire tous les fichiers à sauvegarder.
+
* L'invite <code>mysql></code> de la console MySQL est toujours présente.
* '''Autoriser l'authentification par SSH à l'aide de mots de passe standards'''<br/><code>Oui</code> car quelquefois, on pourrait devoir accéder au serveur pour corriger un trouble quelconque.<br/>BackupPC utilise une clé publique SSH créée par l'usager '''backuppc''' pour se connecter sans avoir à fournir de mot de passe.
+
* La sortie de la commande est séparée de celle-ci par une ligne vide sans couleur de fond.
* '''Port TCP pour l'accès SSH'''<br/>On utilise le port <code>2222</code> afin de dérouter un peu plus les indésirables.
+
* L'invite de retour n'est jamais présent pour la plupart des commandes.
 +
* Les affichages à surveiller sont en <span style="color:Red">rouge</span>, <span style="color:Blue">bleu</span>, <span style="color:Orange">orange</span> ou <span style="color:DarkMagenta">magenta</span>.
  
=== Disque de stockage des sauvegardes ===
+
# ping 192.168.1.149
'''Création d'une partition principale sur le disque de stockage'''
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Les sauvegardes devraient toujours être sur un volume séparé.
+
192.168.1.149 <span style="color:red">is alive</span>
  
On prépare un disque dur avec un système de fichiers <code>ext4</code> ''(on peut utiliser tous les systèmes de fichiers qui sont supportés; nous utilisons <code>ext4</code> car, <u>il autorise plus d'inodes</u>)''.
 
  
Dans ce document, on utilise un disque entier ayant une simple partition primaire: <code>/dev/sdb1</code>. 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.
+
Les liens de référence Internet sont en <span style="color:blue">bleu</span> de même que ceux intra-document mais, ces derniers débute par un " <span style="color:blue">#</span> ".
  
 +
[[Image:Icone-SeTirerDembarrasAPT.png|20px]]&nbsp;&nbsp;Manipulation, truc ou ruse pour se tirer d’embarras.
  
Recherche du dispositif<ref name="ftn1">'''Dispositif''': Unité qui assure la réalisation d'une opération particulière, indispensable au bon fonctionnement d'un système informatique, d'une machine ou d'un appareil.<br>''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059].</ref> ''(device)'' du disque de stockage des futures sauvegardes.
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Une recommandation ou astuce.
# cat /proc/partitions
 
  
major minor  <nowiki>#blocks </nowiki> name
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Une note.
 
    8      16  20971520 <span style="color:red">sdb</span>
 
    8        0    8388608 sda
 
    8        1    256000 sda1
 
    8        2    8131584 sda2
 
    9        1    8127488 md1
 
  253        0    7286784 dm-0
 
  253        1    835584 dm-1
 
    9        0    255936 md0
 
  
<nowiki>*</nowiki> Le disque est <code>/dev/sdb</code>.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Une étape, note ou procédure à surveiller.
  
 +
[[Image:Icone-DangerAPT.png|25px]]&nbsp;&nbsp;Danger pour la sécurité du système.
  
On lance <code>fdisk</code> pour la création de la partition.
+
[[Image:IconePlusieursLignesAPT.png|25px]]&nbsp;&nbsp;Indique que la commande est sur une seule ligne. Pour ce document en PDF, il faudra copier la commande entière dans un éditeur de texte ASCII tel que NotePad++ et la mettre sur une seule ligne avant de la copier à la console.
# fdisk /dev/sdb
 
  
On vérifie s'il existe déjà une partition, "p".
+
Une chaîne de caractères en <span style="color:DarkMagenta">magenta</span> indique qu’il faut remplacer cette chaîne par vos propres paramètres.
p  [Entrée]
 
  
{| class="wikitable"
+
{| class="wikitable" style="width: 80%; background-color:#F0FFFF;"
|-style="width:600;"
+
|- style="vertical-align:top;font-family: Courier New;"
|<pre> Disque /dev/sdb: 21.5 Go, 21474836480 octets
+
|Commande à exécuter si ce n'est déjà fait.
255 têtes, 63 secteurs/piste, 2610 cylindres
 
Unités = cylindres de 16065 * 512 = 8225280 octets
 
Sector size (logical/physical): 512 bytes / 512 bytes
 
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
Identifiant de disque : 0x51550b50
 
 
 
Périphérique Amorce  Début        Fin      Blocs    Id  Système
 
 
 
Commande (m pour l'aide):</pre>
 
 
|}
 
|}
  
<nowiki>*</nowiki> Il n'y a pas de partition sur le disque. S'il y en avait une, on la supprimerait avec <code>d</code> ''(delete / supprimer la partition)''.
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|Commande indiquée à titre d'information seulement.
 +
|}
  
On crée la partition, on entre: <code>n</code>, <code>p</code>, <code>1</code>, les choix par défaut pour le premier et le dernier <code>cylindre</code>.
 
  
On enregistre les nouveaux paramètres et on quitte <code>wq</code> ''(write and quit)''.
+
= Prérequis =
 +
'''Serveur SME-9.2'''
  
On vérifie.
+
* Pour l'installation d'un Serveur SME-9.2, voir: [https://wiki.contribs.org/SME-101.02_Serveur_SME SME-101.02 Serveur SME].
# cat /proc/partitions
+
* Le Cahier-2 du cours SME-101 décrit aussi l'installation de VirtualBox et la création d'une machine virtuelle SME-9.2.
 +
* Installation des dernières mises à jour SME-9.2.
  
major minor  <nowiki>#blocks </nowiki> name
+
'''Disque de sauvegarde'''
 
    8      16  20971520 sdb
 
    8      17  20964793 <span style="color:red">sdb1</span>
 
    8        0    8388608 sda
 
    8        1    256000 sda1
 
    8        2    8131584 sda2
 
    9        1    8127488 md1
 
  253        0    7286784 dm-0
 
  253        1    835584 dm-1
 
    9        0    255936 md0
 
  
'''Création du système de fichiers ext4 dans la partition sdb1'''
+
* Disque de sauvegarde: un volume dédié est recommandé ''(peut être un simple disque unique ou des disques en RAID)''.
  
''<u>Remarque sur les inodes</u>'': 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 <code>ext2</code> et <code>/ext3</code> qui ont un nombre fixe d'inodes lors de la construction du système de fichiers. Utilisez <code>df -i</code> pour voir votre utilisation d'inodes.
+
'''Logiciels prérequis'''
  
Pour notre machine, avec un système de fichiers créé en <code>ext3</code> sans l'utilisation du paramètre <code>-i</code>, le nombre d'inodes était de seulement '''1 310 720'''.
+
* Le Cahier-1 du cours SME-101 décrit l'installation et la configuration des logiciels prérequis sur le poste de travail de l'Étudiant: [https://wiki.contribs.org/SME-101.01_Logiciels_de_la_station_de_travail SME-101.01 Logiciels de la station de travail].
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;BackupPC utilise un très grand nombre de liens. Une partition <code>Ext4</code> sur un système 64 bits peut avoir '''2^64''' ou 64bits inodes; ce qui représente '''1.2470298e+28''' inodes.
+
'''Machine virtuelle'''
  
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 <code>batch</code> au niveau de l'application. ''(Les "hardlinks" resteront toujours pour toutes les sauvegardes héritées des versions BackupPC-3.)''
+
Ce document utilise des machines virtuelles roulant SME-9.2 sous VirtualBox. La marche à suivre pour l'installation de BackupPC sur un Serveur SME physique est exactement la même.
  
Voici, sur un système déjà existant, les infos de l'espace disque et du nombre d'inodes utilisés par la partition principale.
 
  
'''Espace disque'''
+
= Installation =
# df -h
 
  
Filesystem            Size  Used Avail Use% Mounted on
+
=== Environnement ===
/dev/mapper/main-root
 
                      6,8G  <span style="color:red">3,5G</span>  2,9G  55% /
 
tmpfs                1,9G    0  1,9G  0% /dev/shm
 
/dev/md0              239M  77M  150M  34% /boot
 
  
<nowiki>*</nowiki> Environ 3.5 Go d'espace disque est utilisé.
+
[[Image:001-BPC-ButFinal.png|center|700px]]
  
'''Nombre d'inodes'''
 
# df -i
 
  
Filesystem            Inodes  IUsed  IFree IUse% Mounted on
+
===Serveur BackupPC ===
/dev/mapper/main-root
 
                      456064 <span style="color:red">155019</span> 301045  34% /
 
tmpfs                490294      1 490293    1% /dev/shm
 
/dev/md0              64000    54  63946    1% /boot
 
  
* Comme on le voit ci-dessus, le nombre d'inodes utilisés est de 155 019 pour 3.5 Go d'espace disque utilisé.
+
Une machine virtuelle, sous VirtualBox, roulant un Serveur SME-9.2. La marche à suivre pour l'installation sur un Serveur SME physique est exactement la même.
  
* Pour notre disque de 20 Go avec BackupPC, on prendra au minimum 10 fois plus d'inodes, environ 1 500 000. ''(Bien au dessus du maximum pour une partition <code>ext3</code> de 20 Go créé de manière standard.)''
+
Les dernières mises à jour SME-9.2 ont été installées.
  
* Prendre en considération: plus d'inodes et plus il faudra de temps pour créer le système de fichiers.
+
Un deuxième disque à été créé pour recevoir les sauvegardes. Il n'est que de 20Go mais est amplement suffisant pour cette démonstration.
  
* D'autres systèmes de fichiers tels que '''btrfs''' peuvent créer des inodes de manière dynamique; à vous de choisir...
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;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 SME-9.2.
  
'''Paramètres de la commande <code>mkfs.ext4</code>'''
+
Les marches à suivre pour des sauvegardes de Serveurs SME physiques sont exactement les mêmes.
  
<code>-N nombre d'inodes</code>
 
  
Ce paramètre 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)''. Il permet à l'utilisateur de spécifier directement le nombre d'inodes désirés.
+
<div id="Paramètres SSH de tous les serveurs"></div>
 +
=== 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.
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on spécifie un nombre d'inodes trop grand, <code>mke2fs</code> donnera une erreur et ne créera pas le système de fichiers.
+
Il faut donc autoriser les connexions SSH pour l'usager '''root'''.
  
<code>-b block-size</code>
+
<center>'''Gestionnaire Server Manager  >  Accès à distance  >  Paramètres SSH.'''</center>
  
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é de manière heuristique par la taille et l'utilisation du système de fichiers ''(voir le paramètre <code>-T</code>)''.
+
[[Image:002-BPC-ParamSSH.png|center|700px|border]]
 +
 
 +
 
 +
* '''Accès par terminal sécurisé (SSH)'''<br/>Si tous vos serveurs sont sur le réseau local, choisissez ''N'autoriser l'accès que depuis les réseaux locaux'' sinon, choisissez ''Autoriser l'accès complet (LAN et Internet'').
 +
 
 +
* '''Autoriser l'administrateur à se connecter au serveur par SSH'''<br/><code>Oui</code> obligatoirement car, seul root peut lire tous les fichiers à sauvegarder.
  
Si la taille d'un bloc est négative, alors <code>mke2fs</code> utilisera l'heuristique pour déterminer le taille d'un bloc avec la contrainte que la taille d'un bloc sera au moins de <code>block-size</code> octets.
+
* '''Autoriser l'authentification par SSH à l'aide de mots de passe standards'''<br/><code>Oui</code> car quelquefois, on pourrait devoir accéder au serveur pour corriger un trouble quelconque.<br/>BackupPC utilise une clé publique SSH créée par l'usager '''backuppc''' pour se connecter sans avoir à fournir de mot de passe.
  
<nowiki>*</nowiki> Utile pour certains périphériques matériels qui exigent que la taille des blocs soit un multiple de 2k.
+
* '''Port TCP pour l'accès SSH'''<br/>On utilise le port <code>2222</code> afin de dérouter un peu plus les indésirables.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;BackupPC utilise un très grand nombre de liens, une longueur de bloc de 1024 est plus profitable.
 
  
<code>-L nom_nouveau_volume</code>
+
=== Disque de stockage des sauvegardes ===
 +
'''Création d'une partition principale sur le disque de stockage'''
  
Configure l'étiquette ''('''<u>L</u>'''abel)'' du système de fichiers à <code>nom_nouveau_volume</code>. La taille maximale du nom est de 16 octets.  
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Les sauvegardes devraient toujours être sur un volume séparé.
  
<code>-m pourcentage_blocs_réservés</code>
+
On prépare un disque dur avec un système de fichiers <code>ext4</code> ''(on peut utiliser tous les systèmes de fichiers qui sont supportés; nous utilisons <code>ext4</code> car, <u>il autorise plus d'inodes</u>)''.
  
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 <code>syslogd(8)</code>, 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 <code>5</code> ''(5%)''.
+
Dans ce document, on utilise un disque entier ayant une simple partition primaire: <code>/dev/sdb1</code>. 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.
  
Pour notre exemple, on crée un système de fichiers <code>ext4</code> sur le nouveau volume <code>/dev/sdb1</code>.
+
Recherche du dispositif<ref name="ftn1">'''Dispositif''': Unité qui assure la réalisation d'une opération particulière, indispensable au bon fonctionnement d'un système informatique, d'une machine ou d'un appareil.<br>''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059].</ref> ''(device)'' du disque de stockage des futures sauvegardes.
  # mkfs.ext4  -L SAUVEGARDE  -b 1024  -N 15000000  -m 1 /dev/sdb1
+
  # cat /proc/partitions
  
  mke2fs 1.41.12 (17-May-2010)
+
  major minor <nowiki>#blocks </nowiki> name
  Avertissement&nbsp;: 1463 blocs inutilisés.
 
 
   
 
   
Étiquette de système de fichiers=<span style="color:red">SAUVEGARDE</span>
+
    8      16  20971520 <span style="color:red">sdb</span>
Type de système d'exploitation&nbsp;: Linux
+
    8        0   8388608 sda
Taille de bloc=<span style="color:red">1024</span> (log=0)
+
    8        1    256000 sda1
Taille de fragment=1024 (log=0)
+
    8        2    8131584 sda2
«&nbsp;Stride&nbsp;» = 0 blocs, «&nbsp;Stripe width&nbsp;» = 0 blocs
+
    9        1   8127488 md1
<span style="color:red">15005976</span> i-noeuds, 20963329 blocs
+
  253        0    7286784 dm-0
<span style="color:red">209647</span> blocs (1.00%) réservés pour le super utilisateur
+
  253        1    835584 dm-1
Premier bloc de données=1
+
    9        0    255936 md0
Nombre maximum de blocs du système de fichiers=88080384
 
2559 groupes de blocs
 
8192 blocs par groupe, 8192 fragments par groupe
 
5864 i-noeuds par groupe
 
Superblocs de secours stockés sur les blocs&nbsp;:
 
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
 
        1024001, 1990657, 2809857, 5120001, 5971969, 17915905, 19668993
 
 
Écriture des tables d'i-noeuds&nbsp;: complété
 
Création du journal (32768 blocs)&nbsp;: complété
 
Écriture des superblocs et de l'information de comptabilité du système de
 
fichiers&nbsp;: complété
 
 
<span style="color:purple">Le système de fichiers sera automatiquement vérifié tous les 30 montages ou
 
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
 
pour écraser la valeur.</span>
 
  
'''Montage du nouveau volume'''
+
<nowiki>*</nowiki> Le disque est <code>/dev/sdb</code>.
  
'''''Point de montage'''''
 
  
On crée un point de montage ''(répertoire'') pour le nouveau volume.
+
On lance <code>fdisk</code> pour la création de la partition.
  # mkdir -p /var/lib/BackupPC
+
  # fdisk /dev/sdb
  
'''''Ajout dans fstab'''''
 
  
On ajoute ''(<code>>></code>)'' le point de montage dans <code>/etc/fstab</code> afin que le volume soit monté automatiquement à tous les amorçages.
+
On vérifie s'il existe déjà une partition, "p".
 +
p  [Entrée]
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour la commande.
+
Disque /dev/sdb: 21.5 Go, 21474836480 octets
 
+
  255 têtes, 63 secteurs/piste, 2610 cylindres
  cat >> /etc/fstab <<'EOT'
+
  Unités = cylindres de 16065 * 512 = 8225280 octets
  <nowiki># Pour le volume de stockage des sauvegardes de BackupPC</nowiki>
+
  Sector size (logical/physical): 512 bytes / 512 bytes
  /dev/sdb1              /var/lib/BackupPC      ext4    noatime        0 0
+
I/O size (minimum/optimal): 512 bytes / 512 bytes
 +
Identifiant de disque : 0x51550b50
 +
 +
Périphérique Amorce  Début        Fin      Blocs    Id  Système
 
   
 
   
  EOT
+
  Commande (<span style="color:red">m</span> pour l'aide):
 +
 
 +
<nowiki>*</nowiki> Il n'y a pas de partition sur le disque. S'il y en avait une, on la supprimerait avec <code>d</code> ''(delete / supprimer la partition)''.
  
On vérifie.
 
# tail -n 5 /etc/fstab
 
  
'''''Montage du volume dans <code>/var/lib/BackupPC</code>'''''
+
On crée la partition, on entre: <code>n</code>, <code>p</code>, <code>1</code>, les choix par défaut pour le premier et le dernier <code>cylindre</code>.
  
On remonte tous les volumes en relisant <code>fstab</code> à l'aide de la commande <code>mount -a</code>.
+
On enregistre les nouveaux paramètres et on quitte <code>wq</code> ''(write and quit)''.
# mount -a
 
  
On vérifie avec <code>mount</code>...
+
On vérifie.
  # mount | grep BackupPC
+
  # cat /proc/partitions
  
... et avec <code>df</code>.
+
major minor  <nowiki>#blocks </nowiki> name
  # df -h
+
   
 +
    8      16  20971520 sdb
 +
    8      17  20964793 <span style="color:red">sdb1</span>
 +
    8        0    8388608 sda
 +
    8        1    256000 sda1
 +
    8        2    8131584 sda2
 +
    9        1    8127488 md1
 +
  253        0    7286784 dm-0
 +
  253        1    835584 dm-1
 +
    9        0    255936 md0
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;&nbsp;&nbsp;Pour le même volume ''sans spécifier le nombre d'inodes'', la quantité d'espace disque est un peu plus grande.
 
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
'''Création du système de fichiers ext4 dans la partition sdb1'''
|- style="vertical-align:top;font-family: Courier New;"
 
|/dev/sdb1             <span style="color:red">20G</span>  4,3M  20G  1% /var/lib/BackupPC
 
|}
 
  
Espace disque ''en spécifiant le nombre d'inodes''.
+
''<u>Remarque sur les inodes</u>'': 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 <code>ext2</code> et <code>/ext3</code> qui ont un nombre fixe d'inodes lors de la construction du système de fichiers. Utilisez <code>df -i</code> pour voir votre utilisation d'inodes.
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
Pour notre machine, avec un système de fichiers créé en <code>ext3</code> sans l'utilisation du paramètre <code>-i</code>, le nombre d'inodes était de seulement '''1 310 720'''.
|- style="vertical-align:top;font-family: Courier New;"
 
| /dev/sdb1              <span style="color:red">17G</span> 4,3M  17G  1% /var/lib/BackupPC
 
|}
 
  
* La différence réside dans l'espace réservé pour le stockage de la table des inodes.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;BackupPC utilise un très grand nombre de liens. Une partition <code>Ext4</code> sur un système 64 bits peut avoir '''2^64''' ou 64bits inodes; ce qui représente '''1.2470298e+28''' inodes.
  
===Création des liens symboliques ===
+
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 <code>batch</code> au niveau de l'application. ''(Les "hardlinks" resteront toujours pour toutes les sauvegardes héritées des versions BackupPC-3.)''
Cette partie est facultative mais recommandée.
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Avec l'ajout de nouveaux liens, tous les fichiers liés à BackupPC ''(config et journaux)'' seront stockés sur le volume <code>SAUVEGARDE</code>. Vous serez alors en mesure d'échanger le disque <code>SAUVEGARDE</code> entre deux serveurs de sauvegardes.
+
Voici, sur un système déjà existant, les infos de l'espace disque et du nombre d'inodes utilisés par la partition principale.
  
On crée les sous-répertoires <code>etc</code> et <code>log</code> dans le répertoire <code>/var/lib/BackupPC/</code>.
 
# mkdir -p /var/lib/BackupPC/{etc,log}
 
  
Pour les '''''configurations''''', on crée un lien <code>/etc/BackupPC</code> qui pointe vers <code>/var/lib/BackupPC/etc</code>.
+
'''Espace disque'''
  # ln -s /var/lib/BackupPC/etc /etc/BackupPC
+
  # df -h
  
Pour les '''''journaux''''', on crée un lien <code>/var/log/BackupPC</code> qui pointe vers <code>/var/lib/BackupPC/log</code>.
+
Filesystem            Size  Used Avail Use% Mounted on
  # ln -s /var/lib/BackupPC/log /var/log/BackupPC
+
/dev/mapper/main-root
 +
                      6,8G  <span style="color:red">3,5G</span> 2,9G  55% /
 +
tmpfs                1,9G    0  1,9G  0% /dev/shm
 +
  /dev/md0              239M  77M  150M  34% /boot
  
=== Installation de la Contrib BackupPC ===
+
<nowiki>*</nowiki> Environ 3.5 Go d'espace disque est utilisé.
  
'''Dépôt de logiciels'''
 
  
''Référence'': [https://wiki.contribs.org/Fws https://wiki.contribs.org/Fws].
+
'''Nombre d'inodes'''
 +
# df -i
  
Installation du dépôt de logiciels '''fws'''.
+
Filesystem            Inodes  IUsed  IFree IUse% Mounted on
 +
/dev/mapper/main-root
 +
                      456064 <span style="color:red">155019</span> 301045  34% /
 +
tmpfs                490294      1 490293    1% /dev/shm
 +
/dev/md0              64000    54  63946    1% /boot
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour la commande.
+
* Comme on le voit ci-dessus, le nombre d'inodes utilisés est de 155 019 pour 3.5 Go d'espace disque utilisé.
db yum_repositories set fws repository  \
 
BaseURL http://repo.firewall-services.com/centos/\$releasever \
 
EnableGroups no GPGCheck yes  \
 
Name "Firewall Services"  \
 
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY  \
 
Visible no  \
 
status disabled
 
  
On signale le changement à yum.
+
* Pour notre disque de 20 Go avec BackupPC, on prendra au minimum 10 fois plus d'inodes, environ 1 500 000. ''(Bien au dessus du maximum pour une partition <code>ext3</code> de 20 Go créé de manière standard.)''
# signal-event yum-modify
 
  
'''Installation de la Contribs'''
+
* Prendre en considération: plus d'inodes et plus il faudra de temps pour créer le système de fichiers.
  
Nous installons la contribution BackupPC-4 et les ajouts pour les Serveurs SME.
+
* D'autres systèmes de fichiers tels que '''btrfs''' peuvent créer des inodes de manière dynamique; à vous de choisir...
# yum -y --enablerepo=smecontribs,fws install BackupPC4 smeserver-BackupPC
 
  
'''Signalisation de toutes les modifications'''
 
  
Signalisation <u>sans réamorçage</u>.
+
'''Paramètres de la commande <code>mkfs.ext4</code>'''
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
|<nowiki>#</nowiki> signal-event backuppc-update
 
|}
 
  
Signalisation traditionnelle <u>avec réamorçage</u>.
+
<code>-N nombre d'inodes</code>
# signal-event post-upgrade ; signal-event reboot
 
  
= AutoBlock =
+
Ce paramètre 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)''. Il permet à l'utilisateur de spécifier directement le nombre d'inodes désirés.
''Référence'': [https://wiki.contribs.org/BackupPC#Known_Issues https://wiki.contribs.org/BackupPC#Known_Issues].
 
  
Si on essaie de sauvegarder un Serveur SME distant, on risque de rencontrer une erreur ou un dépassement du délai d'attente de <code>ssh</code> dû à la fonction <code>AutoBlock</code> de <code>sshd</code>.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on spécifie un nombre d'inodes trop grand, <code>mke2fs</code> donnera une erreur et ne créera pas le système de fichiers.
  
Bogue: [https://bugs.contribs.org/show_bug.cgi?id=9893 https://bugs.contribs.org/show_bug.cgi?id=9893].
 
  
Le message ci-dessous apparaîtra dans le journal de la machine BackupPC du serveur en question.
+
<code>-b block-size</code>
  
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
+
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é de manière heuristique par la taille et l'utilisation du système de fichiers ''(voir le paramètre <code>-T</code>)''.
|Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
 
|}
 
  
Le problème vient du paramètre <code>AutoBlock=enabled</code> de <code>sshd</code>.
+
Si la taille d'un bloc est négative, alors <code>mke2fs</code> utilisera l'heuristique pour déterminer le taille d'un bloc avec la contrainte que la taille d'un bloc sera au moins de <code>block-size</code> octets.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour une description détaillée d'<code>AutoBlock</code>, voir la section: [[#sshd & AutoBlock]].  
+
<nowiki>*</nowiki> Utile pour certains périphériques matériels qui exigent que la taille des blocs soit un multiple de 2k.
  
On pourrait ouvrir une connexion sur le serveur distant et désactiver manuellement le paramètre <code>AutoBlock</code>. Une fois la sauvegarde terminée, il faudrait se reconnecter au serveur distant et réactiver <code>AutoBlock</code>. De plus, il faudrait le faire à chaque sauvegarde et pour tous les serveurs. Cette solution n'est donc pas très pratique.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;BackupPC utilise un très grand nombre de liens, une longueur de bloc de 1024 est plus profitable.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Nous allons nous occuper d'<code>AutoBlock</code> avec les scripts pré/post-sauvegarde ci-dessous.
 
  
=== Contribution Fail2Ban ===
+
<code>-L nom_nouveau_volume</code>
  
Lorsqu'on désactive la variable <code>AutoBlock</code>, le Serveur SME n'empêche plus les tentatives de connexions SSH infructueuses. Les tentatives peuvent ainsi se poursuivre tout au long de la sauvegarde.
+
Configure l'étiquette ''('''<u>L</u>'''abel)'' du système de fichiers à <code>nom_nouveau_volume</code>. La taille maximale du nom est de 16 octets.  
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour remédier à cette situation, on peut installer la contribution ''Fail2ban'' qui elle, bannira les adresses IP des instigateurs de ces tentatives.
 
  
Pour l'installation de ''Fail2ban'', voir: https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.
+
<code>-m pourcentage_blocs_réservés</code>
  
<div id="Scripts pré/post-sauvegarde"></div>
+
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 <code>syslogd(8)</code>, 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 <code>5</code> ''(5%)''.
= Scripts pré/post-sauvegarde =
 
  
'''Derscription'''
 
  
* Au début d'une sauvegarde, un Serveur SME nécessite une commande pré-sauvegarde <code>signal-event pre-backup</code> pour manipuler les bases de données afin qu'elles deviennent disponibles pour être sauvegardées.
+
Pour notre exemple, on crée un système de fichiers <code>ext4</code> sur le nouveau volume <code>/dev/sdb1</code>.
* À la fin de la sauvegarde, le serveur nécessite une commande post-sauvegarde <code>signal-event post-backup</code> pour remettre les bases de données dans leur état initial.
+
# mkfs.ext4  -L SAUVEGARDE  -b 1024 -N 15000000  -m 1 /dev/sdb1
* BackupPC fournit une variable <code>$Conf{DumpPreUserCmd}</code> pour exécuter une commande pré-sauvegarde et <code>$Conf{DumpPostUserCmd}</code> pour une commande post-sauvegarde.  
 
* BackupPC fournit deux paramètres aux commandes pré-sauvegarde et post-sauvegarde:<br><code>'''''$sshPath'''''</code> - le chemin de la commande <code>ssh</code> ''(Pour les Serveurs SME, le chemin de cette commande est toujours le même: <code>/usr/bin/ssh</code>)''. <br><code>'''''$host'''''</code> - variable qu'utilise BackuPC pour sauvegarder le nom ou l'IP du serveur à être sauvegardé.
 
  
 +
mke2fs 1.41.12 (17-May-2010)
 +
Avertissement&nbsp;: 1463 blocs inutilisés.
 +
 +
Étiquette de système de fichiers=<span style="color:red">SAUVEGARDE</span>
 +
Type de système d'exploitation&nbsp;: Linux
 +
Taille de bloc=<span style="color:red">1024</span> (log=0)
 +
Taille de fragment=1024 (log=0)
 +
«&nbsp;Stride&nbsp;» = 0 blocs, «&nbsp;Stripe width&nbsp;» = 0 blocs
 +
<span style="color:red">15005976</span> i-noeuds, 20963329 blocs
 +
<span style="color:red">209647</span> 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=88080384
 +
2559 groupes de blocs
 +
8192 blocs par groupe, 8192 fragments par groupe
 +
5864 i-noeuds par groupe
 +
Superblocs de secours stockés sur les blocs&nbsp;:
 +
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
 +
        1024001, 1990657, 2809857, 5120001, 5971969, 17915905, 19668993
 +
 +
Écriture des tables d'i-noeuds&nbsp;: complété
 +
Création du journal (32768 blocs)&nbsp;: complété
 +
Écriture des superblocs et de l'information de comptabilité du système de
 +
fichiers&nbsp;: complété
 +
 +
<span style="color:purple">Le système de fichiers sera automatiquement vérifié tous les 30 montages ou
 +
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
 +
pour écraser la valeur.</span>
  
'''Fail2ban'''
 
 
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Vu que ce ne sont pas tous les Serveurs SME qui roulent Fail2ban, les scripts de pré/post-sauvegarde présentés dans cette section s'occupent de désactiver <code>AutoBlock</code> avant la sauvegarde et de la réactiver après la sauvegarde.
 
 
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si certains Serveurs SME <u><span style="color:red">roulent</span></u> Fail2ban, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas ces scripts de pré/post-sauvegarde. Voir les paragraphes: [[#Variable DumpPreUserCmd]] et [[#Variable DumpPostUserCmd]].
 
  
 +
'''Montage du nouveau volume'''
  
'''Répertoire de stockage des scripts'''
+
'''''Point de montage'''''
  
Nous créons un répertoire pour stocker nos scripts.
+
On crée un point de montage ''(répertoire'') pour le nouveau volume.
  # mkdir /var/lib/BackupPC/script
+
  # mkdir -p /var/lib/BackupPC
  
On ajuste le propriétaire et le groupe.
 
# chown backuppc:backuppc /var/lib/BackupPC/script
 
  
On ajuste les droits.
+
'''''Ajout dans fstab'''''
# chmod 750 /var/lib/BackupPC/script
 
  
=== Script pre-sauvegarde.sh===
+
On ajoute ''(<code>>></code>)'' le point de montage dans <code>/etc/fstab</code> afin que le volume soit monté automatiquement à tous les amorçages.
 +
 
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour la commande.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le script dans le fichier <code>pre-sauvegarde.sh</code>.
+
cat >> /etc/fstab <<'EOT'
 +
<nowiki># Pour le volume de stockage des sauvegardes de BackupPC</nowiki>
 +
/dev/sdb1              /var/lib/BackupPC      ext4    noatime        0 0
 +
 +
EOT
  
{| class="wikitable"
 
|-style="width:600;"
 
|<pre>cat > /var/lib/BackupPC/script/pre-sauvegarde.sh <<'EOT'
 
#!/bin/sh
 
  
#-------------------------------------------
+
On vérifie.
# /var/lib/BackupPC/script/pre-sauvegarde.sh
+
# tail -n 5 /etc/fstab
#
 
# Michel-André, 2018-05-06_09h50
 
#-------------------------------------------
 
  
# Désactivation d'AutoBlock
 
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock disabled; /sbin/e-smith/signal-event remoteaccess-update"
 
 
# Pause de BackupPC
 
/bin/sleep 45
 
  
# Le test ci-dessous va écrire le statut de la propriété AutoBlock dans le journal.
+
'''''Montage du volume dans <code>/var/lib/BackupPC</code>'''''
# Output from DumpPreUserCmd:    AutoBlock=disabled
 
# ou
 
# Output from DumpPreUserCmd:    AutoBlock=enabled
 
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=disabled') )
 
    then
 
        /bin/mail -s "AutoBlock=disabled NON FONCTIONNEL, arrêt des sauvegardes de la machine $1 pour 24 heures" admin@micronator-101.org < /dev/null
 
  
#    Arrêt de la sauvegarde en cours et désactivation des sauvegardes de cette machine pour 24 heures.
+
On remonte tous les volumes en relisant <code>fstab</code> à l'aide de la commande <code>mount -a</code>.
#
+
# mount -a
#    Référence: https://www.mail-archive.com/backuppc-users@lists.sourceforge.net/msg10075.html
+
 
#   BackupPC_serverMesg stop HOST REQ_USER BACKOFF
+
 
#    HOST is the host to cancel, REQ_USER is the requesting user (just for log purposes) and BACKOFF is the backoff time in hours.
+
On vérifie avec <code>mount</code>...
#
+
# mount | grep BackupPC
    /usr/share/BackupPC/bin/BackupPC_serverMesg stop $1 backuppc 24
+
 
fi
+
 
 +
... et avec <code>df</code>.
 +
# df -h
  
# pre-backup
 
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup"
 
  
# Pause de BackupPC
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;&nbsp;&nbsp;Pour le même volume ''sans spécifier le nombre d'inodes'', la quantité d'espace disque est un peu plus grande.
/bin/sleep 15
 
  
EOT</pre>
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|/dev/sdb1              <span style="color:red">20G</span> 4,3M  20G  1% /var/lib/BackupPC
 
|}
 
|}
  
On ajuste le propriétaire et le groupe du script.
 
# chown backuppc:backuppc /var/lib/BackupPC/script/pre-sauvegarde.sh
 
  
On ajuste les droits.
+
Espace disque ''en spécifiant le nombre d'inodes''.
# chmod 550 /var/lib/BackupPC/script/pre-sauvegarde.sh
 
  
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
| /dev/sdb1              <span style="color:red">17G</span>  4,3M  17G  1% /var/lib/BackupPC
 +
|}
  
<span id="Variable DumpPreUserCmd"></span>
+
* La différence réside dans l'espace réservé pour le stockage de la table des inodes.
'''Variable $Conf{DumpPreUserCmd}'''
 
  
<center>
 
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|Choisir l''''Hôte'''  '''>  Modifier la configuration  >  '''onglet''' Paramètres de sauvegarde  >  '''cadre''' Commandes des usagers.'''
 
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
 
||[[Image:005-BPC-DumpPreUserCmd.png|center|600px|border]]
 
|}
 
</center>
 
* Le chemin et le nom du script de pré-sauvegarde:&nbsp; &nbsp;<code>/var/lib/BackupPC/script/pre-sauvegarde.sh</code>.
 
* Le nom ou l'IP ''(de la machine à être sauvegardée: <code>$host</code>)'' qu'on passe en paramètre au script.
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;<span style="color:red">'''Si certains Serveurs SME roulent Fail2ban'''</span>, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de pré-sauvegarde; on entre plutôt directement la commande suivante dans la variable <code>DumpPreUserCmd</code>:
+
===Création des liens symboliques ===
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
 
|- style="vertical-align:top;font-family: Courier New;"
+
Cette partie est facultative mais recommandée.
|/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup ; /bin/sleep 15" $host
+
 
|}
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Avec l'ajout de nouveaux liens, tous les fichiers liés à BackupPC ''(config et journaux)'' seront stockés sur le volume <code>SAUVEGARDE</code>. Vous serez alors en mesure d'échanger le disque <code>SAUVEGARDE</code> entre deux serveurs de sauvegardes.
 +
 
 +
On crée les sous-répertoires <code>etc</code> et <code>log</code> dans le répertoire <code>/var/lib/BackupPC/</code>.
 +
# mkdir -p /var/lib/BackupPC/{etc,log}
 +
 
  
=== Script post-sauvegarde.sh ===
+
Pour les '''''configurations''''', on crée un lien <code>/etc/BackupPC</code> qui pointe vers <code>/var/lib/BackupPC/etc</code>.
 +
# ln -s /var/lib/BackupPC/etc /etc/BackupPC
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le script dans le fichier <code>post-sauvegarde.sh</code>.
 
  
cat > /var/lib/BackupPC/script/post-sauvegarde.sh <<'EOT'
+
Pour les '''''journaux''''', on crée un lien <code>/var/log/BackupPC</code> qui pointe vers <code>/var/lib/BackupPC/log</code>.
<nowiki>#!/bin/sh</nowiki>
+
  # ln -s /var/lib/BackupPC/log /var/log/BackupPC
 
<nowiki>#--------------------------------------------</nowiki>
 
<nowiki># /var/lib/BackupPC/script/post-sauvegarde.sh</nowiki>
 
  <nowiki>#</nowiki>
 
<nowiki># Michel-André, 2018-05-06_09h58</nowiki>
 
<nowiki>#--------------------------------------------</nowiki>
 
 
<nowiki># Commande post-backup</nowiki>
 
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup"
 
 
<nowiki># Pause de BackupPC</nowiki>
 
/bin/sleep 15
 
 
<nowiki># Activation d'AutoBlock</nowiki>
 
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock enabled; /sbin/e-smith/signal-event remoteaccess-update"
 
 
<nowiki># Pause de BackupPC</nowiki>
 
/bin/sleep 45
 
 
<nowiki># Le test ci-desous va écrire le statut de AutoBlock dans le journal.</nowiki>
 
<nowiki># Output from DumpPreUserCmd: </nowiki>    AutoBlock=disabled
 
<nowiki># ou</nowiki>
 
<nowiki># Output from DumpPreUserCmd: </nowiki>    AutoBlock=enabled
 
 
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=enabled') )
 
    then
 
        /bin/mail -s "AutoBlock=ensabled NON FONCTIONNEL. Vérifiez le paramètre de la machine $1 s.v.p." admin@micronator-101.org < /dev/null
 
fi
 
 
EOT
 
  
On ajuste le propriétaire et le groupe du script.
 
# chown backuppc:backuppc  /var/lib/BackupPC/script/post-sauvegarde.sh
 
  
On ajuste les droits.
+
=== Installation de la Contrib BackupPC ===
# chmod 550  /var/lib/BackupPC/script/post-sauvegarde.sh
 
  
On vérifie.
+
'''Dépôt de logiciels'''
# ls -lsd /var/lib/BackupPC/script/post-sauvegarde.sh
 
  
 +
''Référence'': [https://wiki.contribs.org/Fws https://wiki.contribs.org/Fws].
  
<span id="Variable DumpPostUserCmd"></span>
+
Installation du dépôt de logiciels '''fws'''.
'''Variable $Conf{DumpPostUserCmd}'''
 
  
<center>
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour la commande.
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
  db yum_repositories set fws repository \
|- style="vertical-align:top;"
+
  BaseURL <nowiki>http://repo.firewall-services.com/centos/\$releasever</nowiki> \
|Choisir l''''Hôte''' '''> Modifier la configuration '''onglet''' Paramètres de sauvegarde > '''cadre''' Commandes des usagers.'''
+
EnableGroups no GPGCheck yes \
  /var/lib/BackupPC/script/post-sauvegarde.sh $host
+
  Name "Firewall Services" \
||[[Image:009-BPC-DumpPostUserCmd.png|center|600px|border]]
+
  GPGKey <nowiki>http://repo.firewall-services.com/RPM-GPG-KEY</nowiki> \
|}
+
Visible no  \
</center>
+
status disabled
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;<span style="color:red">'''Si certains Serveurs SME roulent Fail2ban'''</span>, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de post-sauvegarde; on entre plutôt directement la commande suivante dans la variable <code>DumpPostUserCmd</code>:
 
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
|/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup ; /bin/sleep 15" $host
 
|}
 
  
= Clé SSH de BackupPC =
+
On signale le changement à yum.
BackupPC doit générer une clé SSH, qu'on téléversera sur les machines à sauvegarder, afin qu'il puisse ouvrir un canal de communication SSH sans avoir à fournir de mot de passe.
+
# signal-event yum-modify
  
'''Usager backuppc'''
 
  
L'installation de BackupPC a créé l'usager '''backuppc'''.
+
'''Installation de la Contribs'''
# cat /etc/passwd | grep backuppc
 
  
  backuppc:x:393:393::/var/lib/BackupPC:/sbin/nologin
+
Nous installons la contribution BackupPC-4 et les ajouts pour les Serveurs SME.
 +
  # yum -y --enablerepo=smecontribs,fws install BackupPC4 smeserver-BackupPC
  
'''Génération de la clé SSH'''
 
  
On se substitue à l'usager '''backuppc'''.
+
'''Signalisation de toutes les modifications'''
# su -s /bin/bash backuppc
 
  
On génère une clé SSH de type RSA et de 2048 bits.
+
Signalisation <u>sans réamorçage</u>.
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|<nowiki>#</nowiki> signal-event backuppc-update
 +
|}
  
* On accepte le nom du fichier par défaut en tapant la touche <span style="color:red">[Entrée]</span>.
 
* On n'utilise pas de phrase de passe<ref name="ftn2">'''phrase de passe''': Groupe de mots et de caractères alphanumériques ou spéciaux, faisant office de mot de passe, connu de l'utilisateur seulement, qui sert à protéger sa clé privée et à l'identifier lors d'une connexion ou d'un transfert de fichier, tout en lui assurant une plus grande sécurité.<br/> ''Notes'': Les phrases de passe ne diffèrent des mots de passe que par la longueur. Les mots de passe sont généralement très courts - de 6 à 10 caractères -, alors que les phrases de passe peuvent comporter jusqu'à 100 caractères ''(et même plus)''. Leur longueur et la combinaison des mots et des caractères alphanumériques contribuent à les rendre plus difficiles à deviner que les mots de passe, et donc plus sûres.<br/> Une phrase de passe doit être: connue que de l'utilisateur, suffisamment longue pour être sûre, difficile à deviner, facile à retenir et à saisir sans erreur. Certains considèrent qu'elle devrait atteindre 80 à 100 caractères pour être vraiment efficace.<br/> ''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195].</ref> en tapant la touche <span style="color:red">[Entrée]</span>.
 
* On confirme en tapant encore la touche <span style="color:red">[Entrée]</span>.
 
  
  # ssh-keygen -t rsa -b 2048
+
Signalisation traditionnelle <u>avec réamorçage</u>.
 +
  # signal-event post-upgrade ; signal-event reboot
  
Generating public/private rsa key pair.
 
Enter file in which to save the key (/var/lib/BackupPC/.ssh/id_rsa): <span style="color:red">[Entrée]</span>
 
Created directory '/var/lib/BackupPC/.ssh'.
 
Enter passphrase (empty for no passphrase): <span style="color:red">[Entrée]</span>
 
Enter same passphrase again: <span style="color:red">[Entrée]</span>
 
Your identification has been saved in /var/lib/BackupPC/.ssh/id_rsa.
 
Your public key has been saved in /var/lib/BackupPC/.ssh/id_rsa.pub.
 
The key fingerprint is:
 
a9:cb:44:f6:1a:ec:df:aa:1a:85:69:30:a5:5e:b6:5e backuppc@sme-9
 
The key's randomart image is:
 
+--[ RSA 2048]----+
 
|  .....        |
 
|  ...o.        |
 
| o....  .        |
 
|ooB      .      |
 
|++++    S        |
 
|+*oo            |
 
|.E=              |
 
|.  .            |
 
|                |
 
+-----------------+
 
  
On vérifie.
+
= AutoBlock =
ls -ls /var/lib/BackupPC/.ssh/
 
  
2 -rw------- 1 backuppc backuppc 1675 28 avril 10:30 <span style="color:red">id_rsa</span>
+
''Référence'': [https://wiki.contribs.org/BackupPC#Known_Issues https://wiki.contribs.org/BackupPC#Known_Issues].
1 -rw-r--r-- 1 backuppc backuppc  396 28 avril 10:30 <span style="color:blue">id_rsa.pub</span>
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;La clé <span style="color:red">id_rsa</span> est la clé privée qui doit toujours être cachée et n'être divulguée à absolument personne.
+
Si on essaie de sauvegarder un Serveur SME distant, on risque de rencontrer une erreur ou un dépassement du délai d'attente de <code>ssh</code> dû à la fonction <code>AutoBlock</code> de <code>sshd</code>.
  
La clé <span style="color:blue">id_rsa.pub</span> est la clé publique et peut être partagée avec n'importe qui. Elle sert à chiffrer un message qui vous est destiné et que seule votre clé privée peut déchiffrer.
+
Bogue: [https://bugs.contribs.org/show_bug.cgi?id=9893 https://bugs.contribs.org/show_bug.cgi?id=9893].
 +
 
 +
Le message ci-dessous apparaîtra dans le journal de la machine BackupPC du serveur en question.
  
'''Différence entre les jeux de clés SSH'''
+
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
 +
|Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
 +
|}
  
''Jeu SSH pour BackupPC''
 
  
* Ce jeu de clés SSH servira uniquement pour les communications SSH entre les clients des sauvegardes et le serveur BackupPC. Ce jeu se trouve dans le répertoire <code>/var/lib/BackupPC/.ssh</code> et comprend: <code>ssh/id_rsa</code> et <code>id_rsa.pub</code>.
+
Le problème vient du paramètre <code>AutoBlock=enabled</code> de <code>sshd</code>.
  
''Jeu SSH du Serveur SME''
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour une description détaillée d'<code>AutoBlock</code>, voir la section: [[#sshd & AutoBlock]].
  
* Le jeu de clés SSH standard d'un Serveur SME se trouve dans le répertoire <code>/etc/ssh/</code> et comprend: <code>ssh_host_rsa_key</code> et <code>ssh_host_rsa_key.pub</code>.
+
On pourrait ouvrir une connexion sur le serveur distant et désactiver manuellement le paramètre <code>AutoBlock</code>. Une fois la sauvegarde terminée, il faudrait se reconnecter au serveur distant et réactiver <code>AutoBlock</code>. De plus, il faudrait le faire à chaque sauvegarde et pour tous les serveurs. Cette solution n'est donc pas très pratique.
  
<span id="Téléversement de la clé SSH publique de BackupPC"></span>
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Nous allons nous occuper d'<code>AutoBlock</code> avec les scripts pré/post-sauvegarde ci-dessous.
'''Téléversement de la clé SSH publique de BackupPC'''
 
  
Étant toujours l'usager '''backuppc''', On téléverse la clé publique de BackupPC sur le serveur lui-même (127.0.0.1<ref name="ftn3">'''127.0.0.1''': Le nom localhost est associé à l’adresse IPv6 ::1 et à la plage d’adresses IPv4 127.0.0.0/8 ''(toutes les adresses IPv4 comprises entre 127.0.0.1 et 127.255.255.255 dont la plus utilisée est 127.0.0.1)''. L’interface réseau virtuelle utilisée dans cette situation se nomme l’interface de loopback ''(abrégée par lo sous Unix)'' ou boucle locale.<br> ''Référence'': [https://fr.wikipedia.org/wiki/Localhost https://fr.wikipedia.org/wiki/Localhost].</ref>) afin que BackupPC puisse entrer en communication avec le serveur hôte sans devoir utiliser un mot de passe lors d'une connexion SSH.
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Explications des paramètres pour la prochaine commande.
+
=== Contribution Fail2Ban ===
  
* <code>cat /var/lib/BackupPC/.ssh/id_rsa.pub</code> indique d'afficher la clé publique <code>id_rsa.pub</code>.
+
Lorsqu'on désactive la variable <code>AutoBlock</code>, le Serveur SME n'empêche plus les tentatives de connexions SSH infructueuses. Les tentatives peuvent ainsi se poursuivre tout au long de la sauvegarde.
* Le caractère de pipe <code>|</code> indique de passer le résultat de la commande précédente <code>cat</code> à la commande suivante <code>ssh</code>.
 
* Le paramètre <code>-p 2222</code> indique d'utiliser le port 2222 pour la communication SSH.
 
<br>
 
<center>
 
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
 
|Si nous avons spécifié un port différent dans le fichier <span style="color:red">'''/root/.ssh/config'''</span>, le port spécifié dans le fichier <span style="color:red">'''config'''</span> <u>aura toujours préséance sur celui spécifié sur la ligne de commande</u> pour l'usager root.
 
|}
 
</center>
 
<br>
 
* Le paramètre <code>root@127.0.0.1</code> indique de se connecter en tant que <code>root</code> à l'adresse 127.0.0.1 ''(localhost)''.
 
* La partie entre guillemets ''("...")'' indique au serveur de destination i.e. BackupPC ''(localhost)'' d'exécuter la commande qui se trouve entre ces guillemets. Donc, BackupPC va afficher avec <code>cat</code> ce qu'il reçoit et va l'ajouter <code>>></code> au fichier: <code>/root/.ssh/authorized_keys2</code>.
 
  
# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@127.0.0.1 "cat >> /root/.ssh/authorized_keys2"
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour remédier à cette situation, on peut installer la contribution ''Fail2ban'' qui elle, bannira les adresses IP des instigateurs de ces tentatives.
  
The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
+
Pour l'installation de ''Fail2ban'', voir: https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.
RSA key fingerprint is a0:2f:27:ab:cc:d8:a0:57:fc:57:ee:63:dd:58:cc:02.
 
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
 
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
 
root@127.0.0.1's password: <span style="color:red">mot-de-passe-de-root_du-serveur-BackupPC</span>
 
  
'''Vérification de la connexion'''
 
  
On vérifie la connexion SSH sans mot de passe.
+
<div id="Scripts pré/post-sauvegarde"></div>
# ssh -p 2222 root@127.0.0.1
+
= Scripts pré/post-sauvegarde =
  
{| class="wikitable"
+
'''Derscription'''
|-style="width:600;"
 
|<pre> Last login: Fri Apr 28 10:31:11 2018 from 127.0.0.1
 
<nowiki>************ Welcome to SME Server 9.2 *************</nowiki>
 
  
Before editing configuration files, familiarise
+
* Au début d'une sauvegarde, un Serveur SME nécessite une commande pré-sauvegarde <code>signal-event pre-backup</code> pour manipuler les bases de données afin qu'elles deviennent disponibles pour être sauvegardées.
  yourself with the automated events and templates
+
* À la fin de la sauvegarde, le serveur nécessite une commande post-sauvegarde <code>signal-event post-backup</code> pour remettre les bases de données dans leur état initial.
systems.
+
* BackupPC fournit une variable <code>$Conf{DumpPreUserCmd}</code> pour exécuter une commande pré-sauvegarde et <code>$Conf{DumpPostUserCmd}</code> pour une commande post-sauvegarde.  
 +
* BackupPC fournit deux paramètres aux commandes pré-sauvegarde et post-sauvegarde:<br><code>'''''$sshPath'''''</code> - le chemin de la commande <code>ssh</code> ''(Pour les Serveurs SME, le chemin de cette commande est toujours le même: <code>/usr/bin/ssh</code>)''. <br><code>'''''$host'''''</code> - variable qu'utilise BackuPC pour sauvegarder le nom ou l'IP du serveur à être sauvegardé.
  
Please take the time to read the documentation
 
http://wiki.contribs.org/Main_Page
 
  
Remember that SME Server is free to download
+
'''Fail2ban'''
and use, but it is not free to build
 
  
Please help the project :
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Vu que ce ne sont pas tous les Serveurs SME qui roulent Fail2ban, les scripts de pré/post-sauvegarde présentés dans cette section s'occupent de désactiver <code>AutoBlock</code> avant la sauvegarde et de la réactiver après la sauvegarde.
http://wiki.contribs.org/Donate
 
  
<nowiki>****************************************************</nowiki></pre>
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si certains Serveurs SME <u><span style="color:red">roulent</span></u> Fail2ban, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas ces scripts de pré/post-sauvegarde. Voir les paragraphes: [[#Variable DumpPreUserCmd]] et [[#Variable DumpPostUserCmd]].
|}
 
  
* La connexion sans mot de passe fonctionne.
 
  
 +
'''Répertoire de stockage des scripts'''
  
On se désengage de la connexion SSH sans mot de passe.
+
Nous créons un répertoire pour stocker nos scripts.
  # exit
+
  # mkdir /var/lib/BackupPC/script
  
Nous sommes de retour, on sort de <code>su</code> et on revient à l'usager root.
 
# exit
 
  
= Accès à la page BackupPC =
+
On ajuste le propriétaire et le groupe.
 +
# chown backuppc:backuppc /var/lib/BackupPC/script
  
Vous pouvez accéder à l'interface de BackupPC:
 
  
* Par le gestionnaire Server Manager.
+
On ajuste les droits.
* Directement par l'adresse de BackupPC: https://mon_domaine.tld/BackupPC.
+
# chmod 750 /var/lib/BackupPC/script
  
'''''Accès par le gestionnaire Server Manager'''''
 
  
On lance le gestionnaire Server Manager en allant à: https://mon_domaine.tld/server-manager ou en passant par son adresse IP: https://IP_du_Serveur_SME/server-manager.
+
=== Script pre-sauvegarde.sh===
  
# On se logue obligatoirement avec l'usager <code>admin</code>.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le script dans le fichier <code>pre-sauvegarde.sh</code>.
# On clique BackupPC
 
  
<center>
 
 
{| class="wikitable"
 
{| class="wikitable"
|- style="vertical-align:top;"
+
|-style="width:600;"
|[[Image:011-BPC-LoginServerManager-A.png|center|top|250px|border]]
+
|<pre>cat > /var/lib/BackupPC/script/pre-sauvegarde.sh <<'EOT'
||[[Image:011-BPC-LoginServerManager-B.png|center|top|750px|border]]
+
#!/bin/sh
|}
 
</center>
 
  
'''''Accès direct par l'adresse de BackupPC'''''
+
#-------------------------------------------
 +
# /var/lib/BackupPC/script/pre-sauvegarde.sh
 +
#
 +
# Michel-André, 2018-05-06_09h50
 +
#-------------------------------------------
  
https://mon_domaine.tld/BackupPC ou avec l'adresse IP: https://IP_du_Serveur_SME/BackupPC.
+
# Désactivation d'AutoBlock
 +
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock disabled; /sbin/e-smith/signal-event remoteaccess-update"
 +
 +
# Pause de BackupPC
 +
/bin/sleep 45
  
Si nous ne sommes pas déjà logué dans le gestionnaire Server Manager, on nous présentera l'écran de login:
+
# Le test ci-dessous va écrire le statut de la propriété AutoBlock dans le journal.
 
+
# Output from DumpPreUserCmd:     AutoBlock=disabled
# On se logue obligatoirement avec l'usager <code>admin/mot-de-passe</code> du Serveur SME.
+
# ou
# La page principale de BackupPC s'affiche sans avoir à passer par le gestionnaire.
+
# Output from DumpPreUserCmd:    AutoBlock=enabled
 +
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=disabled') )
 +
    then
 +
        /bin/mail -s "AutoBlock=disabled NON FONCTIONNEL, arrêt des sauvegardes de la machine $1 pour 24 heures" admin@micronator-101.org < /dev/null
 +
 
 +
#    Arrêt de la sauvegarde en cours et désactivation des sauvegardes de cette machine pour 24 heures.
 +
#
 +
#    Référence: https://www.mail-archive.com/backuppc-users@lists.sourceforge.net/msg10075.html
 +
#    BackupPC_serverMesg stop HOST REQ_USER BACKOFF
 +
#    HOST is the host to cancel, REQ_USER is the requesting user (just for log purposes) and BACKOFF is the backoff time in hours.
 +
#
 +
    /usr/share/BackupPC/bin/BackupPC_serverMesg stop $1 backuppc 24
 +
fi
 +
 
 +
# pre-backup
 +
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup"
 +
 
 +
# Pause de BackupPC
 +
/bin/sleep 15
  
<center>
+
EOT</pre>
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:011-BPC-LoginServerManager-A.png|center|top|250px|border]]
 
||[[Image:011-BPC-LoginServerManager-C.png|center|top|750px|border]]
 
 
|}
 
|}
</center>
 
  
= Configuration préliminaire de BackupPC =
 
=== CGI ===
 
'''''Langue de l'interface'''''
 
  
On clique: '''Edit Config >''' onglet''' CGI'''.
+
On ajuste le propriétaire et le groupe du script.
 +
# chown backuppc:backuppc /var/lib/BackupPC/script/pre-sauvegarde.sh
  
# Pour la variable '''''Language''''', on choisit <code>'''fr'''</code>.<br>Le bouton <code><span style="color:red">Save</span></code> devient actif.<br>On le clique pour sauvegarder la modification.
 
# Rafraîchir la page du navigateur<br>'''Renvoyer'''.
 
  
<center>
+
On ajuste les droits.
{| class="wikitable"
+
# chmod 550 /var/lib/BackupPC/script/pre-sauvegarde.sh
 +
 
 +
 
 +
<span id="Variable DumpPreUserCmd"></span>
 +
'''Variable $Conf{DumpPreUserCmd}'''
 +
 
 +
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#ffffff;"  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:012-BPC-CGI-A.png|center|top|450px|border]]
+
|Choisir l''''Hôte'''  '''>  Modifier la configuration  >  '''onglet''' Paramètres de sauvegarde  >  '''cadre''' Commandes des usagers.'''
||[[Image:012-BPC-CGI-B.png|center|top|450px|border]]
+
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
 +
||[[Image:005-BPC-DumpPreUserCmd.png|center|600px|border]]
 
|}
 
|}
 
</center>
 
</center>
 +
* Le chemin et le nom du script de pré-sauvegarde:&nbsp; &nbsp;<code>/var/lib/BackupPC/script/pre-sauvegarde.sh</code>.
 +
* Le nom ou l'IP ''(de la machine à être sauvegardée: <code>$host</code>)'' qu'on passe en paramètre au script.
  
L'interface BackupPC est maintenant en français.
 
  
[[Image:012-BPC-CGI-C.png|center|700px|border]]
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;<span style="color:red">'''Si certains Serveurs SME roulent Fail2ban'''</span>, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de pré-sauvegarde; on entre plutôt directement la commande suivante dans la variable <code>DumpPreUserCmd</code>:
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup ; /bin/sleep 15" $host
 +
|}
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Actuellement, le paramètre <code>Language</code> s'applique à l'interface CGI seulement. Les fichiers journaux et les autres textes sont toujours en anglais.
 
  
 +
=== Script post-sauvegarde.sh ===
  
'''''Format de la date pour l'interface CGI'''''
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le script dans le fichier <code>post-sauvegarde.sh</code>.
 +
 
 +
cat > /var/lib/BackupPC/script/post-sauvegarde.sh <<'EOT'
 +
<nowiki>#!/bin/sh</nowiki>
 +
 +
<nowiki>#--------------------------------------------</nowiki>
 +
<nowiki># /var/lib/BackupPC/script/post-sauvegarde.sh</nowiki>
 +
<nowiki>#</nowiki>
 +
<nowiki># Michel-André, 2018-05-06_09h58</nowiki>
 +
<nowiki>#--------------------------------------------</nowiki>
 +
 +
<nowiki># Commande post-backup</nowiki>
 +
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup"
 +
 +
<nowiki># Pause de BackupPC</nowiki>
 +
/bin/sleep 15
 +
 +
<nowiki># Activation d'AutoBlock</nowiki>
 +
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock enabled; /sbin/e-smith/signal-event remoteaccess-update"
 +
 +
<nowiki># Pause de BackupPC</nowiki>
 +
/bin/sleep 45
 +
 +
<nowiki># Le test ci-desous va écrire le statut de AutoBlock dans le journal.</nowiki>
 +
<nowiki># Output from DumpPreUserCmd: </nowiki>    AutoBlock=disabled
 +
<nowiki># ou</nowiki>
 +
<nowiki># Output from DumpPreUserCmd: </nowiki>    AutoBlock=enabled
 +
 +
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=enabled') )
 +
    then
 +
        /bin/mail -s "AutoBlock=ensabled NON FONCTIONNEL. Vérifiez le paramètre de la machine $1 s.v.p." admin@micronator-101.org < /dev/null
 +
fi
 +
 +
EOT
  
La valeur '''1''' utilise des dates de type US ''(MM/DD)'', la valeur '''2''' utilise le format AAAA-MM-JJ complet et '''0''' les dates internationales ''(JJ/MM)''.
 
 
<center>[[Image:012-BPC-CGI-D.png|right|700px|border]]</center>
 
 
* On clique: '''Modifier la configuration > onglet CGI.
 
* On veut un affichage AAAA-MM-JJ, on entre '''2''' à la variable <code>CgiDateFormatMMDD</code> et on clique '''Sauvegarder''' pour enregistrer ce nouveau paramètre.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Paramètres de sauvegarde ===
+
On ajuste le propriétaire et le groupe du script.
'''''CompressLevel''''' ''(Niveau de compression)''
+
# chown backuppc:backuppc  /var/lib/BackupPC/script/post-sauvegarde.sh
  
<center>[[Image:013-BPC-ParamsDeSauvegarde.png|right|700px|border]]</center>
 
* Il n'y a rien à faire, sauf peut-être, le niveau de compression des sauvegardes; le défaut de 3 est très suffisant.<br>- Il ne faut pas oublier que la compression requière une assez grande partie du temps CPU.<br>- Il n'y a presque rien à gagner à changer le niveau de compression.
 
* Si on a modifié un paramètre sur cette page, on clique '''Sauvegarder'''.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Courriel ===
+
On ajuste les droits.
<center>[[Image:014-BPC-Courriel-A.png|right|700px|border]]</center>
+
# chmod 550  /var/lib/BackupPC/script/post-sauvegarde.sh
  
'''''EMailNotifyMinDays <code>0.97</code>'''''
 
  
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 courriel est effectuée tous les soirs, de sorte que ce nombre est effectivement arrondi. ''&nbsp;&nbsp;(<code>0.97</code> signifie qu'un utilisateur ne recevra jamais de courriel plus d'une fois tous les '''1''' jour.)''
+
On vérifie.
 +
# ls -lsd /var/lib/BackupPC/script/post-sauvegarde.sh
  
'''''EMailFromUserName backuppc'''''
 
  
Expéditeur du courriel. Selon le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet ''(backuppc)'' ou d'un nom complet qualifié ''(backuppc@mondomaine.com)''.
+
<span id="Variable DumpPostUserCmd"></span>
 +
'''Variable $Conf{DumpPostUserCmd}'''
  
'''''EMailAdminUserName <code>admin</code>'''''
+
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|Choisir l''''Hôte''' '''> Modifier la configuration  >  '''onglet''' Paramètres de sauvegarde  > '''cadre''' Commandes des usagers.'''
 +
/var/lib/BackupPC/script/post-sauvegarde.sh $host
 +
||[[Image:009-BPC-DumpPostUserCmd.png|center|600px|border]]
 +
|}
 +
</center>
  
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 le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet ''(admin)'' ou d'un nom complet qualifié ''(admin@FQDN)''.
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;<span style="color:red">'''Si certains Serveurs SME roulent Fail2ban'''</span>, <code>AutoBlock</code> est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de post-sauvegarde; on entre plutôt directement la commande suivante dans la variable <code>DumpPostUserCmd</code>:
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup ; /bin/sleep 15" $host
 +
|}
  
'''''EMailUserDestDomain <code>@micronator.org</code>'''''
 
  
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:
+
= Clé SSH de BackupPC =
 +
BackupPC doit générer une clé SSH, qu'on téléversera sur les machines à sauvegarder, afin qu'il puisse ouvrir un canal de communication SSH sans avoir à fournir de mot de passe.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Avec les paramètres <code>$Conf{EMailAdminUserName}</code> = '''admin''' et <code>$Conf{EMailUserDestDomain}</code> = '''@micronator.org''' dans le fichier <code>/var/lib/BackupPC/etc/config.pl</code>, le courrier électronique sera envoyé à: <code>admin@micronator.org</code>.
 
  
* ''Sauvegarder''.
+
'''Usager backuppc'''
 +
 
 +
L'installation de BackupPC a créé l'usager '''backuppc'''.
 +
# cat /etc/passwd | grep backuppc
  
 +
backuppc:x:393:393::/var/lib/BackupPC:/sbin/nologin
  
'''Vérification du courriel'''
 
  
Pour vérifier que BackupPC peut exécuter <code>sendmail</code> et envoyer correctement le courrier électronique, vous pouvez lui demander de vous envoyer un courriel de test.
+
'''Génération de la clé SSH'''
  
On devient l'usager '''backuppc'''>.
+
On se substitue à l'usager '''backuppc'''.
 
  # su -s /bin/bash backuppc
 
  # su -s /bin/bash backuppc
  
On envoie le courriel de test.
 
# /usr/share/BackupPC/bin/BackupPC_sendEmail -u admin@micronator.org
 
  
<center>
+
On génère une clé SSH de type RSA et de 2048 bits.
{| style="width: 80%;"
 
|- style="vertical-align:top;"
 
|On vérifie le courrier d'admin.
 
||[[Image:015-BPC-VerficationDuCourriel.png|top|center|border|700px]]
 
|}
 
</center>
 
  
On se désengage de l'usager '''backuppc'''.
+
* On accepte le nom du fichier par défaut en tapant la touche <span style="color:red">[Entrée]</span>.
# exit
+
* On n'utilise pas de phrase de passe<ref name="ftn2">'''phrase de passe''': Groupe de mots et de caractères alphanumériques ou spéciaux, faisant office de mot de passe, connu de l'utilisateur seulement, qui sert à protéger sa clé privée et à l'identifier lors d'une connexion ou d'un transfert de fichier, tout en lui assurant une plus grande sécurité.<br/> ''Notes'': Les phrases de passe ne diffèrent des mots de passe que par la longueur. Les mots de passe sont généralement très courts - de 6 à 10 caractères -, alors que les phrases de passe peuvent comporter jusqu'à 100 caractères ''(et même plus)''. Leur longueur et la combinaison des mots et des caractères alphanumériques contribuent à les rendre plus difficiles à deviner que les mots de passe, et donc plus sûres.<br/> Une phrase de passe doit être: connue que de l'utilisateur, suffisamment longue pour être sûre, difficile à deviner, facile à retenir et à saisir sans erreur. Certains considèrent qu'elle devrait atteindre 80 à 100 caractères pour être vraiment efficace.<br/> ''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195].</ref> en tapant la touche <span style="color:red">[Entrée]</span>.
 +
* On confirme en tapant encore la touche <span style="color:red">[Entrée]</span>.
  
=== Horaire ===
+
# ssh-keygen -t rsa -b 2048
<center>[[Image:016-BPC-Horaire.png|right|700px|border]]</center>
 
  
Cadre '''Sauvegardes Complètes'''
+
Generating public/private rsa key pair.
 
+
Enter file in which to save the key (/var/lib/BackupPC/.ssh/id_rsa): <span style="color:red">[Entrée]</span>
'''''FullPeriod <code>6.97</code>'''''
+
Created directory '/var/lib/BackupPC/.ssh'.
 
+
Enter passphrase (empty for no passphrase): <span style="color:red">[Entrée]</span>
Période minimale en jours, entre les sauvegardes Complètes. Une vidange complète ne sera effectuée que si au moins ce délai s'est écoulé depuis la dernière sauvegarde Complète et, au moins <code>IncrPeriod</code> jours s'est écoulée depuis la dernière sauvegarde réussie.
+
Enter same passphrase again: <span style="color:red">[Entrée]</span>
 +
Your identification has been saved in /var/lib/BackupPC/.ssh/id_rsa.
 +
Your public key has been saved in /var/lib/BackupPC/.ssh/id_rsa.pub.
 +
The key fingerprint is:
 +
a9:cb:44:f6:1a:ec:df:aa:1a:85:69:30:a5:5e:b6:5e backuppc@sme-9
 +
The key's randomart image is:
 +
+--[ RSA 2048]----+
 +
|  .....        |
 +
|  ...o.        |
 +
| o....  .        |
 +
|ooB      .      |
 +
|++++    S        |
 +
|+*oo            |
 +
|.E=              |
 +
|.  .             |
 +
|                |
 +
+-----------------+
  
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 <code>WakeupSchedule</code> rendront l'intervalle de sauvegarde réel un peu plus long.
 
  
<div id="FillCycle"></div>
+
On vérifie.
'''''FillCycle <code>1</code>'''''
+
ls -ls /var/lib/BackupPC/.ssh/
  
Avec la version V4+, les sauvegardes Complètes/Incrémentielles sont dissociées de fusionnée/non-fusionnée.
+
2 -rw------- 1 backuppc backuppc 1675 28 avril 10:30 <span style="color:red">id_rsa</span>
 +
1 -rw-r--r-- 1 backuppc backuppc  396 28 avril 10:30 <span style="color:blue">id_rsa.pub</span>
  
Pour imiter le comportement de la version V3, si <code>FillCycle</code> 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 '''0''' 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.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;La clé <span style="color:red">id_rsa</span> est la clé privée qui doit toujours être cachée et n'être divulguée à absolument personne.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si vous envisagez d'effectuer uniquement des sauvegardes Incrémentielles ''(c'est-à-dire: <code>FullPeriod</code> est défini à une très grande valeur)'', vous devez définir <code>FillCycle</code> à quelle fréquence vous voulez qu'une sauvegarde stockée soit fusionnée. Par exemple, si <code>FillCycle</code> est défini à 7, toutes les 7e sauvegardes seront fusionnées ''(que la sauvegarde correspondante soit Complète ou non)''.
+
La clé <span style="color:blue">id_rsa.pub</span> est la clé publique et peut être partagée avec n'importe qui. Elle sert à chiffrer un message qui vous est destiné et que seule votre clé privée peut déchiffrer.
  
Il existe deux raisons pour lesquelles vous voulez un paramètre <code>FillCycle</code> différent de '''0''' 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.
+
'''Différence entre les jeux de clés SSH'''
* 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 <code>FullKeepCnt</code> et les paramètres qui y sont associés n'auront aucun effet.
 
  
# Si <code>FillCycle</code> = 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.
+
''Jeu SSH pour BackupPC''
# Si BackupPC doit faire du nettoyage à cause d'un dépassement du nombre de sauvegardes à conserver, le message de droite s'affichera après celui de gauche.
 
  
<center>
+
* Ce jeu de clés SSH servira uniquement pour les communications SSH entre les clients des sauvegardes et le serveur BackupPC. Ce jeu se trouve dans le répertoire <code>/var/lib/BackupPC/.ssh</code> et comprend: <code>ssh/id_rsa</code> et <code>id_rsa.pub</code>.
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:017-BPC-FillCycle1-A.png|center|top|450px|border]]
 
||[[Image:017-BPC-FillCycle1-B.png|center|top|450px|border]]
 
|}
 
</center>
 
  
 +
''Jeu SSH du Serveur SME''
  
'''''FullKeepCnt <code>1</code>'''''
+
* Le jeu de clés SSH standard d'un Serveur SME se trouve dans le répertoire <code>/etc/ssh/</code> et comprend: <code>ssh_host_rsa_key</code> et <code>ssh_host_rsa_key.pub</code>.
  
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é <code>FullKeepCnt</code> plutôt que <code>FilledKeepCnt</code>. Si <code>FillCycle</code> 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.
+
<span id="Téléversement de la clé SSH publique de BackupPC"></span>
 +
'''Téléversement de la clé SSH publique de BackupPC'''
  
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.
+
Étant toujours l'usager '''backuppc''', On téléverse la clé publique de BackupPC sur le serveur lui-même (127.0.0.1<ref name="ftn3">'''127.0.0.1''': Le nom localhost est associé à l’adresse IPv6 ::1 et à la plage d’adresses IPv4 127.0.0.0/8 ''(toutes les adresses IPv4 comprises entre 127.0.0.1 et 127.255.255.255 dont la plus utilisée est 127.0.0.1)''. L’interface réseau virtuelle utilisée dans cette situation se nomme l’interface de loopback ''(abrégée par lo sous Unix)'' ou boucle locale.<br> ''Référence'': [https://fr.wikipedia.org/wiki/Localhost https://fr.wikipedia.org/wiki/Localhost].</ref>) afin que BackupPC puisse entrer en communication avec le serveur hôte sans devoir utiliser un mot de passe lors d'une connexion SSH.
  
'''''FullKeepCntMin <code>1</code>'''''
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Explications des paramètres pour la prochaine commande.
  
Les anciennes sauvegardes Complètes sont supprimées après <code>FullAgeMax</code> jours. Cependant, BackupPC conserve au moins <code>FullKeepCntMin</code> sauvegardes Complètes, quel que soit leur âge.
+
* <code>cat /var/lib/BackupPC/.ssh/id_rsa.pub</code> indique d'afficher la clé publique <code>id_rsa.pub</code>.
 +
* Le caractère de pipe <code>|</code> indique de passer le résultat de la commande précédente <code>cat</code> à la commande suivante <code>ssh</code>.
 +
* Le paramètre <code>-p 2222</code> indique d'utiliser le port 2222 pour la communication SSH.
  
On garde au moins 1 sauvegarde Complète.
+
<center>
 +
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
 +
|Si nous avons spécifié un port différent dans le fichier <span style="color:red">'''/root/.ssh/config'''</span>, le port spécifié dans le fichier <span style="color:red">'''config'''</span> <u>aura toujours préséance sur celui spécifié sur la ligne de commande</u> pour l'usager root.
 +
|}
 +
</center>
  
'''''FullAgeMax <code>180</code>'''''
+
* Le paramètre <code>root@127.0.0.1</code> indique de se connecter en tant que <code>root</code> à l'adresse 127.0.0.1 ''(localhost)''.
 +
* La partie entre guillemets ''("...")'' indique au serveur de destination i.e. BackupPC ''(localhost)'' d'exécuter la commande qui se trouve entre ces guillemets. Donc, BackupPC va afficher avec <code>cat</code> ce qu'il reçoit et va l'ajouter <code>>></code> au fichier: <code>/root/.ssh/authorized_keys2</code>.
  
<code>FullAgeMax</code> sera augmenté à <code>FullKeepCnt</code> fois <code>FullPeriod</code> si <code>FullKeepCnt</code> spécifie suffisamment de sauvegardes Complètes pour dépasser <code>FullAgeMax</code>.
 
  
 +
# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@127.0.0.1 "cat >> /root/.ssh/authorized_keys2"
  
 +
The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
 +
RSA key fingerprint is a0:2f:27:ab:cc:d8:a0:57:fc:57:ee:63:dd:58:cc:02.
 +
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
 +
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
 +
root@127.0.0.1's password: <span style="color:red">mot-de-passe-de-root_du-serveur-BackupPC</span>
  
Cadre '''Sauvegardes Incrémentielles'''
 
 
<center>[[Image:018-BPC-SauvegardesIncrémentielles.png|right|700px|border]]</center>
 
  
'''''IncrPeriod <code>0.97</code>'''''
+
'''Vérification de la connexion'''
  
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)''.
+
On vérifie la connexion SSH sans mot de passe.
 +
# ssh -p 2222 root@127.0.0.1
  
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 <code>WakeupSchedule</code> rendront l'intervalle de sauvegarde réel un peu plus long.
+
Last login: Fri Apr 28 10:31:11 2018 from 127.0.0.1
 +
<nowiki>************ Welcome to SME Server 9.2 *************</nowiki>
 +
 +
Before editing configuration files, familiarise
 +
yourself with the automated events and templates
 +
systems.
 +
 +
Please take the time to read the documentation
 +
<nowiki>http://wiki.contribs.org/Main_Page</nowiki>
 +
 +
Remember that SME Server is free to download
 +
and use, but it is not free to build
 +
 +
Please help the project :
 +
<nowiki>http://wiki.contribs.org/Donate</nowiki>
 +
 +
<nowiki>****************************************************</nowiki>
  
'''''IncrKeepCnt <code>6</code>'''''
+
<nowiki>*</nowiki> La connexion sans mot de passe fonctionne.
  
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 <code>IncrKeepCnt</code>, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes Incrémentielles en surplus seront supprimées.
+
On se désengage de la connexion SSH sans mot de passe.
 +
# exit
  
'''''IncrKeepCntMin <code>1</code>'''''
 
  
Garder au moins 1 sauvegarde Incrémentielle.
+
Nous sommes de retour, on sort de <code>su</code> et on revient à l'usager root.
 +
# exit
  
'''''IncrAgeMax <code>30</code>'''''
 
  
Les sauvegardes Incrémentielles très anciennes sont supprimées après <code>IncrAgeMax</code> jours. Cependant, BackupPC conserve au moins <code>IncrKeepCntMin</code> sauvegardes Incrémentielles, quel que soit leur âge.
+
= Accès à la page BackupPC =
  
 +
Vous pouvez accéder à l'interface de BackupPC:
  
 +
* Par le gestionnaire Server Manager.
 +
* Directement par l'adresse de BackupPC: <span style="color:blue"><nowiki>https://mon_domaine.tld/BackupPC</nowiki></span>.
  
Cadre '''Suspension'''
 
  
<center>[[Image:019-BPC-CadreSuspension.png|right|700px|border]]</center>
+
'''''Accès par le gestionnaire Server Manager'''''
  
'''''BackupsDisable <code>0</code>'''''
+
On lance le gestionnaire Server Manager en allant à: <span style="color:blue"><nowiki>https://mon_domaine.tld/server-manager</nowiki></span> ou en passant par son adresse IP: <span style="color:blue"><nowiki>https://IP_du_Serveur_SME/server-manager</nowiki></span>.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On peut désactiver en mettant à 1 et activer les sauvegardes dans la configuration des machines clientes lors de leur création.
+
# On se logue obligatoirement avec l'usager <code>admin</code>.
 +
# On clique BackupPC
  
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.
+
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:011-BPC-LoginServerManager-A.png|center|top|250px|border]]
 +
||[[Image:011-BPC-LoginServerManager-B.png|center|top|750px|border]]
 +
|}
 +
</center>
  
Ce paramètre peut prendre trois valeurs:
 
  
* 0 - Les sauvegardes sont activées.
+
'''''Accès direct par l'adresse de BackupPC'''''
* 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 <code>3</code>'''''
+
<span style="color:blue"><nowiki>https://mon_domaine.tld/BackupPC</nowiki></span> ou avec l'adresse IP: <span style="color:blue"><nowiki>https://IP_du_Serveur_SME/BackupPC</nowiki></span>.
  
Si le serveur ne répond pas après le 3e ping, abandonner.
+
Si nous ne sommes pas déjà logué dans le gestionnaire Server Manager, on nous présentera l'écran de login:
  
'''''BlackoutGoodCnt <code>7</code>'''''
+
# On se logue obligatoirement avec l'usager <code>admin/mot-de-passe</code> du Serveur SME.
 +
# La page principale de BackupPC s'affiche sans avoir à passer par le gestionnaire.
  
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 <code>BlackoutGoodCnt</code> bons pings consécutifs, il est sujet à un "blackout" et non sauvegardé pendant les heures et les jours spécifiés par <code>BlackoutPeriods</code>.
+
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:011-BPC-LoginServerManager-A.png|center|top|250px|border]]
 +
||[[Image:011-BPC-LoginServerManager-C.png|center|top|750px|border]]
 +
|}
 +
</center>
  
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 <code>BlackoutBadPingLimit</code>.
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 <code>IncrPeriod</code> ''(par exemple: une fois par jour)''. Donc, un paramètre pour <code>BlackoutGoodCnt</code> 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 <code>BlackoutBadPingLimit</code> de 3 signifie que le PC perdra son état de "blackout" après 3-6 heures d'indisponibilité.
+
= Configuration préliminaire de BackupPC =
  
Pour désactiver la fonction de "blackout", configurez <code>BlackoutGoodCnt</code> sur 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 <code>WakeupSchedule</code> à un horaire restreint.
+
=== CGI ===
  
 +
'''''Langue de l'interface'''''
  
'''''BlackoutPeriods'''''
+
On clique: '''Edit Config >''' onglet''' CGI'''.
  
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 <code>hourBegin</code> et <code>hourEnd</code> spécifient les heures à partir de minuit et <code>weekDays</code> est une liste des jours de la semaine où '''0''' est dimanche, '''1''' lundi, etc.
+
# Pour la variable '''''Language''''', on choisit <code>'''fr'''</code>.<br>Le bouton <code><span style="color:red">Save</span></code> devient actif.<br>On le clique pour sauvegarder la modification.
 +
# Rafraîchir la page du navigateur<br>'''Renvoyer'''.
  
 +
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:012-BPC-CGI-A.png|center|top|450px|border]]
 +
||[[Image:012-BPC-CGI-B.png|center|top|450px|border]]
 +
|}
 +
</center>
  
  
Cadre '''Divers'''
+
L'interface BackupPC est maintenant en français.
  
<center>[[Image:020-BPC-CadreDivers.png|right|700px|border]]</center>
+
[[Image:012-BPC-CGI-C.png|center|700px|border]]
  
'''''RestoreInfoKeepCnt <code>10</code>'''''
 
  
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.
+
<center>[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Actuellement, le paramètre <code>Language</code> s'applique à l'interface CGI seulement.<br>Les fichiers journaux et les autres textes sont toujours en anglais.</center>
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 compte pour les restaurations consignées.
 
  
'''''ArchiveInfoKeepCnt <code>10</code>'''''
+
'''''Format de la date pour l'interface CGI'''''
  
Nombre de journaux d'archives à conserver. BackupPC mémorise les informations sur chaque requête de sauvegarde. Ce nombre d'archives du journal de chaque client sera conservé avant que les plus anciennes ne soient purgées.
+
La valeur '''1''' utilise des dates de type US ''(MM/DD)'', la valeur '''2''' utilise le format AAAA-MM-JJ complet et '''0''' les dates internationales ''(JJ/MM)''.
  
'''''BackupZeroFilesIsFatal'''''
+
<center>[[Image:012-BPC-CGI-D.png|right|700px|border]]</center>
  
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é)''.
+
* - On clique: '''Modifier la configuration > onglet CGI.<br>- On veut un affichage AAAA-MM-JJ, on entre '''2''' à la variable <code>CgiDateFormatMMDD</code> et on clique '''Sauvegarder''' pour enregistrer ce nouveau paramètre.
 +
<br clear=all>
  
* ''Sauvegarder''
+
=== Paramètres de sauvegarde ===
 +
'''''CompressLevel''''' ''(Niveau de compression)''
  
 +
<center>[[Image:013-BPC-ParamsDeSauvegarde.png|right|700px|border]]</center>
 +
* Il n'y a rien à faire, sauf peut-être, le niveau de compression des sauvegardes; le défaut de 3 est très suffisant.<br>- Il ne faut pas oublier que la compression requière une assez grande partie du temps CPU.<br>- Il n'y a presque rien à gagner à changer le niveau de compression.<br>- Si on a modifié un paramètre sur cette page, on clique <span style="color:red">'''Sauvegarder'''</span>.
 +
<br clear=all>
  
=== Serveur ===
+
=== Courriel ===
  
<center>[[Image:021-BPC-Serveur.png|right|700px|border]]</center>
+
<center>[[Image:014-BPC-Courriel-A.png|right|700px|border]]</center>
  
'''''MaxOldLogFiles <code>14</code>'''''
+
'''''EMailNotifyMinDays <code>0.97</code>'''''
  
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 <code>14</code> signifie que le répertoire du journal 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)''.
+
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 courriel est effectuée tous les soirs, de sorte que ce nombre est effectivement arrondi. ''&nbsp;&nbsp;(<code>0.97</code> signifie qu'un utilisateur ne recevra jamais de courriel plus d'une fois tous les '''1''' jour.)''
 +
 
 +
 
 +
'''''EMailFromUserName backuppc'''''
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si vous diminuez ce nombre après que BackupPC ait roulé un certain temps, vous devrez supprimer manuellement les anciens fichiers journaux.
+
Expéditeur du courriel. Selon le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet ''(backuppc)'' ou d'un nom complet qualifié ''(backuppc@mondomaine.com)''.
  
* ''Sauvegarder''
 
  
 +
'''''EMailAdminUserName <code>admin</code>'''''
  
=== Xfer ===
+
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 le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet ''(admin)'' ou d'un nom complet qualifié ''(admin@FQDN)''.
  
{| style="float: right; margin-left:0.5em;"
 
|-
 
| style="vertical-align: top;" |[[File:022-BPC-Xfer-B.png|150px|border]]
 
|}
 
{| style="float: right; margin-left:1em;"
 
|-
 
| style="vertical-align: top;" |[[File:022-BPC-Xfer-A.png|700px|border]]
 
|}
 
  
'''''XferLogLevel <code>0</code>'''''
+
'''''EMailUserDestDomain <code>@micronator.org</code>'''''
  
Niveau de verbosité dans les fichiers journaux Xfer.
+
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:
  
* '''0''' signifie être calme,
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Avec les paramètres <code>$Conf{EMailAdminUserName} = '''admin'''</code> et <code>$Conf{EMailUserDestDomain} = '''@micronator.org'''</code> dans le fichier <code>/var/lib/BackupPC/etc/config.pl</code>, le courrier électronique sera envoyé à: <code>admin@micronator.org</code>.
* '''1''' donnera une ligne par fichier,
 
* '''2''' montrera également les fichiers sautés par les incrémentielles,
 
* des valeurs plus élevées donnent plus de résultats.
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Pour le déverminage, un niveau de '''8''' pourrait vous orienter vers une solution à un problème donné.
+
<span style="color:red">'''Sauvegarder'''</span>.
 +
<hr style="width:50%; margin: 0 auto;">
  
* ''Sauvegarder''
 
  
 +
'''Vérification du courriel'''
  
=== Paramètres ssh ===
+
Pour vérifier que BackupPC peut exécuter <code>sendmail</code> et envoyer correctement le courrier électronique, vous pouvez lui demander de vous envoyer un courriel de test.
  
<center>[[Image:023-BPC-PortSSH.png|right|700px|border]]</center>
+
On devient l'usager '''backuppc'''>.
'''''Port SSH <u>du Serveur SME</u> <code>2222</code>'''''
+
# su -s /bin/bash backuppc
  
Dans le gestionnaire Server Manager, 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 SME clients.
+
On envoie le courriel de test.
<br>
+
# /usr/share/BackupPC/bin/BackupPC_sendEmail -u admin@micronator.org
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
<div id="Fichier de configuration SSH de BackupPC"></div>
+
<center>
'''''Fichier de configuration SSH <u>de BackupPC</u>'''''
+
{| style="width: 80%;"
 +
|- style="vertical-align:top;"
 +
|On vérifie le courrier d'admin.
 +
||[[Image:015-BPC-VerficationDuCourriel.png|top|center|border|700px]]
 +
|}
 +
</center>
  
Le répertoire pour tout ce qui concerne SSH est: <code>/var/lib/BackupPC/.ssh</code>.
+
On se désengage de l'usager '''backuppc'''.
 +
# exit
  
Nous créons un fichier pour spécifier les paramètres de configuration SSH de BackupPC.
+
=== Horaire ===
# touch /var/lib/BackupPC/.ssh/config
+
<center>[[Image:016-BPC-Horaire.png|right|700px|border]]</center>
  
On ajuste le propriétaire et le groupe du fichier.
+
Cadre '''Sauvegardes Complètes'''
# chown backuppc:backuppc /var/lib/BackupPC/.ssh/config
 
  
On ajuste les droits.
 
# chmod 640 /var/lib/BackupPC/.ssh/config
 
  
'''Spécification du port SSH'''
+
'''''FullPeriod <code>6.97</code>'''''
  
Il existe plusieurs manières de spécifier ce port mais, la plus efficace est celle ci-dessous.
+
Période minimale en jours, entre les sauvegardes Complètes. Une vidange complète ne sera effectuée que si au moins ce délai s'est écoulé depuis la dernière sauvegarde Complète et, au moins <code>IncrPeriod</code> jours s'est écoulée depuis la dernière sauvegarde réussie.
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
|Host *
 
  
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
+
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 <code>WakeupSchedule</code> rendront l'intervalle de sauvegarde réel un peu plus long.
|}
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;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.
+
<div id="FillCycle"></div>
 +
'''''FillCycle <code>1</code>'''''
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
Avec la version V4+, les sauvegardes Complètes/Incrémentielles sont dissociées de fusionnée/non-fusionnée.
|- style="vertical-align:top;font-family: Courier New;"
 
|Host 192.168.1.33,192.168.1.149
 
  
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
+
Pour imiter le comportement de la version V3, si <code>FillCycle</code> 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 '''0''' 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.
|}
 
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si vous envisagez d'effectuer uniquement des sauvegardes Incrémentielles ''(c'est-à-dire: <code>FullPeriod</code> est défini à une très grande valeur)'', vous devez définir <code>FillCycle</code> à quelle fréquence vous voulez qu'une sauvegarde stockée soit fusionnée. Par exemple, si <code>FillCycle</code> est défini à 7, toutes les 7e sauvegardes seront fusionnées ''(que la sauvegarde correspondante soit Complète ou non)''.
|- style="vertical-align:top;font-family: Courier New;"
 
|Host 192.168.1.0/24
 
  
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
+
Il existe deux raisons pour lesquelles vous voulez un paramètre <code>FillCycle</code> différent de '''0''' lorsque vous ne faites que des Incrémentielles:
|}
 
  
On peut spécifier des hôtes utilisant des ports différents.
+
* 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 <code>FullKeepCnt</code> et les paramètres qui y sont associés n'auront aucun effet.
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
# Si <code>FillCycle</code> = 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.
|- style="vertical-align:top;font-family: Courier New;"
+
# Si BackupPC doit faire du nettoyage à cause d'un dépassement du nombre de sauvegardes à conserver, le message de droite s'affichera après celui de gauche.
|Host 192.168.1.33
 
  
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
+
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:017-BPC-FillCycle1-A.png|center|top|450px|border]]
 +
||[[Image:017-BPC-FillCycle1-B.png|center|top|450px|border]]
 +
|}
 +
</center>
  
Host 192.168.1.144
 
  
&nbsp;&nbsp;&nbsp;&nbsp;Port 3333
+
'''''FullKeepCnt <code>1</code>'''''
|}
+
 
 +
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é <code>FullKeepCnt</code> plutôt que <code>FilledKeepCnt</code>. Si <code>FillCycle</code> 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.
  
[[Image:Icone-SeTirerDembarrasAPT.png|20px]]&nbsp;&nbsp;Sur notre réseau, tous les Serveurs SME utilisent le port SSH '''2222''' alors, <u>pour notre réseau</u>, on spécifie le port '''2222'''.
+
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.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le fichier <code>config</code>.
 
  
cat > /var/lib/BackupPC/.ssh/config <<'EOT'
+
'''''FullKeepCntMin <code>1</code>'''''
<nowiki># Michel-André: 2018-04-24_11h04 HNE</nowiki>
 
<nowiki># Spécification du port SSH à être utilisé par BackupPC</nowiki>
 
Host *
 
    <span style="color:red">Port</span> 2222
 
 
EOT
 
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut que le mot <span style="color:red">Port</span> soit <u>au moins à un espace</u> de la marge de gauche.
+
Les anciennes sauvegardes Complètes sont supprimées après <code>FullAgeMax</code> jours. Cependant, BackupPC conserve au moins <code>FullKeepCntMin</code> sauvegardes Complètes, quel que soit leur âge.
  
 +
On garde au moins 1 sauvegarde Complète.
  
On vérifie les droits, le propriétaire et le groupe.
 
# ls -ls /var/lib/BackupPC/.ssh/config
 
  
0 -<span style="color:red">rw-r-----</span> 1 <span style="color:red">backuppc backuppc</span> 120 28 avril 10:52 /var/lib/BackupPC/.ssh/config
+
'''''FullAgeMax <code>180</code>'''''
  
 +
<code>FullAgeMax</code> sera augmenté à <code>FullKeepCnt</code> fois <code>FullPeriod</code> si <code>FullKeepCnt</code> spécifie suffisamment de sauvegardes Complètes pour dépasser <code>FullAgeMax</code>.
  
=== Propriétés DB ===
 
Il n'existe que trois propriétés DB que vous pouvez modifier:
 
  
* '''''status''''' <code>[enabled | disabled]</code><br/>Voulez-vous que le service démarre automatiquement à l'amorçage du serveur?<br><br>
+
<hr style="width:50%; margin: 0 auto;">
*
 
* '''''examples''''' <code>[enabled | disabled]</code><br/>Souhaitez-vous que les exemples de fichiers de configuration soient ajoutés à nouveau s'ils ont été supprimés?<br><br>
 
*
 
* '''''sudo'''''<br/>Liste des commandes que l'usager '''backuppc''' pourra exécuter en tant que root en utilisant <code>sudo</code>. La valeur par défaut est: <code>/usr/bin/rsync,/bin/gtar</code>.<br><br>
 
*
 
  
Affichage des propriétés du service '''backuppc'''.
 
# db configuration show backuppc
 
  
backuppc=service
+
Cadre '''Sauvegardes Incrémentielles'''
    examples=<span style="color:red">enabled</span>
+
 
    status=<span style="color:red">enabled</span>
+
<center>[[Image:018-BPC-SauvegardesIncrémentielles.png|right|700px|border]]</center>
    sudo=<span style="color:red">/usr/bin/rsync,/bin/gtar</span>
+
 
 +
'''''IncrPeriod <code>0.97</code>'''''
  
Après avoir modifier une de ces propriétés, vous devez en signaler la mise à jour en lançant la commande ci-dessous.
+
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)''.
# signal-event backuppc-update
 
  
 +
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 <code>WakeupSchedule</code> rendront l'intervalle de sauvegarde réel un peu plus long.
  
'''Utilitaire sudo'''
 
  
L'utilitaire <code>sudo</code><ref name="ftn4">'''sudo''': ''Référence'': [https://fr.wikipedia.org/wiki/Sudo https://fr.wikipedia.org/wiki/Sudo].</ref> est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Linux/Unix. ''(abréviation de '''s'''ubstitute '''u'''ser '''do''': "exécuter en se substituant à l'utilisateur".)''
+
'''''IncrKeepCnt <code>6</code>'''''
  
Cet utilitaire 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)''.
+
Nombre de sauvegardes Incrémentielles à conserver. Doit être > = 1.
  
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.
+
Chaque fois qu'une sauvegarde Incrémentielle se termine avec succès et que le compte est > que <code>IncrKeepCnt</code>, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes Incrémentielles en surplus seront supprimées.
  
Par défaut, cette liste comprend les commandes suivantes:
 
  
* /usr/bin/rsync
+
'''''IncrKeepCntMin <code>1</code>'''''
* /bin/gtar
 
  
'''''Fichier de configuration de sudo'''''
+
Garder au moins 1 sauvegarde Incrémentielle.
  
L'utilitaire sudo est un cas particulier car, sa configuration se trouve dans le fichier <code>/etc/sudoers</code>.
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour modifier ce fichier de configuration, il faut absolument utiliser l'éditeur <code>visudo</code>.
+
'''''IncrAgeMax <code>30</code>'''''
  
Lancement de l'éditeur de sudo.
+
Les sauvegardes Incrémentielles très anciennes sont supprimées après <code>IncrAgeMax</code> jours. Cependant, BackupPC conserve au moins <code>IncrKeepCntMin</code> sauvegardes Incrémentielles, quel que soit leur âge.
  
{| class="wikitable" style="width: 50%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
|visudo
 
|}
 
  
'''''Erreur en modifiant le fichier <code>/etc/sudoers</code> avec <code>visudo</code>'''''
+
<hr style="width:50%; margin: 0 auto;">
  
Si vous avez fait une erreur lors de la modification du fichier, un message d'erreur de syntaxe s'affichera à la sortie de <code>visudo</code> et l'invite demandera ce que <code>visudo</code> devrait faire.
 
  
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:50%"
+
Cadre '''Suspension'''
|<div><span style="font-family:Courier New;">visudo: >>> /etc/sudoers: syntax error near line 15 <<<<br>
+
 
&nbsp;Options are:<br>
+
<center>[[Image:019-BPC-CadreSuspension.png|right|700px|border]]</center>
&nbsp;&nbsp;&nbsp;(e)dit sudoers file again<br>
 
&nbsp;&nbsp;&nbsp;e(x)it without saving changes to sudoers file<br>
 
&nbsp;&nbsp;&nbsp;(Q)uit and save changes to sudoers file (DANGER!)
 
</div>
 
|}
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La meilleure réponse est "x", sans guillemets, pour quitter <code>visudo</code> sans sauvegarder les changements apportés.
+
'''''BackupsDisable <code>0</code>'''''
  
=== Réveil par le réseau ''(WOL)''<ref name="ftn5">'''réveil par le réseau''': Fonction permettant de mettre sous tension à distance des ordinateurs personnels, à partir de commandes émises par un serveur de réseau local.
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On peut désactiver en mettant à 1 et activer les sauvegardes dans la configuration des machines clientes lors de leur création.
  
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.<br>''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856].</ref> ===
+
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.
À 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 Lan)''.
 
  
Modifier la propriété <code>sudo</code> et ajouter la commande <code>/sbin/ether-wake</code>.
+
Ce paramètre peut prendre trois valeurs:
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
|<nowiki>#</nowiki> config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake
 
|}
 
  
Signaler le changement...
+
* 0 - Les sauvegardes sont activées.
Modifier la propriété <code>sudo</code> et ajouter la commande <code>/sbin/ether-wake</code>.
+
* 1 - Ne pas faire de sauvegardes régulières sur ce client. Les sauvegardes demandées manuellement''(via l'interface CGI)'' se produiront toujours.
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
* 2 - Ne faire aucune sauvegarde sur ce client. Les demandes manuelles des sauvegardes ''(via l'interface CGI)'' seront ignorées.
|- style="vertical-align:top;font-family: Courier New;"
 
|<nowiki>#</nowiki> signal-event backuppc-update
 
|}
 
  
... puis ajoutez simplement un script, tel que ci-dessous, à votre commande <code>pré-sauvegarde</code> ou à votre commande <code>ping</code>.
+
'''''BlackoutBadPingLimit <code>3</code>'''''
  
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
Si le serveur ne répond pas après le 3e ping, abandonner.
|- style="vertical-align:top;font-family: Courier New;"
 
|
 
<nowiki>#!/bin/sh</nowiki><br>
 
<nowiki># Set the mac address for each host</nowiki><br>
 
<nowiki>host1_mac=<mac address></nowiki><br>
 
<nowiki>host1_name=<host name></nowiki><br>
 
<nowiki>host2_mac=<mac address></nowiki><br>
 
<nowiki>host2_name=<hmac addresshost namemac addresshost name></nowiki><br>
 
<nowiki># How long does the host take to boot</nowiki><br>
 
<nowiki>boottime=120</nowiki><br>
 
<nowiki># Which interface to send the WoL packets out of</nowiki><br>
 
<nowiki>interface=eth0</nowiki><br>
 
<nowiki># Function to check if the host pings</nowiki><br>
 
<nowiki>pingcheck()</nowiki><br>
 
<nowiki>{</nowiki><br>
 
<nowiki>ping -w 5 -c 2 $1</nowiki><br>
 
<nowiki>export pingstatus=$?</nowiki><br>
 
<nowiki>}</nowiki><br>
 
<nowiki>case $1 in</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host1)</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sudo etherwake -i $interface $host1_mac</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep $boottime</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pingcheck $host1_name</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit $pingstatus</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host2)</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sudo etherwake -i $interface $host2_mac</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep $boottime</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pingcheck $host2_name</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit $pingstatus</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "Unknown machine $1"</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1</nowiki><br>
 
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 
<nowiki>esac</nowiki>
 
|}
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;IMPORTANT Si vous utilisez l'usager administrateur '''backuppc''' par défaut, vous devrez utiliser le chemin complet pour les commandes ci-dessus.
+
'''''BlackoutGoodCnt <code>7</code>'''''
 +
 
 +
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 <code>BlackoutGoodCnt</code> bons pings consécutifs, il est sujet à un "blackout" et non sauvegardé pendant les heures et les jours spécifiés par <code>BlackoutPeriods</code>.
 +
 
 +
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 <code>BlackoutBadPingLimit</code>.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Les scripts ne doivent pas être placés dans <code>/etc/BackupPC</code> car les autorisations seront remplacées. On peut les insérer dans notre répertoire de stockage de scripts: <code>/var/lib/BackupPC/script</code>.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 <code>IncrPeriod</code> ''(par exemple: une fois par jour)''. Donc, un paramètre pour <code>BlackoutGoodCnt</code> 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 <code>BlackoutBadPingLimit</code> de 3 signifie que le PC perdra son état de "blackout" après 3-6 heures d'indisponibilité.
  
= Configuration du gabarit localserver-template =
+
Pour désactiver la fonction de "blackout", configurez <code>BlackoutGoodCnt</code> sur 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 <code>WakeupSchedule</code> à un horaire restreint.
  
Pour l'installation, nous avons utilisé la contribution BackupPC4 et un ajout pour les Serveurs SME: <code>smeserver-BackupPC</code> qui inclut <code>smeserver-remoteuseraccess</code>.
 
  
* <code>smeserver-BackupPC</code><br>Crée les gabarits <code>localserver-template</code> et <code>smeserver-template</code> utilisés lors de la création de machines pour les Serveurs SME dont on veut faire des sauvegardes.
+
'''''BlackoutPeriods'''''
  
* <code>smeserver-remoteuseraccess</code><br>Sert à la connexion ssh vers les Serveurs SME.
+
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 <code>hourBegin</code> et <code>hourEnd</code> spécifient les heures à partir de minuit et <code>weekDays</code> est une liste des jours de la semaine où '''0''' est dimanche, '''1''' lundi, etc.
  
  
Nous allons ajuster certains paramètres du gabarit de base <code>localserver-template</code>.
+
<hr style="width:50%; margin: 0 auto;">
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Lorsque nous utiliserons ce gabarit pour créer une nouvelle machine <u>pour le serveur hôte de BackupPC</u>, il ne sera pas nécessaire de configurer la nouvelle machine car le gabarit s'en aura chargé.
 
  
=== Paramètres de sauvegarde ===
+
'''Cadre Divers'''
Choisir l''''Hôte > localserver-template > Modifier la configuration > Paramètres de sau­ve­garde'''.
 
  
 +
<center>[[Image:020-BPC-CadreDivers.png|right|700px|border]]</center>
  
<center>[[Image:024-BPC-ParamsDeSauvegarde.png|right|700px|border]]</center>
+
'''''RestoreInfoKeepCnt <code>10</code>'''''
  
'''''DumpPreUserCmd'''''
+
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.
  
{| class="wikitable"
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 compte pour les restaurations consignées.
|-style="width:600;"
 
|<pre>/var/lib/BackupPC/script/pre-sauvegarde.sh $host</pre>
 
|}
 
  
'''''DumpPostUserCmd'''''
 
  
{| class="wikitable"
+
'''''ArchiveInfoKeepCnt <code>10</code>'''''
|-style="width:600;"
+
 
|<pre>/var/lib/BackupPC/script/post-sauvegarde.sh $host</pre>
+
Nombre de journaux d'archives à conserver. BackupPC mémorise les informations sur chaque requête de sauvegarde. Ce nombre d'archives du journal de chaque client sera conservé avant que les plus anciennes ne soient purgées.
|}
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour plus d'information, voir le paragraphe: [[#Scripts pré/post-sauvegarde]].
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<center>[[Image:025-BPC-BlackoutPeriods.png|right|700px|border]]</center>
 
<span id="BlackoutPeriods"></span>
 
'''''BlackoutPeriods'''''
 
  
* Une ou plusieurs périodes d'interdiction peuvent être spécifiées.
+
'''''BackupZeroFilesIsFatal'''''
* Aucune sauvegarde régulière ''(non manuelle)'' ne sera démarrée pendant l'une de ces périodes.
 
* <code>hourBegin</code> et <code>hourEnd</code> spécifient les heures à partir de minuit et <code>weekDays</code> est une liste des jours de la semaine où '''0''' est dimanche, '''1''' est lundi, etc.
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Nous ne voulons pas que le serveur se sauvegarde lui-même pendant qu'il sauvegarde un autre serveur et vu que les machines des autres serveurs auront une période d'interdiction de <code>7.0 - 19.5</code>, on échange donc ces valeurs par défaut en spécifiant <code>19.5 - 7.0</code> pour la machine hôte de BackupPC. Avec cet échange, la période de sauvegarde du serveur BackupPC sera exlusive de la période de sauvegarde des autres serveurs.
+
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é)''.
  
* ''Sauvegarder''.
+
* <span style="color:red">'''Sauvegarder'''</span>
  
=== Courriel ===
 
  
<center>[[Image:026-BPC-Courrier.png|right|700px|border]]</center>
+
<hr style="width:50%; margin: 0 auto;">
Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.
 
  
* ''Sauvegarder''.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Horaire ===
+
=== Serveur ===
  
<center>[[Image:027-BPC-Horaire.png|right|700px|border]]</center>
+
<center>[[Image:021-BPC-Serveur.png|right|700px|border]]</center>
  
'''''FillCycle <code>1</code>'''''
+
'''''MaxOldLogFiles <code>14</code>'''''
  
Pour plus d'information sur cette variable, voir ci-dessus: [[#FillCycle]].
+
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 <code>14</code> signifie que le répertoire du journal 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)''.
  
'''''BackupsDisable <code>1</code>'''''
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si vous diminuez ce nombre après que BackupPC ait roulé un certain temps, vous devrez supprimer manuellement les anciens fichiers journaux.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On activera les sauvegardes seulement après la création d'une nouvelle machine.
+
* <span style="color:red">'''Sauvegarder'''</span>
  
'''Sauvegardes du serveur hôte de BackupPC'''
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 <code>FullPeriod</code> pour une sauvegarde Complète mensuelle seulement, en spécifiant <code>FullPeriod</code> à 30.5 jours. Nous pourrions aussi ajuster <code>IncrPeriod</code> pour une sauvegarde Incrémentielle hebdomadaire seulement, en spécifiant <code>IncrPeriod</code> à '''6.97''' jours.
+
<hr style="width:50%; margin: 0 auto;">
  
* ''Sauvegarder''.
 
<br>
 
<br>
 
<br>
 
<br>
 
  
 
=== Xfer ===
 
=== Xfer ===
  
[[Image:028-BPC-Xfer-1.png|top|right|700px|border]]
+
{| style="float: right; margin-left:0.5em;"
<span id="XferLogLevel"></span>
+
|-
 +
| style="vertical-align: top;" |[[File:022-BPC-Xfer-B.png|150px|border]]
 +
|}
 +
{| style="float: right; margin-left:1em;"
 +
|-
 +
| style="vertical-align: top;" |[[File:022-BPC-Xfer-A.png|700px|border]]
 +
|}
 +
 
 
'''''XferLogLevel <code>0</code>'''''
 
'''''XferLogLevel <code>0</code>'''''
  
 
Niveau de verbosité dans les fichiers journaux Xfer.
 
Niveau de verbosité dans les fichiers journaux Xfer.
 +
 
* '''0''' signifie être calme,
 
* '''0''' signifie être calme,
 
* '''1''' donnera une ligne par fichier,
 
* '''1''' donnera une ligne par fichier,
* '''2''' montrera également les fichiers sautés par les incrémentielles.
+
* '''2''' montrera également les fichiers sautés par les incrémentielles,
 +
* des valeurs plus élevées donnent plus de résultats.
 +
 
 +
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Pour le déverminage, un niveau de '''8''' pourrait vous orienter vers une solution à un problème donné.
 +
 
 +
* <span style="color:red">'''Sauvegarder'''</span>
  
Des valeurs plus élevées donneront plus de résultats.
 
* Une verbosité de '''8''' servira pour le débogage.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
'''''BackupFilesExclude'''''
+
<hr style="width:50%; margin: 0 auto;">
  
Les sous-répertoires de <code>/var/lib/BackupPC</code> sont les suivants:
 
  
* '''''cpool'''''&nbsp;-&nbsp;Stockage de tous les fichiers compressés à partir des sauvegardes.
+
=== Paramètres ssh ===
* '''''etc'''''&nbsp;-&nbsp;Stockage des fichiers de configuration.
 
* '''''log'''''&nbsp;-&nbsp;Stockage des journaux des sauvegardes/restaurations.
 
* '''''lost+found'''''&nbsp;-&nbsp;Les fichiers qui seraient normalement perdus à cause d'une corruption de répertoire seraient liés dans ce répertoire.
 
* '''''mes_restaurations'''''&nbsp;-&nbsp;Répertoire de stockage des fichiers TAR pour les restaurations. Voir: [[#On crée un répertoire de stockage pour nos futurs fichiers TAR]]
 
* '''''pc'''''&nbsp;-&nbsp;Les sauvegardes de chaque $hôte sont stockées sous ce répertoire sous pc/$hôte.
 
* '''''pool'''''&nbsp;-&nbsp;Tous les fichiers non compressés provenant des sauvegardes sont stockés dans ce répertoire.
 
* '''''script'''''&nbsp;-&nbsp;Contient nos scripts de pré/post-sauvegarde.
 
* '''''.ssh'''''&nbsp;-&nbsp;Répertoire des fichiers relatifs à SSH pour BackupPC. Voir: [[#Fichier de configuration SSH de BackupPC]].
 
  
 +
<center>[[Image:023-BPC-PortSSH.png|right|700px|border]]</center>
 +
'''''Port SSH <u>du Serveur SME</u> <code>2222</code>'''''
  
[[Image:028-BPC-Xfer-2.png|top|right|700px|border]]
+
Dans le gestionnaire Server Manager, nous avons déjà configuré le Port TCP pour l'accès SSH à '''2222'''.
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Le gabarit par défaut de '''local-smeserver''' exclut le répertoire <code>/var/lib/BackupPC</code> des sauvegardes.
 
  
 +
Il faut ajuster le port SSH pour les communications de BackupPC vers les Serveurs SME clients.
 +
<br clear=all>
  
Lorsqu'on sauvegarde le serveur hôte de BackupPC <u>par lui-même</u>, nous voulons inclure certains sous-répertoires de <code>/var/lib/BackupPC</code> et en exclure d'autres.
+
<div id="Fichier de configuration SSH de BackupPC"></div>
 +
'''''Fichier de configuration SSH <u>de BackupPC</u>'''''
  
* On détruit donc l'exclusion complète:<br><nowiki>&nbsp;&nbsp;*</nowiki> Vis-a-vis <code>/var/lib/BackupPC</code>, on clique <code>Détruire</code>.
+
Le répertoire pour tout ce qui concerne SSH est: <code>/var/lib/BackupPC/.ssh</code>.
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
[[Image:028-BPC-Xfer-3.png|top|right|700px|border]]
+
Nous créons un fichier pour spécifier les paramètres de configuration SSH de BackupPC.
* On remplace l'exclusion complète par les exclusions suivantes seulement:<br>&nbsp;&nbsp;<nowiki>*</nowiki> '''Ajouter''' et on entre les répertoires suivants.
+
# touch /var/lib/BackupPC/.ssh/config
# ''/var/lib/BackupPC/cpool''
 
# ''/var/lib/BackupPC/mes_restaurations''
 
# ''/var/lib/BackupPC/pc''
 
# ''/var/lib/BackupPC/pool''.
 
  
  
On exclut aussi les fichiers suivants des sauvegardes:
+
On ajuste le propriétaire et le groupe du fichier.
 +
# chown backuppc:backuppc /var/lib/BackupPC/.ssh/config
  
* '''''/etc/fstab'''''&nbsp;-&nbsp;Sert pour le montage des disques.
 
* '''''/etc/udev/rules.d/70-persistent-net.rules'''''&nbsp;-&nbsp;Relie les a­dres­ses MAC des cartes réseau à leur dispositif <code>eth0</code> et <code>eth1</code>.
 
  
# ''/etc/fstab''
+
On ajuste les droits.
# ''/etc/udev/rules.d/70-persistent-net.rules''
+
# chmod 640 /var/lib/BackupPC/.ssh/config
  
* ''Sauvegarder''.
 
  
 +
'''Spécification du port SSH'''
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si on sauvegarde l'hôte de BackupPC <u>à l'aide d'un autre serveur BackupPC</u>, on n'exclut pas le répertoire <code>/var/lib/BackupPC</code> ni aucun de ses sous-répertoires.
+
Il existe plusieurs manières de spécifier ce port mais, la plus efficace est celle ci-dessous.
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|Host *
  
 +
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
 +
|}
  
<center>'''Notre gabarit localserver-template est prêt à être utilisé pour la création de la machine hôte de BackupPC.'''</center>
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;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.
  
  
= Configuration du gabarit smeserver-template =
+
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.
  
Nous allons ajuster certains paramètres du gabarit de base '''smeserver-template'''.
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|Host 192.168.1.33,192.168.1.149
  
Lorsque nous utiliserons ce gabarit pour créer de nouvelles machines pour les Serveurs SME, il ne sera pas nécessaire de configurer celles-ci car, le gabarit s'en sera chargé.
+
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
 +
|}
  
=== Paramètres de sauvegarde ===
 
  
Choisir l''''Hôte > smeserver-template > Modifier la configuration > Paramètres de sauvegarde'''.
+
Autre forme.
  
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|Host 192.168.1.0/24
  
<center>[[Image:029-BPC-SmeserverTemplate.png|right|700px|border]]</center>
+
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
 +
|}
  
'''''DumpPreUserCmd'''''
 
  
{| class="wikitable"
+
On peut spécifier des hôtes utilisant des ports différents.
|-style="width:600;"
 
|<pre>/var/lib/BackupPC/script/pre-sauvegarde.sh $host</pre>
 
|}
 
  
'''''DumpPostUserCmd'''''
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|Host 192.168.1.33
  
{| class="wikitable"
+
&nbsp;&nbsp;&nbsp;&nbsp;Port 2222
|-style="width:600;"
 
|<pre>/var/lib/BackupPC/script/post-sauvegarde.sh $host</pre>
 
|}
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour plus d'information, voir [[#Scripts pré/post-sauvegarde]].
+
Host 192.168.1.144
<br>
 
* ''Sauvegarder''.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Courriel ===
+
&nbsp;&nbsp;&nbsp;&nbsp;Port 3333
 +
|}
  
<center>[[Image:026-BPC-Courrier.png|right|700px|border]]</center>
 
Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.
 
  
* ''Sauvegarder''.
+
[[Image:Icone-SeTirerDembarrasAPT.png|20px]]&nbsp;&nbsp;Sur notre réseau, tous les Serveurs SME utilisent le port SSH '''2222''' alors, <u>pour notre réseau</u>, on spécifie le port '''2222'''.
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Horaire ===
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Prendre tout le contenu de l'encadré pour générer le fichier <code>config</code>.
  
<center>[[Image:027-BPC-Horaire.png|right|700px|border]]</center>
+
cat > /var/lib/BackupPC/.ssh/config <<'EOT'
 
+
<nowiki># Michel-André: 2018-04-24_11h04 HNE</nowiki>
'''''FillCycle <code>1</code>'''''
+
<nowiki># Spécification du port SSH à être utilisé par BackupPC</nowiki>
 +
Host *
 +
    <span style="color:red">Port</span> 2222
 +
 +
EOT
 +
  
Pour plus d'information sur cette variable, voir ci-dessus: [[#FillCycle]].
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut que le mot <span style="color:red">Port</span> soit <u>au moins à un espace</u> de la marge de gauche.
  
'''''BackupsDisable <code>1</code>'''''
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On <u>désactive</u> les sauvegardes lors de la création d'une nouvelle machine car, une sauvegarde pourrait débuter avant que la configuration de celle-ci soit totalement terminée.
+
On vérifie les droits, le propriétaire et le groupe.
 +
# ls -ls /var/lib/BackupPC/.ssh/config
  
* Cette désactivation n'empêche pas les sauvegardes manuelles.
+
0 -<span style="color:red">rw-r-----</span> 1 <span style="color:red">backuppc backuppc</span> 120 28 avril 10:52 /var/lib/BackupPC/.ssh/config
  
* On activera les sauvegardes automatiques seulement après la première sauvegarde et après avoir vérifier que toutes les configurations fonctionnent correctement.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
<center>[[Image:027-BPC-Horaire-A.png|right|700px|border]]</center>
+
=== Propriétés DB ===
'''''BlackoutPeriods'''''
 
  
Vu que les usagers sont au travail du lundi au vendredi et qu'ils utilisent les Serveurs SME, on ne veut pas lancer de sauvegardes sur les serveurs entre 07h00 et 19h30.
+
Il n'existe que trois propriétés DB que vous pouvez modifier:
  
* On ajuste <code>BlackoutPeriods</code> pour bloquer les sauvegardes automatiques durant les heures de travail.
+
* '''''status''''' <code>[enabled | disabled]</code><br/>Voulez-vous que le service démarre automatiquement à l'amorçage du serveur?<br><br>
 
+
*
* ''Sauvegarder''.
+
* '''''examples''''' <code>[enabled | disabled]</code><br/>Souhaitez-vous que les exemples de fichiers de configuration soient ajoutés à nouveau s'ils ont été supprimés?<br><br>
<br>
+
*
 +
* '''''sudo'''''<br/>Liste des commandes que l'usager '''backuppc''' pourra exécuter en tant que root en utilisant <code>sudo</code>. La valeur par défaut est: <code>/usr/bin/rsync,/bin/gtar</code>.<br><br>
 +
*
  
=== Xfer ===
+
Affichage des propriétés du service '''backuppc'''.
 +
# db configuration show backuppc
  
[[Image:028-BPC-Xfer-1.png|top|right|700px|border]]
+
backuppc=service
 +
    examples=<span style="color:red">enabled</span>
 +
    status=<span style="color:red">enabled</span>
 +
    sudo=<span style="color:red">/usr/bin/rsync,/bin/gtar</span>
  
'''''XferLogLevel <code>0</code>'''''
 
  
Niveau de verbosité dans les fichiers journaux Xfer.
+
Après avoir modifier une de ces propriétés, vous devez en signaler la mise à jour en lançant la commande ci-dessous.
* '''0''' signifie être calme,
+
# signal-event backuppc-update
* '''1''' donnera une ligne par fichier,
 
* '''2''' montrera également les fichiers sautés par les incrémentielles.
 
  
Des valeurs plus élevées donneront plus de résultats.
 
* Une verbosité de '''8''' servira pour le débogage.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
[[Image:028-Xfer-A.png|top|right|700px|border]]
+
'''Utilitaire sudo'''
  
On exclut les fichiers suivants des sauvegardes:
+
L'utilitaire <code>sudo</code><ref name="ftn4">'''sudo''': ''Référence'': [https://fr.wikipedia.org/wiki/Sudo https://fr.wikipedia.org/wiki/Sudo].</ref> est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Linux/Unix. ''(abréviation de '''s'''ubstitute '''u'''ser '''do''': "exécuter en se substituant à l'utilisateur".)''
  
# ''/etc/fstab''
+
Cet utilitaire 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)''.
# ''/etc/udev/rules.d/70-persistent-net.rules''
 
  
* ''Sauvegarder''.
+
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.
<br>
+
 
<br>
+
Par défaut, cette liste comprend les commandes suivantes:
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
<center>'''Notre gabarit smeserver-template est prêt à être utilisé pour la création de machines BackupPC afin de sauvegarder des Serveurs SME.'''.</center>
+
* /usr/bin/rsync
 +
* /bin/gtar
  
  
= Serveur hôte de BackupPC =
+
'''''Fichier de configuration de sudo'''''
  
=== Création de la machine hôte ===
+
L'utilitaire sudo est un cas particulier car, sa configuration se trouve dans le fichier <code>/etc/sudoers</code>.
  
Pour le serveur roulant BackupPC, on crée un machine en utilisant le gabarit '''localserver-template'''.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour modifier ce fichier de configuration, il faut absolument utiliser l'éditeur <code>visudo</code>.
  
'''Serveur >  Modifier la configuration >''' ''onglet'' '''Machines > Ajouter''' '''>''' ''host:'' '''127.0.0.1=localserver-template >''' ''user:'' '''admin > Sauvegarder'''.
+
Lancement de l'éditeur de sudo.
  
<center>
+
{| class="wikitable" style="width: 50%; background-color:#FFEED9;"
{| {| class="wikitable" style="width: 90%;"
+
|- style="vertical-align:top;font-family: Courier New;"
|- style="vertical-align:top;"
+
|visudo
|[[Image:031-BPC-CreationDeLaMachie.png|center|top|650px|border]]
 
||[[Image:031-BPC-CreationDeLaMachie.png-A.png|center|top|350px|border]]
 
 
|}
 
|}
</center>
 
  
La nouvelle machine, hôte de BackupPC, a été crée.
 
  
=== Page d'accueil de la nouvelle machine ===
+
'''''Erreur en modifiant le fichier <code>/etc/sudoers</code> avec <code>visudo</code>'''''
# Sous '''Hôtes''', on choisit le nom de notre nouvelle machine '''127.0.0.1''' ''(hôte de BackupPC - 192.168.1.33''). La page d'accueil s'affiche.
+
 
# [[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Les liens '''Files actuelles''', '''Documentation''', '''Wiki''' et '''Homepage''' n'apparaissent seulement que sur la page d'accueil de BackupPC.
+
Si vous avez fait une erreur lors de la modification du fichier, un message d'erreur de syntaxe s'affichera à la sortie de <code>visudo</code> et l'invite demandera ce que <code>visudo</code> devrait faire.
  
<center>
+
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:50%"
{| {| class="wikitable" style="width: 85%;"
+
|<div><span style="font-family:Courier New;">visudo: >>> /etc/sudoers: syntax error near line 15 <<<<br>
|- style="vertical-align:top;"
+
&nbsp;Options are:<br>
|[[Image:032-BPC-PageAccueil-A.png|center|top|800px|border]]
+
&nbsp;&nbsp;&nbsp;(e)dit sudoers file again<br>
||[[Image:032-BPC-PageAccueil-B.png|center|top|200px|border]]
+
&nbsp;&nbsp;&nbsp;e(x)it without saving changes to sudoers file<br>
 +
&nbsp;&nbsp;&nbsp;(Q)uit and save changes to sudoers file (DANGER!)
 +
</div>
 
|}
 
|}
</center>
 
  
=== Vérification de la configuration ===
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La meilleure réponse est "x", sans guillemets, pour quitter <code>visudo</code> sans sauvegarder les changements apportés.
  
# Modifier la configuration.
 
# Paramètres de sauvegarde; on vérifie la pré-commande et la post-commande.
 
# Courriel.
 
# Sauvegardes complètes.
 
  
<center>
+
=== Réveil par le réseau ''(WOL)''<ref name="ftn5">'''réveil par le réseau''': Fonction permettant de mettre sous tension à distance des ordinateurs personnels, à partir de commandes émises par un serveur de réseau local.
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|[[Image:033-BPC-VerifConfig-A.png|center|top|150px|border]]
 
||[[Image:033-BPC-VerifConfig-B.png|center|top|350px|border]]
 
||[[Image:033-BPC-VerifConfig-C.png|center|top|250px|border]]
 
||[[Image:033-BPC-VerifConfig-D.png|center|top|250px|border]]
 
|}
 
</center>
 
  
 +
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.<br>''Référence'': [http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856 http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856].</ref> ===
  
# Sauvegardes Incrémentielles.
+
À 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 Lan)''.
# Suspension
 
# BlackoutPeriods.
 
# Divers.
 
# Exclusions.
 
  
<center>
+
Modifier la propriété <code>sudo</code> et ajouter la commande <code>/sbin/ether-wake</code>.
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
|- style="vertical-align:top;"
+
|- style="vertical-align:top;font-family: Courier New;"
|[[Image:033-BPC-VerifConfig-E.png|center|top|175px|border]]
+
|<nowiki>#</nowiki> config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake
||[[Image:033-BPC-VerifConfig-F.png|center|top|175px|border]]
 
||[[Image:033-BPC-VerifConfig-G.png|center|top|250px|border]]
 
||[[Image:033-BPC-VerifConfig-H.png|center|top|175px|border]]
 
||[[Image:033-BPC-VerifConfig-J.png|center|top|175px|border]]
 
 
|}
 
|}
</center>
 
  
<code>BackupsDisable</code> s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.
 
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Lorsqu'on aura fait nos sauvegardes de test, on activera les sauvegardes automatiques en mettant <code>BackupsDisable</code> à <code>0</code>.
+
Signaler le changement...
 +
Modifier la propriété <code>sudo</code> et ajouter la commande <code>/sbin/ether-wake</code>.
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|<nowiki>#</nowiki> signal-event backuppc-update
 +
|}
  
<center>'''Tout est prêt pour notre première sauvegarde.'''</center>
 
  
 +
... puis ajoutez simplement un script, tel que ci-dessous, à votre commande <code>pré-sauvegarde</code> ou à votre commande <code>ping</code>.
  
'''Sauvegarde automatique'''
+
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
+
|- style="vertical-align:top;font-family: Courier New;"
<center>[[Image:034-BPC-ProchainReveil.png|right|700px|border]]</center>
+
|
 
+
<nowiki>#!/bin/sh</nowiki><br>
Si nous avons créé et configuré le serveur hôte de BackupPC en dehors de ses heures d'interdiction ''(voir le paragraphe [[#BlackoutPeriods]])'', 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 <code>BackupsDisable</code> est à <code>0</code> ''(sauvegardes automatiques activées)''.
+
<nowiki># Set the mac address for each host</nowiki><br>
 
+
<nowiki>host1_mac=<mac address></nowiki><br>
C'est pour cette raison que nous avons mis <code>BackupsDisable</code> à <code>1</code> ''(sauvegardes automatiques désactivées)'' lors de la configuration du gabarit localserver-template.
+
<nowiki>host1_name=<host name></nowiki><br>
 
+
<nowiki>host2_mac=<mac address></nowiki><br>
=== Clé SSH publique de BackupPC ===
+
<nowiki>host2_name=<hmac addresshost namemac addresshost name></nowiki><br>
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.
+
<nowiki># How long does the host take to boot</nowiki><br>
 +
<nowiki>boottime=120</nowiki><br>
 +
<nowiki># Which interface to send the WoL packets out of</nowiki><br>
 +
<nowiki>interface=eth0</nowiki><br>
 +
<nowiki># Function to check if the host pings</nowiki><br>
 +
<nowiki>pingcheck()</nowiki><br>
 +
<nowiki>{</nowiki><br>
 +
<nowiki>ping -w 5 -c 2 $1</nowiki><br>
 +
<nowiki>export pingstatus=$?</nowiki><br>
 +
<nowiki>}</nowiki><br>
 +
<nowiki>case $1 in</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host1)</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sudo etherwake -i $interface $host1_mac</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep $boottime</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pingcheck $host1_name</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit $pingstatus</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host2)</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sudo etherwake -i $interface $host2_mac</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep $boottime</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pingcheck $host2_name</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit $pingstatus</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "Unknown machine $1"</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1</nowiki><br>
 +
<nowiki>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;</nowiki><br>
 +
<nowiki>esac</nowiki>
 +
|}
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on lance une sauvegarde sans que le serveur à sauvegarder ait reçu la clé SSH de BackupPC, le serveur distant bloquera les futures tentatives de connexion.
 
  
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;IMPORTANT Si vous utilisez l'usager administrateur '''backuppc''' par défaut, vous devrez utiliser le chemin complet pour les commandes ci-dessus.
  
'''Explication du blocage des futures tentatives de connexion'''
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Les scripts ne doivent pas être placés dans <code>/etc/BackupPC</code> car les autorisations seront remplacées. On peut les insérer dans notre répertoire de stockage de scripts: <code>/var/lib/BackupPC/script</code>.
  
Sans la clé SSH, téléversée sur le serveur à sauvegarder et qui permet à BackupPC de se connecter sans utiliser de 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 SME à sauvegarder.
 
  
Sans la clé SSH sur le serveur à sauvegarder, lors de toute sauvegarde, BackupPC émettra l'erreur suivante:
+
= Configuration du gabarit localserver-template =
  
<center>
+
Pour l'installation, nous avons utilisé la contribution BackupPC4 et un ajout pour les Serveurs SME: <code>smeserver-BackupPC</code> qui inclut <code>smeserver-remoteuseraccess</code>.
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
 
|- style="vertical-align:top;font-family: Courier New; text-align: center;"
 
|Got fatal error during xfer (rsync error: unexplained error (code 255) at io.c(629) [Receiver=3.0.9.12]).
 
|}
 
</center>
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Si le Serveur SME a déjà la contribution Fail2Ban installée, après <span style="color:purple"><u>3</u></span> tentatives de connexions infructueuses, il bannit pour <span style="color:purple"><u>30</u></span> jours l'adresse IP en question.
+
* <code>smeserver-BackupPC</code><br>Crée les gabarits <code>localserver-template</code> et <code>smeserver-template</code> utilisés lors de la création de machines pour les Serveurs SME dont on veut faire des sauvegardes.
  
 +
* <code>smeserver-remoteuseraccess</code><br>Sert à la connexion ssh vers les Serveurs SME.
  
'''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 au paragraphe [[#Téléversement de la clé SSH publique de BackupPC]], <u>on le fait obligatoirement maintenant</u>.
+
Nous allons ajuster certains paramètres du gabarit de base <code>localserver-template</code>.
  
 +
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Lorsque nous utiliserons ce gabarit pour créer une nouvelle machine <u>pour le serveur hôte de BackupPC</u>, il ne sera pas nécessaire de configurer la nouvelle machine car le gabarit s'en aura chargé.
  
'''Vérification du téléchargement de la clé publique'''
 
  
On ouvre une session PuTTY vers le Serveur SME hôte de BackupPC ''(192.168.1.33)''.
+
=== Paramètres de sauvegarde ===
 +
Choisir l''''Hôte > localserver-template > Modifier la configuration > Paramètres de sau­ve­garde'''.
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Ne pas utiliser l'adresse 127.0.0.1 car vous vous retrouveriez sur la station hôte de PuTTY.
+
<center>[[Image:024-BPC-ParamsDeSauvegarde.png|right|700px|border]]</center>
  
On vérifie la présence de la clé publique de BackupPC.
 
cat /root/.ssh/authorized_keys2
 
  
<center>[[Image:034-BPC-CleSSH.png|center|700px|border]]</center>
+
'''''DumpPreUserCmd'''''
  
 +
{| class="wikitable"
 +
|-style="width:600;"
 +
|<pre>/var/lib/BackupPC/script/pre-sauvegarde.sh $host</pre>
 +
|}
  
=== Sauvegarde "Complète" de l'hôte BackupPC ===
 
  
Nous allons sauvegarder le Serveur SME roulant BackupPC et dont l'adresse IP est 192.168.1.33 ''(localhost - 127.0.0.1)''.
+
'''''DumpPostUserCmd'''''
  
 +
{| class="wikitable"
 +
|-style="width:600;"
 +
|<pre>/var/lib/BackupPC/script/post-sauvegarde.sh $host</pre>
 +
|}
  
'''Lancement de la sauvegarde'''
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour plus d'information, voir le paragraphe: [[#Scripts pré/post-sauvegarde]].
 +
<br clear=all>
  
On retourne à la page '''127.0.0.1 Accueil''' et on clique '''Démarrer la sauvegarde Complète'''.
 
  
[[Image:035-BPC-LancementDeLaSauvegarde.png|top|center|700px|border]]
+
<center>[[Image:025-BPC-BlackoutPeriods.png|right|700px|border]]</center>
  
 +
<span id="BlackoutPeriods"></span>
 +
'''''BlackoutPeriods'''''
  
# On confirme en cliquant '''Démarrer la sauvegarde complète'''.
+
* - Une ou plusieurs périodes d'interdiction peuvent être spécifiées.<br>Aucune sauvegarde régulière ''(non manuelle)'' ne sera démarrée pendant l'une de ces périodes.<br><code>hourBegin</code> et <code>hourEnd</code> spécifient les heures à partir de minuit et <code>weekDays</code> est une liste des jours de la semaine où '''0''' est dimanche, '''1''' est lundi, etc.<br>[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Nous ne voulons pas que le serveur se sauvegarde lui-même pendant qu'il sauvegarde un autre serveur et vu que les machines des autres serveurs auront une période d'interdiction de <code>7.0 - 19.5</code>, on échange donc ces valeurs par défaut en spécifiant <code>19.5 - 7.0</code> pour la machine hôte de BackupPC. Avec cet échange, la période de sauvegarde du serveur BackupPC sera exlusive de la période de sauvegarde des autres serveurs.<br>- <span style="color:red">'''Sauvegarder'''</span>.
# On retourne à la page d'accueil en cliquant le nom de notre machine i.e. '''127.0.0.1'''.
 
  
<center>
 
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:035-BPC-LancementDeLaSauvegarde-A.png|center|top|450px|border]]
 
||[[Image:035-BPC-LancementDeLaSauvegarde-B.png|center|top|450px|border]]
 
|}
 
</center>
 
  
 +
<hr style="width:50%; margin: 0 auto;">
  
# Au retour à la page d'accueil, BackupPC nous informe du "début de la sauvegarde" ''' >  Fichier journal'''.
 
# La page du journal nous indique que:<br>- le répertoire de stockage des sauvegardes pour la machine 127.0.0.1 a été créé,<br>- <code>AutoBlock</code> est maintenant désactivé,<br>- la sauvegarde a débutée et commencée dans le répertoire racine <code>/</code>.
 
  
<center>
+
=== Courriel ===
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:035-BPC-LancementDeLaSauvegarde-C.png|center|top|450px|border]]
 
||[[Image:035-BPC-LancementDeLaSauvegarde-D.png|center|top|450px|border]]
 
|}
 
</center>
 
  
'''L'utilitaire top'''
+
<center>[[Image:026-BPC-Courrier.png|right|700px|border]]</center>
 +
Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.
  
À la console du Serveur SME BackupPC, on peut lancer la commande <code>top</code> pour voir les processus en cours:
+
* <span style="color:red">'''Sauvegarder'''</span>.
<code>top -d 1</code>.
+
<br clear=all>
  
On voit que backuppc utilise peu de mémoire mais, un pourcentage très substantiel du CPU.
 
  
[[Image:035-BPC-LancementDeLaSauvegarde-E.png|top|center|900px|border]]
+
<hr style="width:50%; margin: 0 auto;">
  
  
'''Fichier journal de la machine'''
+
=== Horaire ===
  
Après quelques minutes et un rafraîchissement de la page du journal, BackupPC nous dit que la sauvegarde est complétée.
+
<center>[[Image:027-BPC-Horaire.png|right|700px|border]]</center>
  
[[Image:035-BPC-LancementDeLaSauvegarde-F.png|top|center|800px|border]]
+
'''''FillCycle <code>1</code>'''''
  
* On remarque qu'<code>AutoBlock</code> a été réactivé par la commande <code>post-sauvegarde</code>.
+
Pour plus d'information sur cette variable, voir ci-dessus: [[#FillCycle]].
*
 
* La sauvegarde s'est terminée correctement.
 
  
 +
'''''BackupsDisable <code>1</code>'''''
  
'''Liste d'attente d'arrière plan'''
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On activera les sauvegardes seulement après la création d'une nouvelle machine.
  
Lors d'une sauvegarde quelconque, la page d'acceuil pourrait afficher le message ci-dessous.
+
'''Sauvegardes du serveur hôte de BackupPC'''
  
[[Image:035-BPC-LancementDeLaSauvegarde-H.png|top|center|700px|border]]
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;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 <code>FullPeriod</code> pour une sauvegarde Complète mensuelle seulement, en spécifiant <code>FullPeriod</code> à 30.5 jours. Nous pourrions aussi ajuster <code>IncrPeriod</code> pour une sauvegarde Incrémentielle hebdomadaire seulement, en spécifiant <code>IncrPeriod</code> à '''6.97''' jours.
  
 +
* <span style="color:red">'''Sauvegarder'''</span>.
 +
<br clear=all>
  
BackupPC est occupé par <code>BackupPC_refCountUpdate</code> qui vérifie le pool des références.
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;<code>BackupPC_refCountUpdate</code> 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. Cet utilitaire est exploité par: <code>BackupPC_dump</code>, <code>BackupPC_nightly</code>, <code>BackupPC_backupDelete</code>, <code>BackupPC_backupDuplicate</code> et <code>BackupPC_fsck</code>.
+
<hr style="width:50%; margin: 0 auto;">
  
Ci-dessous, <code>BackupPC_refCountUpdate</code> a pris 236 secondes.
 
  
[[Image:035-BPC-LancementDeLaSauvegarde-H-1.png|top|center|700px|border]]
+
=== Xfer ===
  
'''Examen de la sauvegarde'''
+
[[Image:028-BPC-Xfer-1.png|top|right|700px|border]]
 +
<span id="XferLogLevel"></span>
 +
'''''XferLogLevel <code>0</code>'''''
  
Lorsque que la sauvegarde est terminée, la page d'accueil nous donne les différentes statistiques de cette sauvegarde.
+
Niveau de verbosité dans les fichiers journaux Xfer.
 +
* '''0''' signifie être calme,
 +
* '''1''' donnera une ligne par fichier,
 +
* '''2''' montrera également les fichiers sautés par les incrémentielles.
  
[[Image:035-BPC-LancementDeLaSauvegarde-I.png|top|center|800px|border]]
+
Des valeurs plus élevées donneront plus de résultats.
 +
* Une verbosité de '''8''' servira pour le débogage.
 +
<br clear=all>
  
  
'''Journaux de la sauvegarde'''
+
'''''BackupFilesExclude'''''
  
On voit que c'est une sauvegarde Complète et qu'elle est fusionnée.
+
Les sous-répertoires de <code>/var/lib/BackupPC</code> sont les suivants:
 
 
[[Image:036-BPC-Journal.png|top|center|800px|border]]
 
  
 +
* '''''cpool'''''&nbsp;-&nbsp;Stockage de tous les fichiers compressés à partir des sauvegardes.
 +
* '''''etc'''''&nbsp;-&nbsp;Stockage des fichiers de configuration.
 +
* '''''log'''''&nbsp;-&nbsp;Stockage des journaux des sauvegardes/restaurations.
 +
* '''''lost+found'''''&nbsp;-&nbsp;Les fichiers qui seraient normalement perdus à cause d'une corruption de répertoire seraient liés dans ce répertoire.
 +
* '''''mes_restaurations'''''&nbsp;-&nbsp;Répertoire de stockage des fichiers TAR pour les restaurations. Voir: [[#On crée un répertoire de stockage pour nos futurs fichiers TAR]]
 +
* '''''pc'''''&nbsp;-&nbsp;Les sauvegardes de chaque $hôte sont stockées sous ce répertoire sous pc/$hôte.
 +
* '''''pool'''''&nbsp;-&nbsp;Tous les fichiers non compressés provenant des sauvegardes sont stockés dans ce répertoire.
 +
* '''''script'''''&nbsp;-&nbsp;Contient nos scripts de pré/post-sauvegarde.
 +
* '''''.ssh'''''&nbsp;-&nbsp;Répertoire des fichiers relatifs à SSH pour BackupPC. Voir: [[#Fichier de configuration SSH de BackupPC]].
  
'''JournalXfer'''
 
  
Le JournalXfer nous indique les fichiers sauvegardés selon le paramètre <code>XferLogLevel</code> au paragraphe [[#XferLogLevel]]. Le fichier journal de cette première sauvegarde est <code>XferLOG.0.z</code>.
+
[[Image:028-BPC-Xfer-2.png|top|right|700px|border]]
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Le gabarit par défaut de '''local-smeserver''' exclut le répertoire <code>/var/lib/BackupPC</code> des sauvegardes.
 +
 
  
* Le script <code>pre-sauvegarde.sh</code> a été exécuté avant la sauvegarde et <code>AutoBlock</code> a été désactivé.
+
Lorsqu'on sauvegarde le serveur hôte de BackupPC <u>par lui-même</u>, nous voulons inclure certains sous-répertoires de <code>/var/lib/BackupPC</code> et en exclure d'autres.
*
 
* Le script <code>post-sauvegarde.sh</code> a été exécuté après la sauvegarde et <code>AutoBlock</code> a été réactivé.
 
  
[[Image:037-BPC-JournalXfer.png|top|center|800px|border]]
+
* On détruit donc l'exclusion complète:<br><nowiki>&nbsp;&nbsp;*</nowiki> Vis-a-vis <code>/var/lib/BackupPC</code>, on clique <code>Détruire</code>.
[[Image:037-BPC-JournalXfer-A.png|top|center|800px|border]]
+
<br clear=all>
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour cette sauvegarde particulière, le paramètre <code>XferLogLevel</code> était à <code>1</code> pour démontrer la liste des fichiers sauvegardés.
 
  
 +
[[Image:028-BPC-Xfer-3.png|top|right|700px|border]]
 +
* On remplace l'exclusion complète par les exclusions suivantes seulement:<br>&nbsp;&nbsp;<nowiki>*</nowiki> '''Ajouter''' et on entre les répertoires suivants.
 +
# ''/var/lib/BackupPC/cpool''
 +
# ''/var/lib/BackupPC/mes_restaurations''
 +
# ''/var/lib/BackupPC/pc''
 +
# ''/var/lib/BackupPC/pool''.
  
'''Journal Erreurs'''
 
  
* Le journal Erreurs nous indique le nombre d'erreurs encourus.
+
On exclut aussi les fichiers suivants des sauvegardes:
  
[[Image:041-BPC-JournalErreurs.png|top|center|800px|border]]
+
* '''''/etc/fstab'''''&nbsp;-&nbsp;Sert pour le montage des disques.
 +
* '''''/etc/udev/rules.d/70-persistent-net.rules'''''&nbsp;-&nbsp;Relie les a­dres­ses MAC des cartes réseau à leur dispositif <code>eth0</code> et <code>eth1</code>.
  
 +
# ''/etc/fstab''
 +
# ''/etc/udev/rules.d/70-persistent-net.rules''
  
'''Journal principal de BackupPC'''
+
* <span style="color:red">'''Sauvegarder'''</span>.
  
Le journal principal de BackupPC contient tous les événements survenus.
 
  
* Ce journal indique notre sauvegarde Complète du serveur 127.0.0.1.
+
<hr style="width:50%; margin: 0 auto;">
  
<center>
 
{| class="wikitable" style="width: 60%;"
 
|- style="vertical-align:top;"
 
|[[Image:042-BPC-JournalPrincipal.png|top|center|200px|border]]
 
||...
 
  
2018-05-05 09:10:28 User admin requested backup of 127.0.0.1 (127.0.0.1)
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si on sauvegarde l'hôte de BackupPC <u>à l'aide d'un autre serveur BackupPC</u>, on n'exclut pas le répertoire <code>/var/lib/BackupPC</code> ni aucun de ses sous-répertoires.
  
2018-05-05 09:11:36 Started full backup on 127.0.0.1 (pid=2527, share=/)
 
  
2018-05-05 09:35:09 Finished full backup on 127.0.0.1
+
<center>'''Notre gabarit localserver-template est prêt à être utilisé pour la création de la machine hôte de BackupPC.'''</center>
  
..
 
|}
 
</center>
 
  
 +
= Configuration du gabarit smeserver-template =
  
'''Journal "messages" du Serveur SME'''
+
Nous allons ajuster certains paramètres du gabarit de base '''smeserver-template'''.
  
Les commandes <code>signal-event pre-backup</code>, <code>signal-event post-backup</code> et les deux <code>remoteaccess-update</code> ont toutes été exécutées correctement.
+
Lorsque nous utiliserons ce gabarit pour créer de nouvelles machines pour les Serveurs SME, il ne sera pas nécessaire de configurer celles-ci car, le gabarit s'en sera chargé.
  
La première commande <code>remoteaccess-update</code> a mis à jour la désactivation de la propriété <code>AutoBlock</code> et la deuxième sa réactivation.
+
=== Paramètres de sauvegarde ===
  
...
+
Choisir l''''Hôte > smeserver-template > Modifier la configuration > Paramètres de sauvegarde'''.
Processing event: <span style="color:red">pre-backup</span>
 
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 
...
 
Processing event: <span style="color:purple">remoteaccess-update</span>
 
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 
...
 
Processing event: <span style="color:red">post-backup</span>
 
Running event handler: /etc/e-smith/events/post-backup/S10mysql-delete-dumped-tables
 
...
 
Processing event: <span style="color:purple">remoteaccess-update</span>
 
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 
...
 
  
=== Espace disque et nombre d'inodes ===
 
'''''Espace disque'''''
 
  
L'espace disque est passé de 4,6M à 1,7G.
+
<center>[[Image:029-BPC-SmeserverTemplate.png|right|700px|border]]</center>
# df -h
 
  
Filesystem            Size  Used Avail Use% Mounted on
+
'''''DumpPreUserCmd'''''
/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  <span style="color:red">1,7G</span>  15G  11% /var/lib/BackupPC
 
  
'''''Nombre d'inodes'''''
+
{| class="wikitable"
 +
|-style="width:600;"
 +
|<pre>/var/lib/BackupPC/script/pre-sauvegarde.sh $host</pre>
 +
|}
  
Le nombre d'inodes est passé de 67 à 201 294.
+
'''''DumpPostUserCmd'''''
# df -i
 
  
/dev/mapper/main-root
+
{| class="wikitable"
                        456064 159191  296873  35% /
+
|-style="width:600;"
tmpfs                  490294      1  490293    1% /dev/shm
+
|<pre>/var/lib/BackupPC/script/post-sauvegarde.sh $host</pre>
/dev/md0                64000    54    63946    1% /boot
+
|}
/dev/sdb1            15005976 <span style="color:red">201294</span> 14804682    2% /var/lib/BackupPC
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour 11% ''(1,7G)'' de l'espace disque de la partition <code>/dev/sbd1</code> le nombre d'inodes est de 201 294. Ce qui serait plus de 15% du total de 1 310 720 si nous avions formaté avec un système de fichiers <code>ext3</code> sans utiliser le paramètre <code>-N</code>. Ce pourcentage n'est que de 2% pour un système <code>ext4</code>.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour plus d'information, voir [[#Scripts pré/post-sauvegarde]].
 +
<br>
 +
* <span style="color:red">'''Sauvegarder'''</span>.
 +
<br clear=all>
  
  
[[Image:043-BPC-RecapitulatifPremiereSauvegarde.png|top|right|800px|border]]
+
<hr style="width:50%; margin: 0 auto;">
* C'est ici qu'on voit l'utilisation du disque et du grand nombre d'inodes ''(le nombre de Fichiers existants vs le nombre de Nouveaux fichiers)''.
 
* Ce nombre s'explique par la création des liens et le stockage de la sauvegarde Complète.
 
<br>
 
<br>
 
<br>
 
  
'''''XferLogLevel'''''
 
  
On pourrait mettre <code>XferLogLevel</code> à <code>1</code> pour une légère augmentation de l'espace disque utilisé.
+
=== Courriel ===
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;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.
+
<center>[[Image:026-BPC-Courrier.png|right|700px|border]]</center>
 +
Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.
  
<center>
+
* <span style="color:red">'''Sauvegarder'''</span>.
{| class="wikitable" style="width: 90%; background-color:#FFEED9;"
+
<br clear=all>
|- style="vertical-align:top;font-family: Courier New;"
 
|
 
...<br>
 
2018-03-03 11:35:44 full backup started for directory /<br>
 
2018-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])<br>
 
2018-03-03 11:39:34 Backup aborted (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11])<br>
 
...
 
|}
 
</center>
 
  
  
 +
<hr style="width:50%; margin: 0 auto;">
  
=== Première sauvegarde Incrémentielle ===
 
On clique: '''Démarrer la sauvegarde Incrémentielle'''.
 
  
[[Image:044-BPC-PremiereIncrementielle-A.png|top|center|800px|border]]
+
=== Horaire ===
  
 +
<center>[[Image:027-BPC-Horaire.png|right|700px|border]]</center>
  
# On confirme en cliquant: '''Démarrer la sauvegarde Incrémentielle'''.
+
'''''FillCycle <code>1</code>'''''
# On retourne à la page d'accueil.
 
# BackupPC indique que la sauvegarde a débutée.
 
# La sauvegarde est en cours.
 
  
<center>
+
Pour plus d'information sur cette variable, voir ci-dessus: [[#FillCycle]].
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:044-BPC-PremiereIncrementielle-B.png|center|top|250px|border]]
 
||[[Image:044-BPC-PremiereIncrementielle-C.png|center|top|250px|border]]
 
||[[Image:044-BPC-PremiereIncrementielle-D.png|center|top|250px|border]]
 
||[[Image:044-BPC-PremiereIncrementielle-E.png|center|top|250px|border]]
 
|}
 
</center>
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Les 2 minutes écoulées entre le début '''10:06''' et la sauvegarde elle-même '''10:08''' ont été utilisées, par <code>BackupPC_refCountUpdate</code>, pour l'ajustement des liens vers la sauvegarde précédente '''#0'''.
+
'''''BackupsDisable <code>1</code>'''''
  
 +
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On <u>désactive</u> les sauvegardes lors de la création d'une nouvelle machine car, une sauvegarde pourrait débuter avant que la configuration de celle-ci soit totalement terminée.
  
# La sauvegarde Incrémentielle est commencée.
+
* Cette désactivation n'empêche pas les sauvegardes manuelles.
# La sauvegarde Incrémentielle est terminée.
 
  
<center>
+
* On activera les sauvegardes automatiques seulement après la première sauvegarde et après avoir vérifier que toutes les configurations fonctionnent correctement.
{| class="wikitable"
+
<br clear=all>
|- style="vertical-align:top;"
 
|[[Image:044-BPC-PremiereIncrementielle-F.png|center|top|450px|border]]
 
||[[Image:044-BPC-PremiereIncrementielle-G.png|center|top|450px|border]]
 
|}
 
</center>
 
  
 +
<center>[[Image:027-BPC-Horaire-A.png|right|700px|border]]</center>
 +
'''''BlackoutPeriods'''''
  
Ci dessous, on voit que la sauvegarde Incrémentielle a été fusionnée à la dernière sauvegarde Complète.
+
Vu que les usagers sont au travail du lundi au vendredi et qu'ils utilisent les Serveurs SME, on ne veut pas lancer de sauvegardes sur les serveurs entre 07h00 et 19h30.
  
[[Image:044-BPC-PremiereIncrementielle-H.png|center|top|700px|border]]
+
* On ajuste <code>BlackoutPeriods</code> pour bloquer les sauvegardes automatiques durant les heures de travail.
  
 +
* <span style="color:red">'''Sauvegarder'''</span>.
 +
<br clear=all>
  
<center>L'Incrémentielle a pris 3.0 minutes et a trouvé un delta de 101 fichiers d'une taille totale de 37.5 Mo.</center>
 
  
 +
<hr style="width:50%; margin: 0 auto;">
  
'''Fusion'''
 
  
# Comme l'affiche la page d'accueil, l'Incrémentielle '''#1''' a été Fusionnée avec la Complète '''#0'''.
+
=== Xfer ===
# La fusion est aussi démontrée ci-dessous, par la grandeur de l'Incrémentielle '''#1'''.
 
  
<center>
+
[[Image:028-BPC-Xfer-1.png|top|right|700px|border]]
{| class="wikitable" style="width: 80%;"
 
|- style="vertical-align:top;"
 
|[[Image:045-BPC-Fusion-A.png|center|top|250px|border]]
 
||[[Image:045-BPC-Fusion-B.png|center|top|700px|border]]
 
|}
 
</center>
 
  
 +
'''''XferLogLevel <code>0</code>'''''
  
'''Examen des fichiers'''
+
Niveau de verbosité dans les fichiers journaux Xfer.
 +
* '''0''' signifie être calme,
 +
* '''1''' donnera une ligne par fichier,
 +
* '''2''' montrera également les fichiers sautés par les incrémentielles.
  
On peut afficher le contenu d'une sauvegarde en cliquant le numéro de celle-ci "1".
+
Des valeurs plus élevées donneront plus de résultats.
 +
* Une verbosité de '''8''' servira pour le débogage.
 +
<br clear=all>
 +
 
 +
[[Image:028-Xfer-A.png|top|right|700px|border]]
 +
 
 +
On exclut les fichiers suivants des sauvegardes:
  
[[Image:046-BPC-ExamenDeFichier-A.png|center|top|800px|border]]
+
# ''/etc/fstab''
 +
# ''/etc/udev/rules.d/70-persistent-net.rules''
 +
 
 +
* <span style="color:red">'''Sauvegarder'''</span>.
 +
<br clear=all>
  
 +
<center>'''Notre gabarit smeserver-template est prêt à être utilisé pour la création de machines BackupPC afin de sauvegarder des Serveurs SME.'''.</center>
  
L'arborescence des fichiers de la sauvegarde est affichée.
 
  
[[Image:046-BPC-ExamenDeFichier-B.png|center|top|800px|border]]
+
= Serveur hôte de BackupPC =
  
 +
=== Création de la machine hôte ===
  
=== Deuxième sauvegarde Incrémentielle ===
+
Pour le serveur roulant BackupPC, on crée un machine en utilisant le gabarit '''localserver-template'''.
On lance une deuxième sauvegarde Incrémentielle.
 
  
# Le script <code>pre-sauvegarde.sh</code> a roulé avec succès.<br>La deuxième sauvegarde Incrémentielle a débutée.<br>La script <code>post-sauvegarde.sh</code> a roulé avec succès.<br>La deuxième sauvegarde Incrémentielle s'est terminée.
+
'''Serveur > Modifier la configuration >''' ''onglet'' '''Machines > Ajouter''' '''>''' ''host:'' '''127.0.0.1=localserver-template >''' ''user:'' '''admin > Sauvegarder'''.
#
 
# BackupPC fusionne toutes les sauvegardes car, pour la machine 127.0.0.1, le paramètre <code>FillCycle</code> est à <code>1</code> indiquant de fusionner toutes les sauvegardes et de toujours les garder ainsi.
 
  
 
<center>
 
<center>
{| class="wikitable" style="width: 80%;"
+
{| {|  style="width: 90%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:047-BPC-Incrementielle-2-A.png|center|top|700px|border]]
+
|[[Image:031-BPC-CreationDeLaMachie.png|center|top|650px|border]]
||[[Image:047-BPC-Incrementielle-2-B.png|center|top|300px|border]]
+
||[[Image:031-BPC-CreationDeLaMachie.png-A.png|center|top|350px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
 +
La nouvelle machine, hôte de BackupPC, a été crée.
  
=== Restauration d'un fichier ===
 
  
'''Restauration vers le répertoire original'''
+
=== Page d'accueil de la nouvelle machine ===
 
+
# Sous '''Hôtes''', on choisit le nom de notre nouvelle machine '''127.0.0.1''' ''(hôte de BackupPC - 192.168.1.33''). La page d'accueil s'affiche.
# Si on veut restaurer un fichier particulier, on clique sur le numéro de la sauvegarde contenant le fichier à restaurer.
+
# [[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Les liens '''Files actuelles''', '''Documentation''', '''Wiki''' et '''Homepage''' n'apparaissent seulement que sur la page d'accueil de BackupPC.
#  
 
# On se rend dans le répertoire du fichier en parcourant l'arborescence à gauche.<br>On coche la case du fichier à restaurer '''> Restaurer les fichiers sélectionnés'''.<br>On peut sélectionner le nombre de fichiers désirés sans aucun problème.
 
  
 
<center>
 
<center>
{| class="wikitable" style="width: 80%;"
+
{| {|  style="width: 90%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:048-BPC-Restauration-A.png|center|top|300px|border]]
+
|[[Image:032-BPC-PageAccueil-A.png|center|top|800px|border]]
||[[Image:048-BPC-Restauration-B.png|center|top|700px|border]]
+
||[[Image:032-BPC-PageAccueil-B.png|center|top|200px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
  
On vérifie le nom du fichier à restaurer '''> Démarrer la restauration'''.
+
=== Vérification de la configuration ===
  
[[Image:048-BPC-Restauration-C.png|center|top|800px|border]]
+
# Modifier la configuration.
 +
# Paramètres de sauvegarde; on vérifie la pré-commande et la post-commande.
 +
# Courriel.
 +
# Sauvegardes complètes.
  
 +
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:033-BPC-VerifConfig-A.png|center|top|150px|border]]
 +
||[[Image:033-BPC-VerifConfig-B.png|center|top|350px|border]]
 +
||[[Image:033-BPC-VerifConfig-C.png|center|top|250px|border]]
 +
||[[Image:033-BPC-VerifConfig-D.png|center|top|250px|border]]
 +
|}
 +
</center>
  
On vérifie le chemin de la source et celui de la destination '''> Restaurer'''.
 
  
[[Image:048-BPC-Restauration-D.png|center|top|800px|border]]
+
# Sauvegardes Incrémentielles.
 +
# Suspension
 +
# BlackoutPeriods.
 +
# Divers.
 +
# Exclusions.
  
 +
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:033-BPC-VerifConfig-E.png|center|top|175px|border]]
 +
||[[Image:033-BPC-VerifConfig-F.png|center|top|175px|border]]
 +
||[[Image:033-BPC-VerifConfig-G.png|center|top|250px|border]]
 +
||[[Image:033-BPC-VerifConfig-H.png|center|top|175px|border]]
 +
||[[Image:033-BPC-VerifConfig-J.png|center|top|175px|border]]
 +
|}
 +
</center>
  
La restauration a réussie; on retourne à la page d'accueil.
+
<code>BackupsDisable</code> s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.
  
[[Image:048-BPC-Restauration-E.png|center|top|800px|border]]
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Lorsqu'on aura fait nos sauvegardes de test, on activera les sauvegardes automatiques en mettant <code>BackupsDisable</code> à <code>0</code>.
 +
 
 +
<center>'''Tout est prêt pour notre première sauvegarde.'''</center>
 +
 
 +
 
 +
'''Sauvegarde automatique'''
 +
 
 +
<center>[[Image:034-BPC-ProchainReveil.png|right|700px|border]]</center>
  
 +
Si nous avons créé et configuré le serveur hôte de BackupPC en dehors de ses heures d'interdiction ''(voir le paragraphe [[#BlackoutPeriods]])'', 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 <code>BackupsDisable</code> est à <code>0</code> ''(sauvegardes automatiques activées)''.
  
Le fichier journal de la machine.
+
C'est pour cette raison que nous avons mis <code>BackupsDisable</code> à <code>1</code> ''(sauvegardes automatiques désactivées)'' lors de la configuration du gabarit localserver-template.
  
[[Image:048-BPC-Restauration-F.png|center|top|800px|border]]
 
  
 +
=== 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.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La restauration a été complétée. La variable <code>0 files</code> ne tient compte que des fichiers créés et non de ceux qui ont été restaurés à l'emplacement original.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on lance une sauvegarde sans que le serveur à sauvegarder ait reçu la clé SSH de BackupPC, le serveur distant bloquera les futures tentatives de connexion.
  
  
À la page d'accueil, on peut voir un nouveau cadre: '''''Résumé de la restauration'''''. Cliquer le numéro de la restauration <code>#0</code> pour en afficher les détails.
+
'''Explication du blocage des futures tentatives de connexion'''
  
[[Image:048-BPC-Restauration-G.png|center|top|800px|border]]
+
Sans la clé SSH, téléversée sur le serveur à sauvegarder et qui permet à BackupPC de se connecter sans utiliser de 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 SME à sauvegarder.
  
'''''Vérification'''''
+
Sans la clé SSH sur le serveur à sauvegarder, lors de toute sauvegarde, BackupPC émettra l'erreur suivante:
  
# On peut cliquer <code>Visionner</code> ou <code>Erreurs</code>.
 
# Si on clique <code>Visionner</code>.
 
<span id="Restauration d'un fichier de 1314 octets"></span>
 
 
<center>
 
<center>
{| class="wikitable" style="width: 80%;background-color:#ffffff;"
+
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
|- style="vertical-align:top;"
+
|- style="vertical-align:top;font-family: Courier New; text-align: center;"
|[[Image:048-BPC-Restauration-H.png|center|top|450px|border]]
+
|Got fatal error during xfer (rsync error: unexplained error (code 255) at io.c(629) [Receiver=3.0.9.12]).
||[[Image:048-BPC-Restauration-I.png|center|top|450px|border]]
 
 
|}
 
|}
 
</center>
 
</center>
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Si le Serveur SME a déjà la contribution Fail2Ban installée, après <span style="color:purple"><u>3</u></span> tentatives de connexions infructueuses, il bannit pour <span style="color:purple"><u>30</u></span> jours l'adresse IP en question.
  
Si on a clique <code>Erreur</code>.
 
  
[[Image:048-BPC-Restauration-J.png|center|top|800px|border]]
+
'''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 au paragraphe [[#Téléversement de la clé SSH publique de BackupPC]], <u>on le fait obligatoirement maintenant</u>.
  
'''Restauration vers un répertoire différent'''
 
  
On peut choisir un autre répertoire de destination tel que <code>/temp</code> pour la restauration '''> Démarrer la restauration'''.
+
'''Vérification du téléchargement de la clé publique'''
  
[[Image:048-BPC-Restauration-K.png|center|top|800px|border]]
+
On ouvre une session PuTTY vers le Serveur SME hôte de BackupPC ''(192.168.1.33)''.
  
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Ne pas utiliser l'adresse 127.0.0.1 car vous vous retrouveriez sur la station hôte de PuTTY.
  
On clique '''Restaurer'''.
+
On vérifie la présence de la clé publique de BackupPC.
 +
cat /root/.ssh/authorized_keys2
  
[[Image:048-BPC-Restauration-L.png|center|top|800px|border]]
+
<center>[[Image:034-BPC-CleSSH.png|center|700px|border]]</center>
  
  
On retourne à la page d'accueil.
+
=== Sauvegarde "Complète" de l'hôte BackupPC ===
  
[[Image:048-BPC-Restauration-M.png|center|top|800px|border]]
+
Nous allons sauvegarder le Serveur SME roulant BackupPC et dont l'adresse IP est 192.168.1.33 ''(localhost - 127.0.0.1)''.
  
<span id="Succès"></span>
 
La restauration s'est terminée avec '''''Succès'''''.
 
  
[[Image:048-BPC-Restauration-N.png|center|top|800px|border]]
+
'''Lancement de la sauvegarde'''
  
 +
On retourne à la page '''127.0.0.1 Accueil''' et on clique '''Démarrer la sauvegarde Complète'''.
  
Vérification dans le '''Fichier journal''' de la machine.
+
[[Image:035-BPC-LancementDeLaSauvegarde.png|top|center|700px|border]]
  
[[Image:048-BPC-Restauration-O.png|center|top|800px|border]]
 
  
 +
# On confirme en cliquant '''Démarrer la sauvegarde complète'''.
 +
# On retourne à la page d'accueil en cliquant le nom de notre machine i.e. '''127.0.0.1'''.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Cette fois-ci, <code>restore 1 complete</code>, la restauration a créé un fichier car, le fichier restauré n'était pas présent dans le répertoire <code>/temp</code>.
+
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:035-BPC-LancementDeLaSauvegarde-A.png|center|top|450px|border]]
 +
||[[Image:035-BPC-LancementDeLaSauvegarde-B.png|center|top|450px|border]]
 +
|}
 +
</center>
  
  
'''''Vérification manuelle.'''''
+
# Au retour à la page d'accueil, BackupPC nous informe du "début de la sauvegarde" ''' >  Fichier journal'''.
 +
# La page du journal nous indique que:<br>- le répertoire de stockage des sauvegardes pour la machine 127.0.0.1 a été créé,<br>- <code>AutoBlock</code> est maintenant désactivé,<br>- la sauvegarde a débutée et commencée dans le répertoire racine <code>/</code>.
 +
 
 +
<center>
 +
{|
 +
|- style="vertical-align:top;"
 +
|[[Image:035-BPC-LancementDeLaSauvegarde-C.png|center|top|450px|border]]
 +
||[[Image:035-BPC-LancementDeLaSauvegarde-D.png|center|top|450px|border]]
 +
|}
 +
</center>
  
# ls -als <span style="color:red">/temp/</span>
 
  
total 12
+
'''L'utilitaire top'''
4 drwxr-xr-x  2 root root 4096  3 mars  2017 .
 
4 dr-xr-xr-x 27 root root 4096  5 mai  11:47 ..
 
4 -rw-------  1 root root 1314  3 mars  2017 <span style="color:red">renouvelerSSL</span>
 
  
=== Nettoyage nocturne ===
+
À la console du Serveur SME BackupPC, on peut lancer la commande <code>top</code> pour voir les processus en cours:
 +
<code>top -d 1</code>.
  
'''Sauvegardes à conserver'''
+
On voit que backuppc utilise peu de mémoire mais, un pourcentage très substantiel du CPU.
  
'''''Complètes'''''
+
[[Image:035-BPC-LancementDeLaSauvegarde-E.png|top|center|900px|border]]
  
[[Image:049-BPC-NettoyageNocturne-A.png|right|top|300px|border]]
 
Dans la page de configuration, sous l'onglet '''Horaire''', nous avons mis <code>FillCycle</code> à <code>1</code> qui implique de fusionner toutes les sauvegardes.
 
  
Nous avons aussi mis <code>FullKeepCnt</code> à <code>1</code> pour indiquer à BackupPC de ne garder qu'une seule sauvegarde Complète car, les Incrémentielles fusionnées peuvent être considérées comme des Complètes.
+
'''Fichier journal de la machine'''
  
* À 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.
+
Après quelques minutes et un rafraîchissement de la page du journal, BackupPC nous dit que la sauvegarde est complétée.
* Pour des raisons de compatibilité avec les anciennes versions, ce paramètre continue d'être appelé <code>FullKeepCnt</code> plutôt que <code>FilledKeepCnt</code>.
 
* La sauvegarde la plus récente ''(qui est toujours fusionnée)'' ne compte pas lors de la vérification de <code>FilledKeepCnt</code>.
 
* Avec ces paramètres, chaque fois qu'une sauvegarde Complète se termine avec succès, la plus ancienne est supprimée.
 
<br>
 
<br>
 
<br>
 
  
'''''Incrémentielles'''''
+
[[Image:035-BPC-LancementDeLaSauvegarde-F.png|top|center|800px|border]]
  
[[Image:049-BPC-NettoyageNocturne-B.png|right|top|300px|border]]Nous avons indiqué de conserver un maximum de '''6''' Incrémentielles avec un minimum de '''1'''.
+
* On remarque qu'<code>AutoBlock</code> a été réactivé par la commande <code>post-sauvegarde</code>.
<br>
+
*
<br>
+
* La sauvegarde s'est terminée correctement.
<br>
+
 
<br>
+
 
<br>
+
'''Liste d'attente d'arrière plan'''
<br>
+
 
<br>
+
Lors d'une sauvegarde quelconque, la page d'acceuil pourrait afficher le message ci-dessous.
<br>
 
  
'''Journal principal de BackupPC'''
+
[[Image:035-BPC-LancementDeLaSauvegarde-H.png|top|center|700px|border]]
  
Nous avons fait 1 Complète et 2 Incrémentielles.
 
  
<center>
+
BackupPC est occupé par <code>BackupPC_refCountUpdate</code> qui vérifie le pool des références.
{| class="wikitable" style="width: 80%;background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|[[Image:049-BPC-NettoyageNocturne-C.png|center|top|550px|border]]
 
||[[Image:049-BPC-NettoyageNocturne-C0.png|center|top|450px|border]]
 
|}
 
</center>
 
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;<code>BackupPC_refCountUpdate</code> 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. Cet utilitaire est exploité par: <code>BackupPC_dump</code>, <code>BackupPC_nightly</code>, <code>BackupPC_backupDelete</code>, <code>BackupPC_backupDuplicate</code> et <code>BackupPC_fsck</code>.
  
'''Fermeture et amorçage du serveur BackupPC'''
+
Ci-dessous, <code>BackupPC_refCountUpdate</code> a pris 236 secondes.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Pour cette démonstration seulement, nous avons ajuster <code>BlackoutPeriods</code> du serveur hôte de BackupPC pour qu'il puisse exécuter une sauvegarde durant la journée.
+
[[Image:035-BPC-LancementDeLaSauvegarde-H-1.png|top|center|700px|border]]
  
<center>
 
{| class="wikitable" style="width: 95%; background-color:#ffffff;"
 
|- style="vertical-align:bottom;"
 
|
 
Nous avons éteint le serveur BackupPC à 20:59:23.
 
||Le lendemain, nous avons amorcer le serveur BackupPC à 09:49:23.
 
  
Le prochain réveil se fera à 10:00:00.
+
'''Examen de la sauvegarde'''
|- style="vertical-align:top;font-family: Courier New;"
 
| 2018-05-05 <span style="color:red">20:59:23</span> Got signal TERM... cleaning up (exit code = 0)
 
||
 
...<br>
 
2018-05-06 <span style="color:red">09:49:23</span> Reading hosts file<br>
 
2018-05-06 09:50:26 BackupPC 4.2.0 (Perl v5.10.1) started, pid 2284<br>
 
2018-05-06 09:50:27 Next wakeup is 2018-05-06 <span style="color:red">10:00:00</span><br>
 
...
 
|}
 
</center>
 
  
 +
Lorsque que la sauvegarde est terminée, la page d'accueil nous donne les différentes statistiques de cette sauvegarde.
  
'''Journal de la machine 127.0.0.1, hôte de BackupPC'''
+
[[Image:035-BPC-LancementDeLaSauvegarde-I.png|top|center|800px|border]]
  
[[Image:049-BPC-NettoyageNocturne-D.png|right|top|300px|border]]
 
Vu que:
 
  
* Nous avons 3 sauvegardes: 1 Complète et 2 Incrémentielles, <u>toutes Fusionnées</u>.
+
'''Journaux de la sauvegarde'''
* <code>FilledKeepCnt</code> = <code>1</code> et <code>FilledKeepCntMin</code> = <code>1</code>.
 
* La sauvegarde la plus récente '''#2''' ''(qui est toujours fusionnées)'' ne compte pas lors de la vérification de <code>FilledKeepCnt</code>.
 
* À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée.
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Nous pouvons affirmer que nous avons présentement: (3 - (la plus récente)) = <u>2 fusionnées</u>.
+
On voit que c'est une sauvegarde Complète et qu'elle est fusionnée.
  
* Nous avons donc <u>1 sauvegarde fusionnée de trop</u>.
+
[[Image:036-BPC-Journal.png|top|center|800px|border]]
  
  
Lorsque BackupPC s'est réveillé, le '''''Nettoyage nocturne''''' n'ayant pas été fait, il a constaté qu'il fallait qu'il supprime 1 sauvegarde fusionnée.
+
'''JournalXfer'''
  
Il a donc:
+
Le JournalXfer nous indique les fichiers sauvegardés selon le paramètre <code>XferLogLevel</code> au paragraphe [[#XferLogLevel]]. Le fichier journal de cette première sauvegarde est <code>XferLOG.0.z</code>.
  
* Supprimé la plus ancienne fusionnée i.e. la sauvegarde Complète, <code>backup 0</code>.
+
* Le script <code>pre-sauvegarde.sh</code> a été exécuté avant la sauvegarde et <code>AutoBlock</code> a été désactivé.
 +
*
 +
* Le script <code>post-sauvegarde.sh</code> a été exécuté après la sauvegarde et <code>AutoBlock</code> a été réactivé.
  
...
+
[[Image:037-BPC-JournalXfer.png|top|center|800px|border]]
2018-05-06 10:00:01 <span style="color:red">Removing filled backup 0</span>
+
[[Image:037-BPC-JournalXfer-A.png|top|center|800px|border]]
2018-05-06 10:00:01 BackupPC_backupDelete: removing #0
 
2018-05-06 10:00:01 BackupPC_backupDelete: No prior backup for merge
 
...
 
  
* Mis les pointeurs à jour.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Pour cette sauvegarde particulière, le paramètre <code>XferLogLevel</code> était à <code>1</code> pour démontrer la liste des fichiers sauvegardés.
  
...
 
2018-05-06 10:03:23 <span style="color:red">BackupPC_refCountUpdate</span>: host 127.0.0.1 got 0 errors (took 1 secs)
 
2018-05-06 10:03:23 Finished BackupPC_backupDelete, status = 0 <span style="color:blue">(running time: 202 sec)</span>
 
...
 
  
* Débuté une sauvegarde Complète car, <code>FullKeepCnt</code> = <code>1</code>.
+
'''Journal Erreurs'''
  
...
+
* Le journal Erreurs nous indique le nombre d'erreurs encourus.
2018-05-06 10:05:43 Output from DumpPreUserCmd:    AutoBlock=disabled
 
2018-05-06 10:06:02 <span style="color:red">full backup started for directory /</span>
 
2018-05-06 10:13:31 Output from DumpPostUserCmd:    AutoBlock=enabled
 
2018-05-06 10:13:32 full backup 3 complete, 84114 files, 3331261397 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)
 
...
 
  
* Supprimé la sauvegarde <code>backup 1</code> car, il existait encore une sauvegarde Fusionnée de trop.
+
[[Image:041-BPC-JournalErreurs.png|top|center|800px|border]]
  
...
 
2018-05-06 10:13:32 <span style="color:red">Removing filled backup 1</span>
 
2018-05-06 10:13:32 BackupPC_backupDelete: removing #1
 
2018-05-06 10:13:32 BackupPC_backupDelete: No prior backup for merge
 
...
 
  
* Terminé sont nettoyage, en mettant les pointeurs à jour.
+
'''Journal principal de BackupPC'''
  
...
+
Le journal principal de BackupPC contient tous les événements survenus.
2018-05-06 10:15:21 <span style="color:red">BackupPC_refCountUpdate</span>: host 127.0.0.1 got 0 errors (took 1 secs)
 
2018-05-06 10:15:21 Finished BackupPC_backupDelete, status = 0 <span style="color:blue">(running time: 109 sec)</span>
 
...
 
  
 +
* Ce journal indique notre sauvegarde Complète du serveur 127.0.0.1.
  
Voici le résultat du nettoyage.
+
<center>
 +
{|  style="width: 60%;"
 +
|- style="vertical-align:top;"
 +
|[[Image:042-BPC-JournalPrincipal.png|top|center|200px|border]]
 +
||...
  
[[Image:049-BPC-NettoyageNocturne-E.png|center|top|800px|border]]
+
2018-05-05 09:10:28 User admin requested backup of 127.0.0.1 (127.0.0.1)
  
 +
2018-05-05 09:11:36 Started full backup on 127.0.0.1 (pid=2527, share=/)
  
 +
2018-05-05 09:35:09 Finished full backup on 127.0.0.1
  
[[Image:049-BPC-NettoyageNocturne-F.png|center|top|800px|border]]
+
..
 +
|}
 +
</center>
  
  
===Activation des sauvegardes automatiques ===
+
'''Journal "messages" du Serveur SME'''
  
[[Image:050-BPC-ActivationDesSauvegardes.png|right|top|300px|border]]
+
Les commandes <code>signal-event pre-backup</code>, <code>signal-event post-backup</code> et les deux <code>remoteaccess-update</code> ont toutes été exécutées correctement.
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Notre configuration fonctionne correctement, nous pouvons maintenant activer les sauvegardes automatiques en mettant <code>BackupsDisable</code> = <code>0</code> sous l'onglet '''Horaire'''.
 
<br>
 
<br>
 
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;La démonstration étant terminée, nous avons remis <code>BlackoutPeriods</code> de la machine du serveur hôte de BackupPC <u>'''127.0.0.1'''</u>, aux mêmes valeurs que celles décrites au paragraphe: [[#BlackoutPeriods]].
 
<br>
 
<br>
 
<br>
 
<br>
 
  
<center>'''Les sauvegardes Complètes et Incrémentielles de l'hôte de BackupPC fonctionnent correctement.'''</center>
+
La première commande <code>remoteaccess-update</code> a mis à jour la désactivation de la propriété <code>AutoBlock</code> et la deuxième sa réactivation.
<br>
 
  
= Serveur SOURCE=
+
...
 +
Processing event: <span style="color:red">pre-backup</span>
 +
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 +
...
 +
Processing event: <span style="color:purple">remoteaccess-update</span>
 +
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 +
...
 +
Processing event: <span style="color:red">post-backup</span>
 +
Running event handler: /etc/e-smith/events/post-backup/S10mysql-delete-dumped-tables
 +
...
 +
Processing event: <span style="color:purple">remoteaccess-update</span>
 +
Running event handler: /etc/e-smith/events/actions/generic_template_expand
 +
...
  
# Diagramme réseau
 
# On affiche la page Web du serveur SOURCE: https://192.168.1.152/ afin de pouvoir la comparer après la restauration de SOURCE sur DESTINATION.
 
  
<center>
+
=== Espace disque et nombre d'inodes ===
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
+
'''''Espace disque'''''
|- style="vertical-align:top;"
+
 
|[[Image:051-BPC-DiagServeurSource.png|center|top|550px|border]]
+
L'espace disque est passé de 4,6M à 1,7G.
||[[Image:051-BPC-IndexHTMLSource.png|center|top|550px|border]]
+
# df -h
|}
 
</center>
 
  
=== Création de la machine SOURCE dans BackupPC ===
+
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  <span style="color:red">1,7G</span>  15G  11% /var/lib/BackupPC
  
Nous allons créer une nouvelle machine dans BackupPC pour représenter le Serveur SME SOURCE.
 
  
Nom du serveur: '''source.micronator-101.org''' // Adresse IP: 192.168.1.152.
+
'''''Nombre d'inodes'''''
  
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.
+
Le nombre d'inodes est passé de 67 à 201 294.
 +
# df -i
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si vous pouvez faire un <code>ping</code> en utilisant le nom de votre Serveur SME, vous pouvez alors utiliser ce nom pour la création de la machine dans BackupPC.
+
/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 <span style="color:red">201294</span> 14804682    2% /var/lib/BackupPC
  
* Nous utilisons le gabarit <code>smeserver-template</code> pour créer la nouvelle machine dans BackupPC.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Pour 11% ''(1,7G)'' de l'espace disque de la partition <code>/dev/sbd1</code> le nombre d'inodes est de 201 294. Ce qui serait plus de 15% du total de 1 310 720 si nous avions formaté avec un système de fichiers <code>ext3</code> sans utiliser le paramètre <code>-N</code>. Ce pourcentage n'est que de 2% pour un système <code>ext4</code>.
  
'''Serveur > Modifier la configuration  >'''  onglet '''Machines  >  Ajouter  >'''  ''host'' '''192.168.1.152=smeserver-template  >'''  ''user'' '''admin  >  Sauvegarder'''.
 
  
<center>
+
[[Image:043-BPC-RecapitulatifPremiereSauvegarde.png|top|right|800px|border]]
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
* C'est ici qu'on voit l'utilisation du disque et du grand nombre d'inodes ''(le nombre de Fichiers existants vs le nombre de Nouveaux fichiers)''.
|- style="vertical-align:top;"
+
* Ce nombre s'explique par la création des liens et le stockage de la sauvegarde Complète.
|[[Image:053-BPC-MachineSource-A.png|center|top|650px|border]]
+
<br clear=all>
||[[Image:053-BPC-MachineSource-B.png|center|top|400px|border]]
+
 
 +
'''''XferLogLevel'''''
 +
 
 +
On pourrait mettre <code>XferLogLevel</code> à <code>1</code> pour une légère augmentation de l'espace disque utilisé.
 +
 
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;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.
 +
 
 +
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
|  
 +
...<br>
 +
2018-03-03 11:35:44 full backup started for directory /<br>
 +
2018-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])<br>
 +
2018-03-03 11:39:34 Backup aborted (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11])<br>
 +
...
 
|}
 
|}
 
</center>
 
</center>
  
'''Page d'accueil'''
 
  
Sous '''Hôtes''', on choisit le nom de notre nouvelle machine i.e. '''192.168.1.152'''. Sa page d'accueil s'affiche.
 
  
[[Image:053-BPC-MachineSource-D.png|center|top|800px|border]]
+
=== Première sauvegarde Incrémentielle ===
 +
On clique: '''Démarrer la sauvegarde Incrémentielle'''.
  
 +
[[Image:044-BPC-PremiereIncrementielle-A.png|top|center|800px|border]]
  
'''Vérification de la configuration'''
 
  
# Modifier la configuration
+
# On confirme en cliquant: '''Démarrer la sauvegarde Incrémentielle'''.
# ''Paramètres de sauvegarde'' → ''Commandes des usagers''.<br>On vérifie la <code>pre-commande</code> et la <code>post-commande</code>.
+
# On retourne à la page d'accueil.
 +
# BackupPC indique que la sauvegarde a débutée.
 +
# La sauvegarde est en cours.
  
 
<center>
 
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
+
{|  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:053-BPC-MachineSource-E.png|center|top|150px|border]]
+
|[[Image:044-BPC-PremiereIncrementielle-B.png|center|top|250px|border]]
||[[Image:053-BPC-MachineSource-F.png|center|top|750px|border]]
+
||[[Image:044-BPC-PremiereIncrementielle-C.png|center|top|250px|border]]
 +
||[[Image:044-BPC-PremiereIncrementielle-D.png|center|top|250px|border]]
 +
||[[Image:044-BPC-PremiereIncrementielle-E.png|center|top|250px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Les 2 minutes écoulées entre le début '''10:06''' et la sauvegarde elle-même '''10:08''' ont été utilisées, par <code>BackupPC_refCountUpdate</code>, pour l'ajustement des liens vers la sauvegarde précédente '''#0'''.
  
# ''Horaire'' → ''Sauvegardes complètes''.
+
 
# ''Sauvegardes incrémentielles''.
+
# La sauvegarde Incrémentielle est commencée.
# ''Suspension''.<br>* <code>BackupsDisable</code> = <code>1</code> = désactivé, s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.<br>* 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. Après la sauvegarde Complète et les deux Incrémentielles du serveur SOURCE, nous allons recycler cette quincaillerie et allons restaurer la dernière sauvegarde Incrémentielle vers la nouvelle quincaillerie i.e. le serveur DESTINATION. Cette Incrémentielle est fusionnée donc, elle est "complète" parce qu'elle contient aussi les liens vers tous les fichiers qui lui manque.<br>* Sur nos Serveurs SME en production, on activera les sauvegardes automatiques seulement après avoir vérifier une sauvegarde manuelle.
+
# La sauvegarde Incrémentielle est terminée.
# ''BlackoutPeriods''.
 
  
 
<center>
 
<center>
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
{|  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
||[[Image:053-BPC-MachineSource-H.png|center|top|225px|border]]
+
|[[Image:044-BPC-PremiereIncrementielle-F.png|center|top|450px|border]]
||[[Image:053-BPC-MachineSource-I.png|center|top|225px|border]]
+
||[[Image:044-BPC-PremiereIncrementielle-G.png|center|top|450px|border]]
|[[Image:053-BPC-MachineSource-G.png|center|top|225px|border]]
 
||[[Image:027-BPC-Horaire-A.png|center|top|375px|border]]
 
 
|}
 
|}
 
</center>
 
</center>
  
  
=== Téléversement de la clé SSH de BackupPC vers SOURCE ===
+
Ci dessous, on voit que la sauvegarde Incrémentielle a été fusionnée à la dernière sauvegarde Complète.
  
<u>Sur le serveur hôte de BackupPC</u>, on se substitue à l'usager '''backuppc'''.
+
[[Image:044-BPC-PremiereIncrementielle-H.png|center|top|700px|border]]
# su -s /bin/bash backuppc
 
  
On téléverse la clé publique de BackupPC vers le client SOURCE afin que BackupPC puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion SSH.
 
# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.152 "cat >> /root/.ssh/authorized_keys2"
 
  
The authenticity of host '[192.168.1.152]:2222 ([192.168.1.152]:2222)' can't be established.
+
<center>L'Incrémentielle a pris 3.0 minutes et a trouvé un delta de 101 fichiers d'une taille totale de 37.5 Mo.</center>
RSA key fingerprint is c0:24:7f:fe:00:83:cd:f6:2b:ad:e7:b9:dc:b4:aa:bf.
 
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
 
Warning: Permanently added '[192.168.1.152]:2222' (RSA) to the list of known hosts.
 
root@192.168.1.152's password: <span style="color:red">mot-de-passe-de-root-<u>du-serveur-SOURCE</u></span>
 
  
  
'''Vérification'''
+
'''Fusion'''
  
On vérifie le login sans mot de passe et la clé SSH de BackupPC stockée sur le serveur SOURCE.
+
# Comme l'affiche la page d'accueil, l'Incrémentielle '''#1''' a été Fusionnée avec la Complète '''#0'''.
# ssh -p 2222 root@192.168.1.152  "cat /root/.ssh/authorized_keys2"
+
# La fusion est aussi démontrée ci-dessous, par la grandeur de l'Incrémentielle '''#1'''.
  
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
+
<center>
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
+
{| style="width: 80%;"
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
+
|- style="vertical-align:top;"
 +
|[[Image:045-BPC-Fusion-A.png|center|top|250px|border]]
 +
||[[Image:045-BPC-Fusion-B.png|center|top|700px|border]]
 +
|}
 +
</center>
  
* L'usager root s'est logué au serveur SOURCE sans mot de passe, le temps d'exécuter la commande <code>cat</code> qui a affiché le contenu du fichier <code>authorized_keys2</code> du serveur 192.168.1.152.
 
  
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.
+
'''Examen des fichiers'''
# cat /var/lib/BackupPC/.ssh/id_rsa.pub
 
  
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
+
On peut afficher le contenu d'une sauvegarde en cliquant le numéro de celle-ci "1".
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
 
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
 
  
* Les clés coïncident. La clé a donc bien été téléversée sur le serveur SOURCE.
+
[[Image:046-BPC-ExamenDeFichier-A.png|center|top|800px|border]]
  
  
On se désengage de la session '''backuppc''' et on retourne à l'usager root.
+
L'arborescence des fichiers de la sauvegarde est affichée.
# exit
 
  
 +
[[Image:046-BPC-ExamenDeFichier-B.png|center|top|800px|border]]
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si la connexion distante n'a pas réussie, on peut se loguer en root à la console du serveur distant et désactiver <code>AutoBlock</code>.
 
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 
|- style="vertical-align:top;font-family: Courier New;"
 
| <nowiki>#</nowiki> config setprop sshd AutoBlock disabled
 
|}
 
  
On signale le changement.
+
=== Deuxième sauvegarde Incrémentielle ===
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
+
On lance une deuxième sauvegarde Incrémentielle.
|- style="vertical-align:top;font-family: Courier New;"
 
| <nowiki>#</nowiki> signal-event remoteaccess-update
 
|}
 
  
 +
# Le script <code>pre-sauvegarde.sh</code> a roulé avec succès.<br>La deuxième sauvegarde Incrémentielle a débutée.<br>La script <code>post-sauvegarde.sh</code> a roulé avec succès.<br>La deuxième sauvegarde Incrémentielle s'est terminée.
 +
#
 +
# BackupPC fusionne toutes les sauvegardes car, pour la machine 127.0.0.1, le paramètre <code>FillCycle</code> est à <code>1</code> indiquant de fusionner toutes les sauvegardes et de toujours les garder ainsi.
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Depuis la console du serveur BackupPC, on ré-essaie une connexion à distance vers le serveur 192.168.1.152.
+
<center>
 +
{|  style="width: 80%;"
 +
|- style="vertical-align:top;"
 +
|[[Image:047-BPC-Incrementielle-2-A.png|center|top|700px|border]]
 +
||[[Image:047-BPC-Incrementielle-2-B.png|center|top|300px|border]]
 +
|}
 +
</center>
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Il ne sera pas nécessaire de réactiver <code>AutoBlock</code> sur le serveur distant car, la script <code>post-sauvegarde.sh</code> s'en chargera.
 
  
 +
=== Restauration d'un fichier ===
  
S'il est impossible de désactiver <code>AutoBlock</code> à cause de l'inaccessibilité de la console à distance:
+
'''Restauration vers le répertoire original'''
  
* On peut demander d'installer '''Fail2ban''' sur le serveur distant et mettre l'IP du serveur BackupPC sur la liste blanche.
+
# Si on veut restaurer un fichier particulier, on clique sur le numéro de la sauvegarde contenant le fichier à restaurer.
* Vu que Fail2ban remplace les fonctionnalités d'<code>AutoBlock</code>, on désactive ce dernier et ainsi, les logins depuis BackupPC ne seront plus jamais bloqués.
+
#
*Pour l'installation de Fail2ban, voir https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.
+
# On se rend dans le répertoire du fichier en parcourant l'arborescence à gauche.<br>On coche la case du fichier à restaurer '''> Restaurer les fichiers sélectionnés'''.<br>On peut sélectionner le nombre de fichiers désirés sans aucun problème.
 
 
 
 
=== Sauvegardes du Serveur SME SOURCE ===
 
 
 
# Diagramme du Serveur SME SOURCE.
 
# Sur la page d'accueil de la machine du serveur SOURCE ''(192.168.1.152)'', on lance la sauvegarde Complète de la même manière que celle du serveur BackupPC exécutée plus tôt.<br>La sauvegarde débute.
 
  
 
<center>
 
<center>
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
{| style="width: 80%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:054-BPC-SauvegardeSource-A.png|rignt|top|250px|border]]
+
|[[Image:048-BPC-Restauration-A.png|center|top|300px|border]]
||[[Image:054-BPC-SauvegardeSource-B.png|center|top|800px|border]]
+
||[[Image:048-BPC-Restauration-B.png|center|top|700px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
  
# La sauvegarde est en cours.
+
On vérifie le nom du fichier à restaurer '''> Démarrer la restauration'''.
# Le '''Fichier journal''' de la machine SOURCE affiche les résultats de la sauvegarde Complète.
+
 
 +
[[Image:048-BPC-Restauration-C.png|center|top|800px|border]]
 +
 
  
<center>
+
On vérifie le chemin de la source et celui de la destination '''> Restaurer'''.
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
+
 
|- style="vertical-align:top;"
+
[[Image:048-BPC-Restauration-D.png|center|top|800px|border]]
|[[Image:054-BPC-SauvegardeSource-C.png|center|top|550px|border]]
+
 
||[[Image:054-BPC-SauvegardeSource-D.png|center|top|550px|border]]
+
 
|}
+
La restauration a réussie; on retourne à la page d'accueil.
</center>
 
  
 +
[[Image:048-BPC-Restauration-E.png|center|top|800px|border]]
  
La page d'accueil de la machine SOURCE affiche tous les détails de la sauvegarde.
 
  
[[Image:054-BPC-SauvegardeSource-E.png|center|top|800px|border]]
+
Le fichier journal de la machine.
  
 +
[[Image:048-BPC-Restauration-F.png|center|top|800px|border]]
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Les Fichiers existants sont ceux trouvés dans la sauvegarde d'un autre SME, celle de 127.0.0.1, ils sont identiques à ceux de SOURCE et ainsi BackupPC crée des liens pour la sauvegarde de SOURCE pointant vers ces mêmes fichiers identiques appartenant à 127.0.0.1. C'est ce qui explique que 10 774 fichiers ont une grandeur totale minime de 21.9 Mo; seulement '''4 852''' nouveaux fichiers, exclusifs à SOURCE, ont été sauvegardés.
 
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La restauration a été complétée. La variable <code>0 files</code> ne tient compte que des fichiers créés et non de ceux qui ont été restaurés à l'emplacement original.
  
'''Incrémentielles du Serveur SME SOURCE'''
 
  
'''''Première Incrémentielle'''''
+
À la page d'accueil, on peut voir un nouveau cadre: '''''Résumé de la restauration'''''. Cliquer le numéro de la restauration <code>#0</code> pour en afficher les détails.
  
On lance la sauvegarde Incrémentielle de la même manière que celle du serveur hôte de BackupPC plus tôt.
+
[[Image:048-BPC-Restauration-G.png|center|top|800px|border]]
  
# L'Incrémentielle est terminée.
+
'''''Vérification'''''
# L'Incrémentielle a été fusionnée.
 
  
 +
# On peut cliquer <code>Visionner</code> ou <code>Erreurs</code>.
 +
# Si on clique <code>Visionner</code>.
 +
<span id="Restauration d'un fichier de 1314 octets"></span>
 
<center>
 
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
+
{| style="width: 80%;background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:055-BPC-IncrementiellesServeurSource-A.png|center|top|800px|border]]
+
|[[Image:048-BPC-Restauration-H.png|center|top|450px|border]]
||[[Image:055-BPC-IncrementiellesServeurSource-B.png|center|top|200px|border]]
+
||[[Image:048-BPC-Restauration-I.png|center|top|450px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
  
Sur la page d'accueil, les détails de la sauvegarde Incrémentielle <code>1</code> sont affichés.
+
Si on a clique <code>Erreur</code>.
  
[[Image:055-BPC-IncrementiellesServeurSource-C.png|center|top|800px|border]]
+
[[Image:048-BPC-Restauration-J.png|center|top|800px|border]]
  
  
'''''Deuxième Incrémentielle'''''
+
'''Restauration vers un répertoire différent'''
 +
 
 +
On peut choisir un autre répertoire de destination tel que <code>/temp</code> pour la restauration '''> Démarrer la restauration'''.
  
On peut aussi faire une deuxième Incrémentielle pour voir ce qui se passera.
+
[[Image:048-BPC-Restauration-K.png|center|top|800px|border]]
  
# Les deux Incrémentielles sont toutes deux fusionnées.
 
# Sur la page d'accueil, les détails de toutes les sauvegardes sont affichés.
 
  
<center>
+
On clique '''Restaurer'''.
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|[[Image:055-BPC-IncrementiellesServeurSource-D.png|center|top|250px|border]]
 
||[[Image:055-BPC-IncrementiellesServeurSource-E.png|center|top|750px|border]]
 
|}
 
</center>
 
  
 +
[[Image:048-BPC-Restauration-L.png|center|top|800px|border]]
  
<center>'''Tout s'est bien passé. On est prêt pour une restauration Complète du serveur SOURCE sur le serveur DESTINATION.'''</center>
 
  
 +
On retourne à la page d'accueil.
  
= Restauration de SOURCE sur DESTINATION =
+
[[Image:048-BPC-Restauration-M.png|center|top|800px|border]]
  
=== Description de la dernière sauvegarde de SOURCE ===
 
  
[[Image:056-BPC-RestSourceSurDestination-C.png|left|top|500px|border]]
+
<span id="Succès"></span>
&nbsp;&nbsp;La dernière sauvegarde de SOURCE porte le <code>#2</code>.
+
La restauration s'est terminée avec '''''Succès'''''.
  
&nbsp;&nbsp;On se servira de ce numéro pour générer le fichier TAR.
+
[[Image:048-BPC-Restauration-N.png|center|top|800px|border]]
<br>
 
<br>
 
<br>
 
<br>
 
  
[[Image:056-BPC-RestSourceSurDestination-D.png|right|top|750px|border]]
 
La dernière 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 sauvegarde Complète.
 
  
 +
Vérification dans le '''Fichier journal''' de la machine.
  
Par contre, elle  n'a pas sauvegarder les fichiers:
+
[[Image:048-BPC-Restauration-O.png|center|top|800px|border]]
  
* <code>/etc/fstab</code><br>Servant pour le montage des disques.<br>&nbsp;&nbsp;
 
* <code>/etc/udev/rules.d/70-persistent-net.rules</code><br>Servant à relier les a­dres­ses MAC des cartes réseau à leur dispositif <code>eth0</code> et <code>eth1</code>.
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
<br>
 
  
=== Création du fichier TAR de la sauvegarde ===
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Cette fois-ci, <code>restore 1 complete</code>, la restauration a créé un fichier car, le fichier restauré n'était pas présent dans le répertoire <code>/temp</code>.
<span id="On crée un répertoire de stockage pour nos futurs fichiers TAR"></span>
 
On crée un répertoire de stockage pour nos futurs fichiers TAR qui serviront pour les restaurations complètes.
 
  
Sur le serveur BackupPC en tant qu'usager root.
 
  # mkdir /var/lib/BackupPC/mes_restaurations
 
  
On ajuste le propriétaire et le groupe.
+
'''''Vérification manuelle.'''''
# chown backuppc:backuppc /var/lib/BackupPC/mes_restaurations/
 
  
On ajuste les droits.
+
  # ls -als <span style="color:red">/temp/</span>
  # chmod 700 /var/lib/BackupPC/mes_restaurations/
 
  
On vérifie.
+
total 12
  # ls -lsd /var/lib/BackupPC/mes_restaurations/
+
4 drwxr-xr-x  2 root root 4096  3 mars  2017 .
 +
4 dr-xr-xr-x 27 root root 4096  5 mai  11:47 ..
 +
  4 -rw------- 1 root root 1314  3 mars  2017 <span style="color:red">renouvelerSSL</span>
  
 +
=== Nettoyage nocturne ===
  
'''Création du fichier TAR'''
+
'''Sauvegardes à conserver'''
  
'''''BackupPC_tarCreate'''''
+
'''''Complètes'''''
  
* <code>BackupPC_tarCreate</code> crée un fichier TAR contenant tous les fichiers ou 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 Complète.
+
[[Image:049-BPC-NettoyageNocturne-A.png|right|top|300px|border]]
*
+
Dans la page de configuration, sous l'onglet '''Horaire''', nous avons mis <code>FillCycle</code> à <code>1</code> qui implique de fusionner toutes les sauvegardes.
* Les fichiers et répertoires de la ligne de commande sont relatifs au nom du partage spécifié.
 
*
 
* Les options <code>-h</code>, <code>-n</code> et <code>-s</code> spécifient quelle sauvegarde est utilisée pour générer l'archive TAR. Les options <code>-r</code> et <code>-p</code> 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.
 
*
 
Options de <code>BackupPC_tarCreate</code>:
 
  
Options obligatoires:
+
Nous avons aussi mis <code>FullKeepCnt</code> à <code>1</code> pour indiquer à BackupPC de ne garder qu'une seule sauvegarde Complète car, les Incrémentielles fusionnées peuvent être considérées comme des Complètes.
    -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
 
 
Autres 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
 
  
 +
* À 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é <code>FullKeepCnt</code> plutôt que <code>FilledKeepCnt</code>.
 +
* La sauvegarde la plus récente ''(qui est toujours fusionnée)'' ne compte pas lors de la vérification de <code>FilledKeepCnt</code>.
 +
* Avec ces paramètres, chaque fois qu'une sauvegarde Complète se termine avec succès, la plus ancienne est supprimée.
 +
<br clear=all>
  
On se substitue à l'usager '''backuppc'''. ''(L'invite va passer de <span style="color:blue">#</span> à <span style="color:red">$</span>)''.
+
'''''Incrémentielles'''''
<span style="color:blue">#</span> su - backuppc -s /bin/sh
 
  
On se rend dans le répertoire de stockage.
+
[[Image:049-BPC-NettoyageNocturne-B.png|right|top|300px|border]]Nous avons indiqué de conserver un maximum de '''6''' Incrémentielles avec un minimum de '''1'''.
<span style="color:red">$</span> cd /var/lib/BackupPC/mes_restaurations/
+
<br clear=all>
  
 +
'''Journal principal de BackupPC'''
  
On crée le fichier TAR de la sauvegarde numéro <code>2</code> du serveur hôte <code>192.168.1.152</code>.
+
Nous avons fait 1 Complète et 2 Incrémentielles.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Peut prendre un certain temps. Être patient!
+
<center>
$ /usr/share/BackupPC/bin/BackupPC_tarCreate  -h 192.168.1.152 -n 2 -s /  / > source-152-2.tar
+
{|  style="width: 80%;background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:049-BPC-NettoyageNocturne-C.png|center|top|550px|border]]
 +
||[[Image:049-BPC-NettoyageNocturne-C0.png|center|top|450px|border]]
 +
|}
 +
</center>
  
On vérifie.
 
$ ls -ls
 
  
2357982 -rw-r--r-- 1 backuppc backuppc 2414571520 15 mai 15:11 <span style="color:red">source-152-2.tar</span>
+
'''Fermeture et amorçage du serveur BackupPC'''
  
 +
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Pour cette démonstration seulement, nous avons ajuster <code>BlackoutPeriods</code> du serveur hôte de BackupPC pour qu'il puisse exécuter une sauvegarde durant la journée.
  
=== Environnement du Serveur DESTINATION ===
+
<center>
 +
{| class="wikitable" style="width: 95%; background-color:#ffffff;"
 +
|- style="vertical-align:bottom;"
 +
|
 +
Nous avons éteint le serveur BackupPC à 20:59:23.
 +
||Le lendemain, nous avons amorcer le serveur BackupPC à 09:49:23.
  
'''Réseau LOCAL vs externe'''
+
Le prochain réveil se fera à 10:00:00.
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
| 2018-05-05 <span style="color:red">20:59:23</span> Got signal TERM... cleaning up (exit code = 0)
 +
||
 +
...<br>
 +
2018-05-06 <span style="color:red">09:49:23</span> Reading hosts file<br>
 +
2018-05-06 09:50:26 BackupPC 4.2.0 (Perl v5.10.1) started, pid 2284<br>
 +
2018-05-06 09:50:27 Next wakeup is 2018-05-06 <span style="color:red">10:00:00</span><br>
 +
...
 +
|}
 +
</center>
  
[[Image:056-BPC-RestSourceSurDestination-E.png|right|top|600px]]
 
Le réseau LOCAL du serveur micronator.org, servant d'aiguilleur pour les connexions à l'Internet, est sur le segment IP 192.168.<span style="color:red">'''1'''</span>.0/24.
 
  
Toutes nos machines de travail et tous nos Serveur SME virtuels sont donc sur le réseau LOCAL du serveur micronator.org.
+
'''Journal de la machine 127.0.0.1, hôte de BackupPC'''
  
Tous nos serveurs virtuels sont connectés à travers leur '''carte réseau LOCAL''' ''(<code>eth0</code>)'' sur le segment LOCAL de micronator.org; ils sont tous sur le segment IP 192.168.<span style="color:red">'''1'''</span>.0/24 et peuvent utiliser l'aiguilleur micronator.org pour se rendre sur l'Internet.
+
[[Image:049-BPC-NettoyageNocturne-D.png|right|top|300px|border]]
 +
Vu que:
  
Tout ceci fait en sorte que toutes nos stations, pour communiquer avec leur serveur respectif, <u>passent par le réseau LOCAL</u> de leur Serveur SME virtuel.
+
* Nous avons 3 sauvegardes: 1 Complète et 2 Incrémentielles, <u>toutes Fusionnées</u>.
 +
* <code>FilledKeepCnt</code> = <code>1</code> et <code>FilledKeepCntMin</code> = <code>1</code>.
 +
* La sauvegarde la plus récente '''#2''' ''(qui est toujours fusionnées)'' ne compte pas lors de la vérification de <code>FilledKeepCnt</code>.
 +
* À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée.
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Nous pouvons affirmer que nous avons présentement: (3 - (la plus récente)) = <u>2 fusionnées</u>.
  
 +
* Nous avons donc <u>1 sauvegarde fusionnée de trop</u>.
  
  
 +
Lorsque BackupPC s'est réveillé, le '''''Nettoyage nocturne''''' n'ayant pas été fait, il a constaté qu'il fallait qu'il supprime 1 sauvegarde fusionnée.
  
'''Serveur SME DESTINATION distant'''
+
Il a donc:
 +
 
 +
* Supprimé la plus ancienne fusionnée i.e. la sauvegarde Complète, <code>backup 0</code>.
  
[[Image:056-BPC-RestSourceSurDestination-F.png|center|top|1000px]]
+
...
 +
2018-05-06 10:00:01 <span style="color:red">Removing filled backup 0</span>
 +
2018-05-06 10:00:01 BackupPC_backupDelete: removing #0
 +
2018-05-06 10:00:01 BackupPC_backupDelete: No prior backup for merge
 +
...
  
Advenant le cas où le Serveur SME est distant et que l'accès SSH soit privé, on peut ouvrir une session TeamViewer sur une station distante ayant accès au réseau LOCAL du serveur distant puis, ouvrir une connexion PuTTY sur la station distante afin de se brancher localement au serveur DESTINATION et rendre l'accès SSH publique.
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Dans le gestionnaire Server Manager de DESTINATION, sur la page '''Accès à distance''', il faut aussi vérifier tous les autres paramètres SSH.  Voir: [[#Paramètres SSH de tous les serveurs]].
+
* Mis les pointeurs à jour.
  
 +
...
 +
2018-05-06 10:03:23 <span style="color:red">BackupPC_refCountUpdate</span>: host 127.0.0.1 got 0 errors (took 1 secs)
 +
2018-05-06 10:03:23 Finished BackupPC_backupDelete, status = 0 <span style="color:blue">(running time: 202 sec)</span>
 +
...
  
'''Mise à jour SME'''
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Avant la restauration, il est préférable de mettre à jour le serveur DESTINATION. Le répertoire <code>/boot</code> du serveur SOURCE n'étant pas sauvegardé, la mise à jour avant la restauration installera sur DESTINATION le dernier noyau Linux s'il y a lieu.
+
* Débuté une sauvegarde Complète car, <code>FullKeepCnt</code> = <code>1</code>.
  
 +
...
 +
2018-05-06 10:05:43 Output from DumpPreUserCmd:    AutoBlock=disabled
 +
2018-05-06 10:06:02 <span style="color:red">full backup started for directory /</span>
 +
2018-05-06 10:13:31 Output from DumpPostUserCmd:    AutoBlock=enabled
 +
2018-05-06 10:13:32 full backup 3 complete, 84114 files, 3331261397 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)
 +
...
  
=== Téléversement de la clé SSH de BackupPC sur DESTINATION ===
 
  
On se substitue à l'usager '''backuppc''' et on téléverse la clé publique de BackupPC sur le serveur DESTINATION ''(192.168.1.102)''  afin que BackupPC puisse entrer en communication avec le serveur DESTINATION sans devoir utiliser un mot de passe lors d'une connexion SSH.
+
* Supprimé la sauvegarde <code>backup 1</code> car, il existait encore une sauvegarde Fusionnée de trop.
$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.102 "cat >> /root/.ssh/authorized_keys2"
 
  
  The authenticity of host '[192.168.1.102]:2222 ([192.168.1.102]:2222)' can't be established.
+
  ...
  RSA key fingerprint is be:a2:3f:cf:c1:4f:05:63:1a:12:c8:75:c5:a7:2c:6f.
+
  2018-05-06 10:13:32 <span style="color:red">Removing filled backup 1</span>
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
+
  2018-05-06 10:13:32 BackupPC_backupDelete: removing #1
  Warning: Permanently added '[192.168.1.102]:2222' (RSA) to the list of known hosts.
+
2018-05-06 10:13:32 BackupPC_backupDelete: No prior backup for merge
  root@192.168.1.102's password: <span style="color:red">mot-de-passe-de-root-du_serveur-DESTINATION</span>
+
  ...
  
  
'''Vérification de la connexion'''
+
* Terminé sont nettoyage, en mettant les pointeurs à jour.
  
On ouvre une connexion SSH vers DESTINATION et on affiche ses paramètres d'<code>AutoBlock</code>.
+
...
  $ /usr/bin/ssh -p2222 root@192.168.1.102 "/sbin/e-smith/config show sshd"
+
2018-05-06 10:15:21 <span style="color:red">BackupPC_refCountUpdate</span>: host 127.0.0.1 got 0 errors (took 1 secs)
 +
  2018-05-06 10:15:21 Finished BackupPC_backupDelete, status = 0 <span style="color:blue">(running time: 109 sec)</span>
 +
...
  
    AutoBlock=enabled
 
    AutoBlockTime=900
 
    AutoBlockTries=4
 
    LoginGraceTime=600
 
    MaxAuthTries=2
 
    MotdStatus=enabled
 
    PasswordAuthentication=<span style="color:red">yes</span>
 
    PermitRootLogin=<span style="color:red">yes</span>
 
    TCPPort=<span style="color:red">2222</span>
 
    UsePAM=yes
 
    access=<span style="color:red">public</span>
 
    status=<span style="color:red">enabled</span>
 
  
Il n'y a pas eu de demande de mot de passe et l'exécution de la commande s'est terminé correctement. La connexion sans mot de passe est donc fonctionnelle.
+
Voici le résultat du nettoyage.
  
On se désengage de la connexion sans mot de passe.
+
[[Image:049-BPC-NettoyageNocturne-E.png|center|top|800px|border]]
$ exit
 
  
Nous sommes de retour à la console du serveur BackupPC; on sort de <code>su</code> et on revient à l'usager root.
 
$ exit
 
  
  
'''Page WEB actuelle de DESTINATION'''
+
[[Image:049-BPC-NettoyageNocturne-F.png|center|top|800px|border]]
  
{| class="wikitable" style="width: 450px; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|[[Image:056-BPC-RestSourceSurDestination-B.png|center|top|450px|border]]
 
|}
 
  
 +
===Activation des sauvegardes automatiques ===
  
'''Login sur le serveur DESTINATION'''
+
[[Image:050-BPC-ActivationDesSauvegardes.png|right|top|300px|border]]
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Notre configuration fonctionne correctement, nous pouvons maintenant activer les sauvegardes automatiques en mettant <code>BackupsDisable</code> = <code>0</code> sous l'onglet '''Horaire'''.
 +
<br clear=all>
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On peut ouvrir un session SSH vers le serveur de DESTINATION <u>pour pouvoir voir ce qui s'est passé en cas d'erreur de restauration</u>.
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;La démonstration étant terminée, nous avons remis <code>BlackoutPeriods</code> de la machine du serveur hôte de BackupPC <u>'''127.0.0.1'''</u>, aux mêmes valeurs que celles décrites au paragraphe: [[#BlackoutPeriods]].
 +
<br clear=all>
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut ouvrir cette session <u>avant la restauration</u> car, celle-ci écrasera les clés SSH de DESTINATION et le serveur pourrait refuser toutes nouvelles connexions.
+
<center>'''Les sauvegardes Complètes et Incrémentielles de l'hôte de BackupPC fonctionnent correctement.'''</center>
 +
<br>
  
 +
= Serveur SOURCE=
  
<center>'''Le fichier TAR de la sauvegarde a été créé et la clé SSH téléversée. Nous sommes prêt pour la restauration.'''</center>
+
# Diagramme réseau
 +
# On affiche la page Web du serveur SOURCE: <span style="color:blue"><nowiki>https://192.168.1.152/</nowiki></span> afin de pouvoir la comparer après la restauration de SOURCE sur DESTINATION.  
  
 +
<center>
 +
{|  style="width: 80%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:051-BPC-DiagServeurSource.png|center|top|550px|border]]
 +
||[[Image:051-BPC-IndexHTMLSource.png|center|top|550px|border]]
 +
|}
 +
</center>
  
=== Commande de pré-restauration ===
+
=== Création de la machine SOURCE dans BackupPC ===
  
Contrairement à une restauration de quelques répertoires ou fichiers, lorsqu'on restaure toute une sauvegarde, il faut exécuter la commande de <code>pre-restauration</code> avant la restauration et celles de <code>post-installation</code> après la restauration.
+
Nous allons créer une nouvelle machine dans BackupPC pour représenter le Serveur SME SOURCE.
  
 +
Nom du serveur: '''source.micronator-101.org''' // Adresse IP: 192.168.1.152.
  
On envoie la commande de <code>pre-restauration</code> avec une pause de 15 secondes.
+
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.
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Attendre que l'invite revienne.
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si vous pouvez faire un <code>ping</code> en utilisant le nom de votre Serveur SME, vous pouvez alors utiliser ce nom pour la création de la machine dans BackupPC.
$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/sbin/e-smith/signal-event pre-restore; /bin/sleep 15"
 
  
Vérification de l'exécution de la commande de pré-restauration.
+
* Nous utilisons le gabarit <code>smeserver-template</code> pour créer la nouvelle machine dans BackupPC.
$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/bin/date; cat /var/log/messages | grep  'Processing event: pre-restore' | tail -1"
 
  
  mar. mai 15 18:26:02 EDT 2018
+
'''Serveur > Modifier la configuration  >'''  onglet '''Machines  > Ajouter  >'''  ''host'' '''192.168.1.152=smeserver-template >'''  ''user'' '''admin  > Sauvegarder'''.
  May 15 18:25:21 destination esmith::event[2537]: <span style="color:red">Processing event: pre-restore</span>
 
  
 +
<center>
 +
{|  style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:053-BPC-MachineSource-A.png|center|top|650px|border]]
 +
||[[Image:053-BPC-MachineSource-B.png|center|top|400px|border]]
 +
|}
 +
</center>
  
=== Arrêt du serveur SOURCE ===
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut absolument que le serveur SOURCE soit éteint avant de lancer les commandes de restauration car, la commande <code>post-restauration</code> en fait partie. Si SOURCE roule encore lors du réamorçage de DESTINATION, des conflits de noms de serveurs et d'adresses IP seraient détectés.
+
'''Page d'accueil'''
  
 +
Sous '''Hôtes''', on choisit le nom de notre nouvelle machine c.-à-d. '''192.168.1.152'''. Sa page d'accueil s'affiche.
  
=== Restauration ===
+
[[Image:053-BPC-MachineSource-D.png|center|top|800px|border]]
  
Le groupe de commandes qui envoie le fichier TAR au serveur DESTINATION:
 
* Se connecte.
 
* Demande à DESTINATION de se rendre dans le répertoire racine <code>/</code>.
 
* Envoie le fichier TAR que DESTINATION décompose avec <code>/bin/tar -xvv</code>.&nbsp;&nbsp;''(L'option <code>vv</code> affiche une liste plus longue, semblabe à <code>ls -l</code>)''.
 
* À la fin du téléversement, envoie les commandes de <code>post-restauration</code>.
 
* Se déconnecte car, les commandes de restauration sont terminées.
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Peut prendre plusieurs minutes et même plusieurs heures pour une très grosse restauration.
+
'''Vérification de la configuration'''
  
 +
# Modifier la configuration
 +
# ''Paramètres de sauvegarde'' → ''Commandes des usagers''.<br>On vérifie la <code>pre-commande</code> et la <code>post-commande</code>.
  
La restauration est terminée lorsque l'invite <span style="color:red">$</span> réapparaît.
+
<center>
 +
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:053-BPC-MachineSource-E.png|center|top|150px|border]]
 +
||[[Image:053-BPC-MachineSource-F.png|center|top|750px|border]]
 +
|}
 +
</center>
  
$ ssh -p 2222 root@192.168.1.102 "cd / && /bin/tar -xvv; /sbin/e-smith/signal-event post-upgrade; /sbin/e-smith/signal-event reboot" < source-152-2.tar
 
  
...
+
# ''Horaire'' → ''Sauvegardes complètes''.
-rw-r--r-- root/root                  172 2007-08-28 10:54 ./var/www/icons/small/unknown.png
+
# ''Sauvegardes incrémentielles''.
-rw-r--r-- root/root                  125 2004-11-20 20:16 ./var/www/icons/small/uu.gif
+
# ''Suspension''.<br>* <code>BackupsDisable</code> = <code>1</code> = désactivé, s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.<br>* 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. Après la sauvegarde Complète et les deux Incrémentielles du serveur SOURCE, nous allons recycler cette quincaillerie et allons restaurer la dernière sauvegarde Incrémentielle vers la nouvelle quincaillerie i.e. le serveur DESTINATION. Cette Incrémentielle est fusionnée donc, elle est "complète" parce qu'elle contient aussi les liens vers tous les fichiers qui lui manque.<br>* Sur nos Serveurs SME en production, on activera les sauvegardes automatiques seulement après avoir vérifier une sauvegarde manuelle.
-rw-r--r-- root/root                  166 2007-08-28 10:54 ./var/www/icons/small/uu.png
+
# ''BlackoutPeriods''.
<span style="color:purple">bash:  : commande introuvable</span>
 
<span style="color:red">$</span>
 
 
 
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La ligne <span style="color:purple">bash:  : commande introuvable</span> peut être ignorée car il n'y a pas de commande introuvable, seulement une suite d'espaces interprété comme une commande.
 
 
 
 
 
=== Réamorçage ===
 
 
 
DESTINATION a reçu les commandes de <code>post-restauration</code> et réamorce pour activer les nouveaux paramètres de configuration i.e. ceux contenus dans le fichier TAR.
 
 
 
# Le serveur débute son réamorçage. ''(Peut prendre un certain temps. Être patient!)''
 
# Activation des paramètres de configuration.
 
  
 
<center>
 
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
+
{| style="width: 90%; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[Image:056-BPC-RestSourceSurDestination-H.png|center|top|500px|border]]
+
||[[Image:053-BPC-MachineSource-H.png|center|top|225px|border]]
||[[Image:056-BPC-RestSourceSurDestination-I.jpg|center|top|500px|border]]
+
||[[Image:053-BPC-MachineSource-I.png|center|top|225px|border]]
 +
|[[Image:053-BPC-MachineSource-G.png|center|top|225px|border]]
 +
||[[Image:027-BPC-Horaire-A.png|center|top|375px|border]]
 
|}
 
|}
 
</center>
 
</center>
  
  
# Remise en place des bases de données MySQL.
+
=== Téléversement de la clé SSH de BackupPC vers SOURCE ===
# Le fenêtre de <code>login</code> est affichée.
 
  
<center>
+
<u>Sur le serveur hôte de BackupPC</u>, on se substitue à l'usager '''backuppc'''.
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
+
# su -s /bin/bash backuppc
|- style="vertical-align:top;"
 
|[[Image:056-BPC-RestSourceSurDestination-J.png|center|top|500px|border]]
 
||[[Image:056-BPC-RestSourceSurDestination-K.png|center|top|500px|border]]
 
|}
 
</center>
 
  
  
=== Vérification ===
+
On téléverse la clé publique de BackupPC vers le client SOURCE afin que BackupPC puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion SSH.
 +
# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.152 "cat >> /root/.ssh/authorized_keys2"
 +
 
 +
The authenticity of host '[192.168.1.152]:2222 ([192.168.1.152]:2222)' can't be established.
 +
RSA key fingerprint is c0:24:7f:fe:00:83:cd:f6:2b:ad:e7:b9:dc:b4:aa:bf.
 +
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
 +
Warning: Permanently added '[192.168.1.152]:2222' (RSA) to the list of known hosts.
 +
root@192.168.1.152's password: <span style="color:red">mot-de-passe-de-root-<u>du-serveur-SOURCE</u></span>
  
'''Login SSH'''
 
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Maintenant, DESTINATION est un clone de de SOURCE.
+
'''Vérification'''
  
 +
On vérifie le login sans mot de passe et la clé SSH de BackupPC stockée sur le serveur SOURCE.
 +
# ssh -p 2222 root@192.168.1.152  "cat /root/.ssh/authorized_keys2"
  
Si nous n'avons pas ouvert de session SSH vers DESTINATION avant la restauration, on en ouvre une maintenant et on se logue en root avec son <u>mot de passe du serveur SOURCE</u>.
+
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
# login as: <span style="color:red">root</span>
+
  OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
+
  xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
  root@192.168.1.152's password: <span style="color:red">mot-de-psse-de-root-sur-SOURCE</span>
 
Last login: Tue May 15 19:31:03 2018
 
  <nowiki>************ Welcome to SME Server 9.2 *************</nowiki>
 
 
Before editing configuration files, familiarise
 
  yourself with the automated events and templates
 
systems.
 
 
Please take the time to read the documentation
 
http://wiki.contribs.org/Main_Page
 
 
Remember that SME Server is free to download
 
and use, but it is not free to build
 
 
Please help the project :
 
http://wiki.contribs.org/Donate
 
 
<nowiki>****************************************************</nowiki>
 
[root@<span style="color:red">source</span> ~]#
 
  
 +
L'usager root s'est logué au serveur SOURCE sans mot de passe, le temps d'exécuter la commande <code>cat</code> qui a affiché le contenu du fichier <code>authorized_keys2</code> du serveur 192.168.1.152.
  
'''Cartes réseau'''
 
# ifconfig
 
  
eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:69:CF
+
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.
          inet adr:192.168.2.152  Bcast:192.168.2.255  Masque:255.255.255.0
+
  # cat /var/lib/BackupPC/.ssh/id_rsa.pub
          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
 
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:5968 (5.8 KiB)  TX bytes:6941 (6.7 KiB)
 
 
eth1      Link encap:Ethernet  HWaddr 08:00:27:D1:6F:3C
 
          inet adr:<span style="color:red">192.168.1.152</span>  Bcast:192.168.1.255  Masque:255.255.255.0
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
          RX packets:342 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:60892 (59.4 KiB)  TX bytes:23676 (23.1 KiB)
 
 
lo        Link encap:Boucle locale
 
          inet adr:127.0.0.1  Masque:255.0.0.0
 
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 
          RX packets:107 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:0
 
          RX bytes:8435 (8.2 KiB)  TX bytes:8435 (8.2 KiB)
 
  
 +
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
 +
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
 +
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
  
===Site Web ===
+
* Les clés coïncident. La clé a donc bien été téléversée sur le serveur SOURCE.
Le site Web est fonctionnel tel qu'il était sur le serveur SOURCE original.
 
  
# Nouveau diagramme du serveur DESTINATION.
 
# On se rend au nouveau URL du serveur DESTINATION i.e. l'adresse du serveur SOURCE.
 
  
<center>
+
On se désengage de la session '''backuppc''' et on retourne à l'usager root.
{| class="wikitable" style="width: 60%; background-color:#ffffff;"
+
# exit
|- style="vertical-align:top;"
+
 
|[[Image:056-BPC-RestSourceSurDestination-L.png|center|top|250px|border]]
+
 
||[[Image:056-BPC-RestSourceSurDestination-M.png|center|top|550px|border]]
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Si la connexion distante n'a pas réussie, on peut se loguer en root à la console du serveur distant et désactiver <code>AutoBlock</code>.
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
| <nowiki>#</nowiki> config setprop sshd AutoBlock disabled
 
|}
 
|}
</center>
 
  
<center>'''Le site Web est tel qu'il était sur le serveur SOURCE original. DESTINATION est maintenant identique à SOURCE. CQFD'''</center>
+
 
 +
On signale le changement.
 +
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
 +
|- style="vertical-align:top;font-family: Courier New;"
 +
| <nowiki>#</nowiki> signal-event remoteaccess-update
 +
|}
  
  
= Cartes réseaux du serveur de DESTINATION =
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Depuis la console du serveur BackupPC, on ré-essaie une connexion à distance vers le serveur 192.168.1.152.
  
Il faut s'assurer que le serveur DESTINATION ait une configuration unique pour ses cartes réseau et que ces dernières soient bien <code>eth0</code> et <code>eth1</code>.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Il ne sera pas nécessaire de réactiver <code>AutoBlock</code> sur le serveur distant car, la script <code>post-sauvegarde.sh</code> s'en chargera.
  
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on change les cartes réseau, la configuration prendrait par défaut, les cartes <code>eth2</code> et <code>eth3</code>.
 
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Exemple: les <u>cartes physiques originales</u> ne sont plus présentes sur le serveur DESTINATION car, après la restauration, <u>elles ont été remplacées par des cartes plus rapides</u>.
+
S'il est impossible de désactiver <code>AutoBlock</code> à cause de l'inaccessibilité de la console à distance:
  
 +
* On peut demander d'installer '''Fail2ban''' sur le serveur distant et mettre l'IP du serveur BackupPC sur la liste blanche.
 +
* Vu que Fail2ban remplace les fonctionnalités d'<code>AutoBlock</code>, on désactive ce dernier et ainsi, les logins depuis BackupPC ne seront plus jamais bloqués.
 +
*Pour l'installation de Fail2ban, voir https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.
  
<span id="Vérification des cartes réseau de DESTINATION"></span>
 
  
'''Vérification des cartes réseaux de DESTINATION'''
+
=== Sauvegardes du Serveur SME SOURCE ===
  
On se logue au serveur DESTINATION et on examine la configuration de ses nouvelles cartes réseau.
+
# Diagramme du Serveur SME SOURCE.
  # ifconfig
+
# Sur la page d'accueil de la machine du serveur SOURCE ''(192.168.1.152)'', on lance la sauvegarde Complète de la même manière que celle du serveur BackupPC exécutée plus tôt.<br>La sauvegarde débute.
 +
 
 +
<center>
 +
{| style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:054-BPC-SauvegardeSource-A.png|rignt|top|250px|border]]
 +
||[[Image:054-BPC-SauvegardeSource-B.png|center|top|800px|border]]
 +
|}
 +
</center>
  
<span style="color:red">eth2</span>      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)
 
 
<span style="color:red">eth3</span>      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
 
          inet adr:192.168.1.1  Bcast:192.168.1.255  Masque:255.255.255.0
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)
 
 
lo        Link encap:Boucle locale
 
          inet adr:127.0.0.1  Masque:255.0.0.0
 
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:0
 
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)
 
  
Comme on le voit ci-dessus, les cartes présentes <u>ne sont pas celles d'origine</u> car elles portent les noms de <code>eth2</code> et <code>eth3</code>.  
+
# La sauvegarde est en cours.
 +
# Le '''Fichier journal''' de la machine SOURCE affiche les résultats de la sauvegarde Complète.
  
 +
<center>
 +
{|  style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:054-BPC-SauvegardeSource-C.png|center|top|550px|border]]
 +
||[[Image:054-BPC-SauvegardeSource-D.png|center|top|550px|border]]
 +
|}
 +
</center>
  
On affiche le fichier de configuration des cartes réseau.
 
# cat /etc/udev/rules.d/70-persistent-net.rules
 
  
<nowiki># This file was automatically generated by the /lib/udev/write_net_rules</nowiki>
+
La page d'accueil de la machine SOURCE affiche tous les détails de la sauvegarde.
<nowiki># program, run by the persistent-net-generator.rules rules file.</nowiki>
+
 
<nowiki>#</nowiki>
+
[[Image:054-BPC-SauvegardeSource-E.png|center|top|800px|border]]
<nowiki># You can modify it, as long as you keep each rule on a single</nowiki>
+
 
<nowiki># line, and change only the value of the NAME= key.</nowiki>
 
 
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
 
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
 
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">eth2</span>"
 
 
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">eth3</span>"
 
  
Comme on le voit ci-dessus, les cartes originales <code>eth0</code> et <code>eth1</code> ont été remplacées par les cartes <code><span style="color:red">eth2</span></code> et <code><span style="color:red">eth3</span></code>.
+
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Les Fichiers existants sont ceux trouvés dans la sauvegarde d'un autre SME, celle de 127.0.0.1, ils sont identiques à ceux de SOURCE et ainsi BackupPC crée des liens pour la sauvegarde de SOURCE pointant vers ces mêmes fichiers identiques appartenant à 127.0.0.1. C'est ce qui explique que 10 774 fichiers ont une grandeur totale minime de 21.9 Mo; seulement '''4 852''' nouveaux fichiers, exclusifs à SOURCE, ont été sauvegardés.
  
  
'''Fichier /etc/udev/rules.d/70-persistent-net.rules'''
+
'''Incrémentielles du Serveur SME SOURCE'''
  
On édite le fichier <code>/etc/udev/rules.d/70-persistent-net.rules</code> tel que ci-dessous:
+
'''''Première Incrémentielle'''''
  
* On supprime les lignes des anciennes cartes <code>eth0</code> et <code>eth1</code>.
+
On lance la sauvegarde Incrémentielle de la même manière que celle du serveur hôte de BackupPC plus tôt.
* On remplace <code>eth2</code> par <code>eth0</code>.
 
* On remplace <code>eth3</code> par <code>eth1</code>.
 
  
<nowiki># This file was automatically generated by the /lib/udev/write_net_rules</nowiki>
+
# L'Incrémentielle est terminée.
<nowiki># program, run by the persistent-net-generator.rules rules file.</nowiki>
+
# L'Incrémentielle a été fusionnée.
<nowiki>#</nowiki>
 
<nowiki># You can modify it, as long as you keep each rule on a single</nowiki>
 
<nowiki># line, and change only the value of the NAME= key.</nowiki>
 
 
<del>#PCI device 0x8086:0x100e (e1000)</del>
 
<del>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"</del>
 
 
<del># PCI device 0x8086:0x100e (e1000)</del>
 
<del>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"</del>
 
 
# PCI device 0x8086:0x100e (e1000)
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">'''eth0'''</span>"
 
 
# PCI device 0x8086:0x100e (e1000)
 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">'''eth1'''</span>"
 
  
 +
<center>
 +
{|  style="width: 80%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:055-BPC-IncrementiellesServeurSource-A.png|center|top|800px|border]]
 +
||[[Image:055-BPC-IncrementiellesServeurSource-B.png|center|top|200px|border]]
 +
|}
 +
</center>
  
'''Répertoire /etc/sysconfig/network-scripts'''
 
  
On se rend dans le répertoire de configuration des scripts des cartes réseau.
+
Sur la page d'accueil, les détails de la sauvegarde Incrémentielle <code>1</code> sont affichés.
# cd /etc/sysconfig/network-scripts
 
  
 +
[[Image:055-BPC-IncrementiellesServeurSource-C.png|center|top|800px|border]]
  
'''Fichier ifcfg-eth2'''
 
# cat ifcfg-eth2 | grep eth2
 
  
DEVICE=eth2
+
'''''Deuxième Incrémentielle'''''
  
 +
On peut aussi faire une deuxième Incrémentielle pour voir ce qui se passera.
  
* On change <code>DEVICE=eth2</code> pour <code>DEVICE=eth0</code>.
+
# Les deux Incrémentielles sont toutes deux fusionnées.
# sed -i 's/DEVICE=eth2/<span style="color:red">DEVICE=eth0</span>/' ifcfg-eth2
+
# Sur la page d'accueil, les détails de toutes les sauvegardes sont affichés.
  
 
+
<center>
* On renomme le fichier <code>ifcfg-eth2</code> pour <code>ifcfg-eth0</code>.
+
{| style="width: 80%; background-color:#ffffff;"
  # mv  ifcfg-eth2  <span style="color:red">ifcfg-eth0</span>
+
|- style="vertical-align:top;"
 +
|[[Image:055-BPC-IncrementiellesServeurSource-D.png|center|top|250px|border]]
 +
||[[Image:055-BPC-IncrementiellesServeurSource-E.png|center|top|750px|border]]
 +
|}
 +
</center>
  
  
'''Fichier ifcfg-eth3'''
+
<center>'''Tout s'est bien passé. On est prêt pour une restauration Complète du serveur SOURCE sur le serveur DESTINATION.'''</center>
# cat ifcfg-eth3 | grep eth3
 
  
DEVICE=eth3
 
  
 +
= Restauration de SOURCE sur DESTINATION =
  
* On change <code>DEVICE=eth3</code> pour <code>DEVICE=eth1</code>.
+
=== Description de la dernière sauvegarde de SOURCE ===
# sed -i 's/DEVICE=eth3/<span style="color:red">DEVICE=eth1</span>/' ifcfg-eth3
 
  
 +
[[Image:056-BPC-RestSourceSurDestination-C.png|left|top|500px|border]]
 +
&nbsp;&nbsp;La dernière sauvegarde de SOURCE porte le <code>#2</code>.
  
* On renomme le fichier <code>ifcfg-eth3</code> pour <code>ifcfg-eth1</code>.
+
&nbsp;&nbsp;On se servira de ce numéro pour générer le fichier TAR.
# mv  ifcfg-eth3  <span style="color:red">ifcfg-eth1</span>
+
<br clear=all>
  
  
'''Fichier route-eth2'''
+
[[Image:056-BPC-RestSourceSurDestination-D.png|right|top|750px|border]]
 +
La dernière 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 sauvegarde Complète.
  
* On renomme le fichier <code>route-eth2</code> pour <code>route-eth0</code>.
 
# mv  route-eth2  <span style="color:red">route-eth0</span>
 
  
 +
Par contre, elle  n'a pas sauvegarder les fichiers:
  
'''Fichier route-eth3'''
+
* <code>/etc/fstab</code><br>Servant pour le montage des disques.<br>&nbsp;&nbsp;
 +
* <code>/etc/udev/rules.d/70-persistent-net.rules</code><br>Servant à relier les a­dres­ses MAC des cartes réseau à leur dispositif <code>eth0</code> et <code>eth1</code>.
 +
<br clear=all>
  
* On change <code>eth3</code> pour <code>eth1</code>.
+
=== Création du fichier TAR de la sauvegarde ===
# sed -i 's/eth3/<span style="color:red">eth1</span>/' route-eth3
+
<span id="On crée un répertoire de stockage pour nos futurs fichiers TAR"></span>
 +
On crée un répertoire de stockage pour nos futurs fichiers TAR qui serviront pour les restaurations complètes.
  
 +
Sur le serveur BackupPC en tant qu'usager root.
 +
  # mkdir /var/lib/BackupPC/mes_restaurations
  
* On renomme le fichier <code>route-eth3</code> pour <code>route-eth1</code>.
 
# mv route-eth3 <span style="color:red">route-eth1</span>
 
  
 +
On ajuste le propriétaire et le groupe.
 +
# chown backuppc:backuppc /var/lib/BackupPC/mes_restaurations/
  
=== Réamorçage ===
 
# shutdown -r now
 
  
On se logue et on vérifie.
+
On ajuste les droits.
  # ifconfig
+
  # chmod 700 /var/lib/BackupPC/mes_restaurations/
  
<span style="color:red">eth0</span>      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
 
          inet adr:192.168.2.102  Bcast:192.168.2.255  Masque:255.255.255.0
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)
 
 
<span style="color:red">eth1</span>      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
 
          inet adr:192.168.1.102  Bcast:192.168.1.255  Masque:255.255.255.0
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:1000
 
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)
 
 
lo        Link encap:Boucle locale
 
          inet adr:127.0.0.1  Masque:255.0.0.0
 
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
 
          collisions:0 lg file transmission:0
 
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)
 
  
 +
On vérifie.
 +
# ls -lsd /var/lib/BackupPC/mes_restaurations/
  
'''Fermeture de la connexion SSH'''
 
  
On ferme la connexion SSH vers le serveur DESTINATION.
+
'''Création du fichier TAR'''
# exit
 
  
<center>'''Les cartes réseau ont retrouvé leur dispositif par défaut.'''</center>
+
'''''BackupPC_tarCreate'''''
  
= Déverminage =
+
* <code>BackupPC_tarCreate</code> crée un fichier TAR contenant tous les fichiers ou 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 Complète.
 +
*
 +
* Les fichiers et répertoires de la ligne de commande sont relatifs au nom du partage spécifié.
 +
*
 +
* Les options <code>-h</code>, <code>-n</code> et <code>-s</code> spécifient quelle sauvegarde est utilisée pour générer l'archive TAR. Les options <code>-r</code> et <code>-p</code> 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.
 +
  
<span id="sshd & AutoBlock"></span>
+
Options de <code>BackupPC_tarCreate</code>:
=== sshd & AutoBlock ===
 
  
'''OpenSSH'''
+
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
 +
 +
Autres 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
  
''Référence'': https://fr.wikipedia.org/wiki/OpenSSH.
 
  
OpenSSH ''('''Open'''BSD '''S'''ecure '''Sh'''ell)'' est un ensemble d'outils informatiques LIBREs, permettant des communications sécurisées sur un réseau informatique en utilisant le protocole SSH.
+
On se substitue à l'usager '''backuppc'''. ''(L'invite va passer de <span style="color:blue">#</span> à <span style="color:red">$</span>)''.
 +
<span style="color:blue">#</span> su - backuppc -s /bin/sh
  
Créé comme alternative LIBRE à la suite logicielle proposée par la société SSH Communications Security, OpenSSH est développé depuis 1999 par l'équipe d'OpenBSD, dirigée par son fondateur Theo de Raadt, et diffusé sous licence BSD.
 
  
OpenSSH est à la fois une brique logicielle du système OpenBSD et l'implémentation SSH la plus utilisée sur les systèmes BSD et GNU/Linux. L'équipe du projet OpenSSH maintient une version ''normale'' propre à OpenBSD et une version multiplateforme sous l'appellation Portable OpenSSH à destination des systèmes compatibles ''(autres BSD, systèmes GNU/Linux...)''. Les versions multiplateforme sont estampillées d'un <code>p</code> comme '''p'''ortable, par exemple: <code>OpenSSH 5.0'''p'''1</code>.
+
On se rend dans le répertoire de stockage.
 +
<span style="color:red">$</span> cd /var/lib/BackupPC/mes_restaurations/
  
La suite logicielle OpenSSH inclut les outils suivants:
 
  
* '''ssh''', un remplaçant pour les clients rlogin et telnet: ssh utilisateur@exemple.com.
+
On crée le fichier TAR de la sauvegarde numéro <code>2</code> du serveur hôte <code>192.168.1.152</code>.
* '''scp''', un remplaçant pour le client rcp: scp toto.txt utilisateur@exemple.com:~/utilisateur/.
 
* '''sftp''', un remplaçant pour le client ftp: sftp utilisateur@exemple.com.
 
* '''sshd''', le démon SSH: sshd, le démon qui nous intéresse le plus en ce qui concerne BackupPC.
 
  
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Peut prendre un certain temps. Être patient!
 +
$ /usr/share/BackupPC/bin/BackupPC_tarCreate  -h 192.168.1.152 -n 2 -s /  / > source-152-2.tar
  
'''Paramètres du démon <code>sshd</code> pour tous nos Serveurs SME'''
 
  
Comme exemple, on affiche le paramètre du démon <code>sshd</code> du serveur hôte de BackupPC.
+
On vérifie.
  # config show sshd
+
  $ ls -ls
  
  sshd=service
+
  2357982 -rw-r--r-- 1 backuppc backuppc 2414571520 15 mai 15:11 <span style="color:red">source-152-2.tar</span>
    AutoBlock=enabled
 
    AutoBlockTime=900
 
    AutoBlockTries=4
 
    LoginGraceTime=600
 
    MaxAuthTries=2
 
    MotdStatus=enabled
 
    PasswordAuthentication=yes
 
    PermitRootLogin=yes
 
    TCPPort=2222
 
    UsePAM=yes
 
    access=public
 
    status=enabled
 
  
  
'''''AutoBlock=enabled'''''
+
=== Environnement du Serveur DESTINATION ===
  
Si <code>AutoBlock</code> est activé i.e <code>=enabled</code>, il rejette les connexions, provenant de la même adresse IP, après '''3''' demandes ou plus ''(début du blocage indiqué par <code>AutoBlockTries</code>)'' au cours des '''15''' minutes précédentes ''(<code>AutoBlockTime=900</code>)''. Le blocage automatique se termine lorsqu'il y a eu moins de demandes que ce nombre dans le temps spécifié ''(<code>AutoBlockTime</code>)''. Les <u>connexions réussies</u> font aussi partie du nombre de demandes.
+
'''Réseau LOCAL vs externe'''
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Par design, seules les adresses IP <u>en dehors du réseau LOCAL</u> seront bloquées.
+
[[Image:056-BPC-RestSourceSurDestination-E.png|right|top|600px]]
 +
Le réseau LOCAL du serveur micronator.org, servant d'aiguilleur pour les connexions à l'Internet, est sur le segment IP 192.168.<span style="color:red">'''1'''</span>.0/24.
  
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Dans cette marche à suivre, on s'occupe toujours d'<code>AutoBlock</code> au cas où les communications des serveurs de nos lecteurs se feraient sur le réseau externe au lieu de LOCAL.  
+
Toutes nos machines de travail et tous nos Serveur SME virtuels sont donc sur le réseau LOCAL du serveur micronator.org.
  
 +
Tous nos serveurs virtuels sont connectés à travers leur '''carte réseau LOCAL''' ''(<code>eth0</code>)'' sur le segment LOCAL de micronator.org; ils sont tous sur le segment IP 192.168.<span style="color:red">'''1'''</span>.0/24 et peuvent utiliser l'aiguilleur micronator.org pour se rendre sur l'Internet.
  
'''''AutoBlockTime=<code>900</code>'''''
+
Tout ceci fait en sorte que toutes nos stations, pour communiquer avec leur serveur respectif, <u>passent par le réseau LOCAL</u> de leur Serveur SME virtuel.
  
L'intervale de temps pendant lequel les connexions sont comptées.
 
  
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une quatrième tentative est de 900s.
 
  
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une cinquième tentative est de 2 x 900s = 1800s.
 
  
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une sixième tentative est de 4 x 900s = 3600s.
 
  
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une septième tentative est de 8 x 900s = 7200s.
+
'''Serveur SME DESTINATION distant'''
  
 +
[[Image:056-BPC-RestSourceSurDestination-F.png|center|top|1000px]]
  
'''''AutoBlockTries=<code>4</code>'''''
 
  
Début du nombre de connexions à partir duquel elles seront bloquées.
+
Advenant le cas où le Serveur SME est distant et que l'accès SSH soit privé, on peut ouvrir une session TeamViewer sur une station distante ayant accès au réseau LOCAL du serveur distant puis, ouvrir une connexion PuTTY sur la station distante afin de se brancher localement au serveur DESTINATION et rendre l'accès SSH publique.
  
<code>AutoBlockTries=4</code> signifie que 3 connexions, réussies ou non, sont autorisées. La quatrième sera bloquée.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Dans le gestionnaire Server Manager de DESTINATION, sur la page '''Accès à distance''', il faut aussi vérifier tous les autres paramètres SSH. Voir: [[#Paramètres SSH de tous les serveurs]].
  
  
'''Réglages'''
+
'''Mise à jour SME'''
  
''Référence'': [https://wiki.contribs.org/AutoBlock https://wiki.contribs.org/AutoBlock].
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Avant la restauration, il est préférable de mettre à jour le serveur DESTINATION. Le répertoire <code>/boot</code> du serveur SOURCE n'étant pas sauvegardé, la mise à jour avant la restauration installera sur DESTINATION le dernier noyau Linux s'il y a lieu.
  
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La commande <code>signal-event remoteaccess-update</code> entraînera la suppression de l'historique d'<code>AutoBlock</code> en raison de la présence de: <code>masq -> adjust</code> dans le fichier <code>services2adjust</code> exécuté par <code>remoteaccess-update</code>.
 
  
 +
=== Téléversement de la clé SSH de BackupPC sur DESTINATION ===
  
'''''AutoBlock'''''
+
On se substitue à l'usager '''backuppc''' et on téléverse la clé publique de BackupPC sur le serveur DESTINATION ''(192.168.1.102)''  afin que BackupPC puisse entrer en communication avec le serveur DESTINATION sans devoir utiliser un mot de passe lors d'une connexion SSH.
 +
$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.102 "cat >> /root/.ssh/authorized_keys2"
  
Activation
+
The authenticity of host '[192.168.1.102]:2222 ([192.168.1.102]:2222)' can't be established.
  # db configuration setprop sshd AutoBlock <span style="color:red">enabled</span>
+
RSA key fingerprint is be:a2:3f:cf:c1:4f:05:63:1a:12:c8:75:c5:a7:2c:6f.
 +
Are you sure you want to continue connecting (yes/no)? <span style="color:red">yes</span>
 +
  Warning: Permanently added '[192.168.1.102]:2222' (RSA) to the list of known hosts.
 +
root@192.168.1.102's password: <span style="color:red">mot-de-passe-de-root-du_serveur-DESTINATION</span>
  
Désactivation
 
# db configuration setprop sshd AutoBlock <span style="color:red">disabled</span>
 
  
Il faut obligatoirement signaler le changement.
+
'''Vérification de la connexion'''
# signal-event remoteaccess-update
 
  
 +
On ouvre une connexion SSH vers DESTINATION et on affiche ses paramètres d'<code>AutoBlock</code>.
 +
$ /usr/bin/ssh -p2222 root@192.168.1.102 "/sbin/e-smith/config show sshd"
  
'''''AutoBlockTries'''''
+
    AutoBlock=enabled
# db configuration setprop sshd AutoBlockTries <span style="color:red">4</span>
+
    AutoBlockTime=900
 +
    AutoBlockTries=4
 +
    LoginGraceTime=600
 +
    MaxAuthTries=2
 +
    MotdStatus=enabled
 +
    PasswordAuthentication=<span style="color:red">yes</span>
 +
    PermitRootLogin=<span style="color:red">yes</span>
 +
    TCPPort=<span style="color:red">2222</span>
 +
    UsePAM=yes
 +
    access=<span style="color:red">public</span>
 +
    status=<span style="color:red">enabled</span>
  
Il faut obligatoirement signaler le changement.
+
Il n'y a pas eu de demande de mot de passe et l'exécution de la commande s'est terminé correctement. La connexion sans mot de passe est donc fonctionnelle.
# signal-event remoteaccess-update
 
  
  
'''''AutoBlockTime'''''
+
On se désengage de la connexion sans mot de passe.
 +
$ exit
  
En secondes.
 
# db configuration setprop sshd AutoBlockTime <span style="color:red">900</span>
 
  
Il faut obligatoirement signaler le changement.
+
Nous sommes de retour à la console du serveur BackupPC; on sort de <code>su</code> et on revient à l'usager root.
  # signal-event remoteaccess-update
+
  $ exit
  
  
'''Historique d'AutoBlock'''
+
'''Page WEB actuelle de DESTINATION'''
  
Affichage de l'historique d'<code>AutoBlock</code>.
+
{|  style="width: 450px; background-color:#ffffff;"
# cat /proc/net/xt_recent/SSH
+
|- style="vertical-align:top;"
 +
|[[Image:056-BPC-RestSourceSurDestination-B.png|center|top|450px|border]]
 +
|}
  
src=192.168.1.81 ttl: 128 last_seen: 4300025257 oldest_pkt: 3 4295469879, 4299976390, 4300025257
 
  
 +
'''Login sur le serveur DESTINATION'''
  
'''État actuel du blocage'''
+
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;On peut ouvrir un session SSH vers le serveur de DESTINATION <u>pour pouvoir voir ce qui s'est passé en cas d'erreur de restauration</u>.
  
Affichage de l'état actuel du blocage pour les 100 dernières adresses IP vues:
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut ouvrir cette session <u>avant la restauration</u> car, celle-ci écrasera les clés SSH de DESTINATION et le serveur pourrait refuser toutes nouvelles connexions.
# iptables -L SSH_Autoblock -v
 
  
Chain  SSH_Autoblock (1 references)
 
  pkts  bytes target  prot  opt  in  out  source    destination
 
    3    156          all  --  any  any  anywhere  anywhere    recent: SET name: SSH side: source
 
    0      0 denylog  all  --  any  any  anywhere  anywhere    recent: CHECK seconds: 900 hit_count: 4 TTL-Match name: SSH side: source
 
  
 +
<center>'''Le fichier TAR de la sauvegarde a été créé et la clé SSH téléversée. Nous sommes prêt pour la restauration.'''</center>
  
'''Suppression de l'historique'''
 
  
Un administrateur du système, avec les droits de root, peut supprimer l'historique de <code>SSH_AutoBlock</code> à tout moment avec la commande suivante:
+
=== Commande de pré-restauration ===
# echo "/" > /proc/net/xt_recent/SSH
 
  
 +
Contrairement à une restauration de quelques répertoires ou fichiers, lorsqu'on restaure toute une sauvegarde, il faut exécuter la commande de <code>pre-restauration</code> avant la restauration et celles de <code>post-installation</code> après la restauration.
  
=== Script de pré-sauvegarde ===
 
  
'''Si la désactivation d'<code>AutoBlock</code> est non fonctionnel:'''
+
On envoie la commande de <code>pre-restauration</code> avec une pause de 15 secondes.
  
# Courriel reçu par <code>EMailAdminUserName@EMailUserDestDomain</code> ''(admin@micronator-101.org)''.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Attendre que l'invite revienne.
# Message dans le journal BackupPC de cette machine.
+
$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/sbin/e-smith/signal-event pre-restore; /bin/sleep 15"
# Message affiché sur la page d'accueil de la machine en question.
 
  
<center>
 
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 
|- style="vertical-align:top;"
 
|[[Image:006-BPC-EMailAdminUserName.png|center|top|330px|border]]
 
||Aborting backup up after signal INT
 
  
Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled
+
Vérification de l'exécution de la commande de pré-restauration.
||[[Image:007-BPC-ResumeDeLaSauvegarde.png|center|top|330px|border]]
+
$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/bin/date; cat /var/log/messages | grep  'Processing event: pre-restore' | tail -1"
|}
 
</center>
 
  
 +
mar. mai 15 18:26:02 EDT 2018
 +
May 15 18:25:21 destination esmith::event[2537]: <span style="color:red">Processing event: pre-restore</span>
  
'''Si une expiration du délais de connexion est rencontrée'''
 
  
Message dans le journal BackupPC de cette machine.
+
=== Arrêt du serveur SOURCE ===
 +
 
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Il faut absolument que le serveur SOURCE soit éteint avant de lancer les commandes de restauration car, la commande <code>post-restauration</code> en fait partie. Si SOURCE roule encore lors du réamorçage de DESTINATION, des conflits de noms de serveurs et d'adresses IP seraient détectés.
  
<center>
 
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:70%"
 
|- style="vertical-align:bottom;font-family: Courier New;"
 
|
 
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 
Output from DumpPreUserCmd: Null message body; hope that's ok<br>
 
Aborting backup up after signal INT<br>
 
Output from DumpPreUserCmd: Got reply: ok: <span style="color:red">backup of 192.168.1.152 canceled</span>
 
|}
 
</center>
 
  
 +
=== Restauration ===
  
''Pour désactiver le blocage des sauvegardes pour cette machine''
+
Le groupe de commandes qui envoie le fichier TAR au serveur DESTINATION:
 +
* Se connecte.
 +
* Demande à DESTINATION de se rendre dans le répertoire racine <code>/</code>.
 +
* Envoie le fichier TAR que DESTINATION décompose avec <code>/bin/tar -xvv</code>.&nbsp;&nbsp;''(L'option <code>vv</code> affiche une liste plus longue, semblabe à <code>ls -l</code>)''.
 +
* À la fin du téléversement, envoie les commandes de <code>post-restauration</code>.
 +
* Se déconnecte car, les commandes de restauration sont terminées.
  
# Changer ce nombre.
+
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Peut prendre plusieurs minutes et même plusieurs heures pour une très grosse restauration.
# Entrer 0.0  >  Arrêter/annuler la sauvegarde.
 
# Cliquer le nom de la machine: 192.168.1.152.
 
# On est de retour à la page d'accueil de cette machine.
 
# Message au retour d'une Expiration du délais de connexion.
 
  
<center>
+
 
{| class="wikitable"
+
La restauration est terminée lorsque l'invite <span style="color:red">$</span> réapparaît.
|- style="vertical-align:top;"
+
 
|[[Image:008-BPC-DesactiverBlocage-A.png|center|top|350px|border]]
+
$ ssh -p 2222 root@192.168.1.102 "cd / && /bin/tar -xvv; /sbin/e-smith/signal-event post-upgrade; /sbin/e-smith/signal-event reboot" < source-152-2.tar
||[[Image:008-BPC-DesactiverBlocage-B.png|center|top|350px|border]]
+
 
||[[Image:008-BPC-DesactiverBlocage-C.png|center|top|350px|border]]
+
...
|}
+
-rw-r--r-- root/root                  172 2007-08-28 10:54 ./var/www/icons/small/unknown.png
</center>
+
-rw-r--r-- root/root                  125 2004-11-20 20:16 ./var/www/icons/small/uu.gif
 +
-rw-r--r-- root/root                  166 2007-08-28 10:54 ./var/www/icons/small/uu.png
 +
<span style="color:purple">bash:  : commande introuvable</span>
 +
<span style="color:red">$</span>
 +
 
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La ligne <span style="color:purple">bash:  : commande introuvable</span> peut être ignorée car il n'y a pas de commande introuvable, seulement une suite d'espaces interprété comme une commande.
 +
 
 +
 
 +
=== Réamorçage ===
 +
 
 +
DESTINATION a reçu les commandes de <code>post-restauration</code> et réamorce pour activer les nouveaux paramètres de configuration i.e. ceux contenus dans le fichier TAR.
 +
 
 +
# Le serveur débute son réamorçage. ''(Peut prendre un certain temps. Être patient!)''
 +
# Activation des paramètres de configuration.
 +
 
 +
<center>
 +
{| style="width: 80%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:056-BPC-RestSourceSurDestination-H.png|center|top|500px|border]]
 +
||[[Image:056-BPC-RestSourceSurDestination-I.jpg|center|top|500px|border]]
 +
|}
 +
</center>
 +
 
 +
 
 +
# Remise en place des bases de données MySQL.
 +
# Le fenêtre de <code>login</code> est affichée.
  
 
<center>
 
<center>
{| class="wikitable"
+
{|  style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
+
|- style="vertical-align:top;"
|[[Image:008-BPC-DesactiverBlocage-D.png|center|top|350px|border]]
+
|[[Image:056-BPC-RestSourceSurDestination-J.png|center|top|500px|border]]
||[[Image:008-BPC-DesactiverBlocage-E.png|center|top|350px|border]]
+
||[[Image:056-BPC-RestSourceSurDestination-K.png|center|top|500px|border]]
|}
+
|}
</center>
+
</center>
 +
 
 +
 
 +
=== Vérification ===
 +
 
 +
'''Login SSH'''
 +
 
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Maintenant, DESTINATION est un clone de de SOURCE.
 +
 
 +
 
 +
Si nous n'avons pas ouvert de session SSH vers DESTINATION avant la restauration, on en ouvre une maintenant et on se logue en root avec son <u>mot de passe du serveur SOURCE</u>.
 +
# login as: <span style="color:red">root</span>
 +
 +
root@192.168.1.152's password: <span style="color:red">mot-de-psse-de-root-sur-SOURCE</span>
 +
Last login: Tue May 15 19:31:03 2018
 +
<nowiki>************ Welcome to SME Server 9.2 *************</nowiki>
 +
 +
Before editing configuration files, familiarise
 +
yourself with the automated events and templates
 +
systems.
 +
 +
Please take the time to read the documentation
 +
<nowiki>http://wiki.contribs.org/Main_Page</nowiki>
 +
 +
Remember that SME Server is free to download
 +
and use, but it is not free to build
 +
 +
Please help the project :
 +
<nowiki>http://wiki.contribs.org/Donate</nowiki>
 +
 +
<nowiki>****************************************************</nowiki>
 +
[root@<span style="color:red">source</span> ~]#
 +
 
 +
 
 +
'''Cartes réseau'''
 +
# ifconfig
 +
 
 +
eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:69:CF
 +
          inet adr:192.168.2.152  Bcast:192.168.2.255  Masque:255.255.255.0
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:5968 (5.8 KiB)  TX bytes:6941 (6.7 KiB)
 +
 +
eth1      Link encap:Ethernet  HWaddr 08:00:27:D1:6F:3C
 +
          inet adr:<span style="color:red">192.168.1.152</span>  Bcast:192.168.1.255  Masque:255.255.255.0
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:342 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:60892 (59.4 KiB)  TX bytes:23676 (23.1 KiB)
 +
 +
lo        Link encap:Boucle locale
 +
          inet adr:127.0.0.1  Masque:255.0.0.0
 +
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 +
          RX packets:107 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:0
 +
          RX bytes:8435 (8.2 KiB)  TX bytes:8435 (8.2 KiB)
 +
 
 +
 
 +
===Site Web ===
 +
Le site Web est fonctionnel tel qu'il était sur le serveur SOURCE original.
 +
 
 +
# Nouveau diagramme du serveur DESTINATION.
 +
# On se rend au nouveau URL du serveur DESTINATION c.-à-d. l'adresse du serveur SOURCE.
 +
 
 +
<center>
 +
{|  style="width: 70%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:056-BPC-RestSourceSurDestination-L.png|center|top|250px|border]]
 +
||[[Image:056-BPC-RestSourceSurDestination-M.png|center|top|550px|border]]
 +
|}
 +
</center>
 +
 
 +
 
 +
<center>'''Le site Web est tel qu'il était sur le serveur SOURCE original. DESTINATION est maintenant identique à SOURCE. CQFD'''</center>
 +
 
 +
 
 +
= Cartes réseaux du serveur de DESTINATION =
 +
 
 +
Il faut s'assurer que le serveur DESTINATION ait une configuration unique pour ses cartes réseau et que ces dernières soient bien <code>eth0</code> et <code>eth1</code>.
 +
 
 +
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Si on change les cartes réseau, la configuration prendrait par défaut, les cartes <code>eth2</code> et <code>eth3</code>.
 +
 
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Exemple: les <u>cartes physiques originales</u> ne sont plus présentes sur le serveur DESTINATION car, après la restauration, <u>elles ont été remplacées par des cartes plus rapides</u>.
 +
 
 +
 
 +
<span id="Vérification des cartes réseau de DESTINATION"></span>
 +
 
 +
'''Vérification des cartes réseaux de DESTINATION'''
 +
 
 +
On se logue au serveur DESTINATION et on examine la configuration de ses nouvelles cartes réseau.
 +
# ifconfig
 +
 
 +
<span style="color:red">eth2</span>      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)
 +
 +
<span style="color:red">eth3</span>      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
 +
          inet adr:192.168.1.1  Bcast:192.168.1.255  Masque:255.255.255.0
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)
 +
 +
lo        Link encap:Boucle locale
 +
          inet adr:127.0.0.1  Masque:255.0.0.0
 +
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 +
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:0
 +
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)
 +
 
 +
Comme on le voit ci-dessus, les cartes présentes <u>ne sont pas celles d'origine</u> car elles portent les noms de <code>eth2</code> et <code>eth3</code>.
 +
 
 +
 
 +
On affiche le fichier de configuration des cartes réseau.
 +
# cat /etc/udev/rules.d/70-persistent-net.rules
 +
 
 +
<nowiki># This file was automatically generated by the /lib/udev/write_net_rules</nowiki>
 +
<nowiki># program, run by the persistent-net-generator.rules rules file.</nowiki>
 +
<nowiki>#</nowiki>
 +
<nowiki># You can modify it, as long as you keep each rule on a single</nowiki>
 +
<nowiki># line, and change only the value of the NAME= key.</nowiki>
 +
 +
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 +
 +
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 +
 +
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">eth2</span>"
 +
 +
<nowiki># PCI device 0x8086:0x100e (e1000)</nowiki>
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">eth3</span>"
 +
 
 +
Comme on le voit ci-dessus, les cartes originales <code>eth0</code> et <code>eth1</code> ont été remplacées par les cartes <code><span style="color:red">eth2</span></code> et <code><span style="color:red">eth3</span></code>.
 +
 
 +
 
 +
'''Fichier /etc/udev/rules.d/70-persistent-net.rules'''
 +
 
 +
On édite le fichier <code>/etc/udev/rules.d/70-persistent-net.rules</code> tel que ci-dessous:
 +
 
 +
* On supprime les lignes des anciennes cartes <code>eth0</code> et <code>eth1</code>.
 +
* On remplace <code>eth2</code> par <code>eth0</code>.
 +
* On remplace <code>eth3</code> par <code>eth1</code>.
 +
 
 +
<nowiki># This file was automatically generated by the /lib/udev/write_net_rules</nowiki>
 +
<nowiki># program, run by the persistent-net-generator.rules rules file.</nowiki>
 +
<nowiki>#</nowiki>
 +
<nowiki># You can modify it, as long as you keep each rule on a single</nowiki>
 +
<nowiki># line, and change only the value of the NAME= key.</nowiki>
 +
 +
<del>#PCI device 0x8086:0x100e (e1000)</del>
 +
<del>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"</del>
 +
 +
<del># PCI device 0x8086:0x100e (e1000)</del>
 +
<del>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"</del>
 +
 +
# PCI device 0x8086:0x100e (e1000)
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">'''eth0'''</span>"
 +
 +
# PCI device 0x8086:0x100e (e1000)
 +
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="<span style="color:red">'''eth1'''</span>"
 +
 
 +
 
 +
'''Répertoire /etc/sysconfig/network-scripts'''
 +
 
 +
On se rend dans le répertoire de configuration des scripts des cartes réseau.
 +
# cd /etc/sysconfig/network-scripts
 +
 
 +
 
 +
'''Fichier ifcfg-eth2'''
 +
# cat ifcfg-eth2 | grep eth2
 +
 
 +
DEVICE=eth2
 +
 
 +
 
 +
* On change <code>DEVICE=eth2</code> pour <code>DEVICE=eth0</code>.
 +
# sed -i 's/DEVICE=eth2/<span style="color:red">DEVICE=eth0</span>/' ifcfg-eth2
 +
 
 +
 
 +
* On renomme le fichier <code>ifcfg-eth2</code> pour <code>ifcfg-eth0</code>.
 +
# mv  ifcfg-eth2  <span style="color:red">ifcfg-eth0</span>
 +
 
 +
 
 +
'''Fichier ifcfg-eth3'''
 +
# cat ifcfg-eth3 | grep eth3
 +
 
 +
DEVICE=eth3
 +
 
 +
 
 +
* On change <code>DEVICE=eth3</code> pour <code>DEVICE=eth1</code>.
 +
# sed -i 's/DEVICE=eth3/<span style="color:red">DEVICE=eth1</span>/' ifcfg-eth3
 +
 
 +
 
 +
* On renomme le fichier <code>ifcfg-eth3</code> pour <code>ifcfg-eth1</code>.
 +
# mv  ifcfg-eth3  <span style="color:red">ifcfg-eth1</span>
 +
 
 +
 
 +
'''Fichier route-eth2'''
 +
 
 +
* On renomme le fichier <code>route-eth2</code> pour <code>route-eth0</code>.
 +
# mv  route-eth2  <span style="color:red">route-eth0</span>
 +
 
 +
 
 +
'''Fichier route-eth3'''
 +
 
 +
* On change <code>eth3</code> pour <code>eth1</code>.
 +
# sed -i 's/eth3/<span style="color:red">eth1</span>/' route-eth3
 +
 
 +
 
 +
* On renomme le fichier <code>route-eth3</code> pour <code>route-eth1</code>.
 +
# mv route-eth3 <span style="color:red">route-eth1</span>
 +
 
 +
 
 +
=== Réamorçage ===
 +
# shutdown -r now
 +
 
 +
 
 +
On se logue et on vérifie.
 +
# ifconfig
 +
 
 +
<span style="color:red">eth0</span>      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
 +
          inet adr:192.168.2.102  Bcast:192.168.2.255  Masque:255.255.255.0
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)
 +
 +
<span style="color:red">eth1</span>      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
 +
          inet adr:192.168.1.102  Bcast:192.168.1.255  Masque:255.255.255.0
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:1000
 +
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)
 +
 +
lo        Link encap:Boucle locale
 +
          inet adr:127.0.0.1  Masque:255.0.0.0
 +
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 +
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 lg file transmission:0
 +
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)
 +
 
 +
 
 +
'''Fermeture de la connexion SSH'''
 +
 
 +
On ferme la connexion SSH vers le serveur DESTINATION.
 +
# exit
 +
 
 +
<center>'''Les cartes réseau ont retrouvé leur dispositif par défaut.'''</center>
 +
 
 +
= Déverminage =
 +
 
 +
<span id="sshd & AutoBlock"></span>
 +
=== sshd & AutoBlock ===
 +
 
 +
'''OpenSSH'''
 +
 
 +
''Référence'': https://fr.wikipedia.org/wiki/OpenSSH.
 +
 
 +
OpenSSH ''('''Open'''BSD '''S'''ecure '''Sh'''ell)'' est un ensemble d'outils informatiques LIBREs, permettant des communications sécurisées sur un réseau informatique en utilisant le protocole SSH.
 +
 
 +
Créé comme alternative LIBRE à la suite logicielle proposée par la société SSH Communications Security, OpenSSH est développé depuis 1999 par l'équipe d'OpenBSD, dirigée par son fondateur Theo de Raadt, et diffusé sous licence BSD.
 +
 
 +
OpenSSH est à la fois une brique logicielle du système OpenBSD et l'implémentation SSH la plus utilisée sur les systèmes BSD et GNU/Linux. L'équipe du projet OpenSSH maintient une version ''normale'' propre à OpenBSD et une version multiplateforme sous l'appellation Portable OpenSSH à destination des systèmes compatibles ''(autres BSD, systèmes GNU/Linux...)''. Les versions multiplateforme sont estampillées d'un <code>p</code> comme '''p'''ortable, par exemple: <code>OpenSSH 5.0'''p'''1</code>.
 +
 
 +
La suite logicielle OpenSSH inclut les outils suivants:
 +
 
 +
* '''ssh''', un remplaçant pour les clients rlogin et telnet: ssh utilisateur@exemple.com.
 +
* '''scp''', un remplaçant pour le client rcp: scp toto.txt utilisateur@exemple.com:~/utilisateur/.
 +
* '''sftp''', un remplaçant pour le client ftp: sftp utilisateur@exemple.com.
 +
* '''sshd''', le démon SSH: sshd, le démon qui nous intéresse le plus en ce qui concerne BackupPC.
 +
 
 +
 
 +
'''Paramètres du démon <code>sshd</code> pour tous nos Serveurs SME'''
 +
 
 +
Comme exemple, on affiche le paramètre du démon <code>sshd</code> du serveur hôte de BackupPC.
 +
# config show sshd
 +
 
 +
sshd=service
 +
    AutoBlock=enabled
 +
    AutoBlockTime=900
 +
    AutoBlockTries=4
 +
    LoginGraceTime=600
 +
    MaxAuthTries=2
 +
    MotdStatus=enabled
 +
    PasswordAuthentication=yes
 +
    PermitRootLogin=yes
 +
    TCPPort=2222
 +
    UsePAM=yes
 +
    access=public
 +
    status=enabled
 +
 
 +
 
 +
'''''AutoBlock=enabled'''''
 +
 
 +
Si <code>AutoBlock</code> est activé i.e <code>=enabled</code>, il rejette les connexions, provenant de la même adresse IP, après '''3''' demandes ou plus ''(début du blocage indiqué par <code>AutoBlockTries</code>)'' au cours des '''15''' minutes précédentes ''(<code>AutoBlockTime=900</code>)''. Le blocage automatique se termine lorsqu'il y a eu moins de demandes que ce nombre dans le temps spécifié ''(<code>AutoBlockTime</code>)''. Les <u>connexions réussies</u> font aussi partie du nombre de demandes.
 +
 
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Par design, seules les adresses IP <u>en dehors du réseau LOCAL</u> seront bloquées.
 +
 
 +
[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Dans cette marche à suivre, on s'occupe toujours d'<code>AutoBlock</code> au cas où les communications des serveurs de nos lecteurs se feraient sur le réseau externe au lieu de LOCAL.
 +
 
 +
 
 +
'''''AutoBlockTime=<code>900</code>'''''
 +
 
 +
L'intervale de temps pendant lequel les connexions sont comptées.
 +
 
 +
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une quatrième tentative est de 900s.
 +
 
 +
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une cinquième tentative est de 2 x 900s = 1800s.
 +
 
 +
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une sixième tentative est de 4 x 900s = 3600s.
 +
 
 +
Si <code>AutoblockTime</code> est à <code>900s</code>, le temps de libération après une septième tentative est de 8 x 900s = 7200s.
 +
 
 +
 
 +
'''''AutoBlockTries=<code>4</code>'''''
 +
 
 +
Début du nombre de connexions à partir duquel elles seront bloquées.
 +
 
 +
<code>AutoBlockTries=4</code> signifie que 3 connexions, réussies ou non, sont autorisées. La quatrième sera bloquée.
 +
 
 +
 
 +
'''Réglages'''
 +
 
 +
''Référence'': [https://wiki.contribs.org/AutoBlock https://wiki.contribs.org/AutoBlock].
 +
 
 +
[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;La commande <code>signal-event remoteaccess-update</code> entraînera la suppression de l'historique d'<code>AutoBlock</code> en raison de la présence de: <code>masq -> adjust</code> dans le fichier <code>services2adjust</code> exécuté par <code>remoteaccess-update</code>.
 +
 
 +
 
 +
'''''AutoBlock'''''
 +
 
 +
Activation
 +
# db configuration setprop sshd AutoBlock <span style="color:red">enabled</span>
 +
 
 +
 
 +
Désactivation
 +
# db configuration setprop sshd AutoBlock <span style="color:red">disabled</span>
 +
 
 +
 
 +
Il faut obligatoirement signaler le changement.
 +
# signal-event remoteaccess-update
 +
 
 +
 
 +
'''''AutoBlockTries'''''
 +
# db configuration setprop sshd AutoBlockTries <span style="color:red">4</span>
 +
 
 +
 
 +
Il faut obligatoirement signaler le changement.
 +
# signal-event remoteaccess-update
 +
 
 +
 
 +
'''''AutoBlockTime'''''
 +
 
 +
En secondes.
 +
# db configuration setprop sshd AutoBlockTime <span style="color:red">900</span>
 +
 
 +
 
 +
Il faut obligatoirement signaler le changement.
 +
# signal-event remoteaccess-update
 +
 
 +
 
 +
'''Historique d'AutoBlock'''
 +
 
 +
Affichage de l'historique d'<code>AutoBlock</code>.
 +
# cat /proc/net/xt_recent/SSH
 +
 
 +
src=192.168.1.81 ttl: 128 last_seen: 4300025257 oldest_pkt: 3 4295469879, 4299976390, 4300025257
 +
 
 +
 
 +
'''État actuel du blocage'''
 +
 
 +
Affichage de l'état actuel du blocage pour les 100 dernières adresses IP vues:
 +
# iptables -L SSH_Autoblock -v
 +
 
 +
Chain  SSH_Autoblock (1 references)
 +
  pkts  bytes target  prot  opt  in  out  source    destination
 +
    3    156          all  --  any  any  anywhere  anywhere    recent: SET name: SSH side: source
 +
    0      0 denylog  all  --  any  any  anywhere  anywhere    recent: CHECK seconds: 900 hit_count: 4 TTL-Match name: SSH side: source
 +
 
 +
 
 +
'''Suppression de l'historique'''
 +
 
 +
Un administrateur du système, avec les droits de root, peut supprimer l'historique de <code>SSH_AutoBlock</code> à tout moment avec la commande suivante:
 +
# echo "/" > /proc/net/xt_recent/SSH
 +
 
 +
 
 +
=== Script de pré-sauvegarde ===
 +
 
 +
'''Si la désactivation d'<code>AutoBlock</code> est non fonctionnel:'''
 +
 
 +
# Courriel reçu par <code>EMailAdminUserName@EMailUserDestDomain</code> ''(admin@micronator-101.org)''.
 +
# Message dans le journal BackupPC de cette machine.
 +
# Message affiché sur la page d'accueil de la machine en question.
 +
 
 +
<center>
 +
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
 +
|- style="vertical-align:top;"
 +
|[[Image:006-BPC-EMailAdminUserName.png|center|top|330px|border]]
 +
||Aborting backup up after signal INT
 +
 
 +
Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled
 +
||[[Image:007-BPC-ResumeDeLaSauvegarde.png|center|top|330px|border]]
 +
|}
 +
</center>
 +
 
 +
 
 +
'''Si une expiration du délais de connexion est rencontrée'''
 +
 
 +
Message dans le journal BackupPC de cette machine.
 +
 
 +
<center>
 +
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:70%"
 +
|- style="vertical-align:bottom;font-family: Courier New;"
 +
|
 +
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 +
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 +
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out<br>
 +
Output from DumpPreUserCmd: Null message body; hope that's ok<br>
 +
Aborting backup up after signal INT<br>
 +
Output from DumpPreUserCmd: Got reply: ok: <span style="color:red">backup of 192.168.1.152 canceled</span>
 +
|}
 +
</center>
 +
 
 +
 
 +
''Pour désactiver le blocage des sauvegardes pour cette machine''
 +
 
 +
# Changer ce nombre.
 +
# Entrer 0.0  >  Arrêter/annuler la sauvegarde.
 +
# Cliquer le nom de la machine: 192.168.1.152.
 +
# On est de retour à la page d'accueil de cette machine.
 +
# Message au retour d'une Expiration du délais de connexion.
 +
 
 +
<center>
 +
{| class="wikitable"
 +
|- style="vertical-align:top;"
 +
|[[Image:008-BPC-DesactiverBlocage-A.png|center|top|350px|border]]
 +
||[[Image:008-BPC-DesactiverBlocage-B.png|center|top|350px|border]]
 +
||[[Image:008-BPC-DesactiverBlocage-C.png|center|top|350px|border]]
 +
|}
 +
</center>
 +
 
 +
<center>
 +
{| class="wikitable"
 +
|- style="vertical-align:top;"
 +
|[[Image:008-BPC-DesactiverBlocage-D.png|center|top|350px|border]]
 +
||[[Image:008-BPC-DesactiverBlocage-E.png|center|top|350px|border]]
 +
|}
 +
</center>
 +
 
 +
=== Script de post-sauvegarde ===
 +
 
 +
'''Si la désactivation d'AutoBlock est non fonctionnel'''
 +
 
 +
# Courriel reçu par <code>EMailAdminUserName@EMailUserDestDomain</code> ''(admin@micronator-101.org)''.
 +
# Message affiché sur la page d'accueil de la machine en question.<br>Cliquer: Changer ce nombre.
 +
 
 +
<center>
 +
{| class="wikitable"
 +
|- style="vertical-align:top;"
 +
|[[Image:010-BPC-Post-abNonFonctionnel-A.png|center|top|450px|border]]
 +
||[[Image:010-BPC-Post-abNonFonctionnel-B.png|center|top|450px|border]]
 +
|}
 +
</center>
 +
 
 +
 
 +
# Entrer 0.0  >  Arrêter/annuler la sauvegarde.
 +
# Cliquer le nom de la machine: 192.168.1.152 pour retourner à la page d'accueil de cette machine.
 +
 
 +
<center>
 +
{| class="wikitable"
 +
|- style="vertical-align:top;"
 +
|[[Image:010-BPC-Post-abNonFonctionnel-D.png|center|top|450px|border]]
 +
||[[Image:010-BPC-Post-abNonFonctionnel-E.png|center|top|450px|border]]
 +
|}
 +
</center>
 +
<br>
 +
 
 +
<span style="font-size:120%">'''Mot de la fin'''</span>
 +
 
 +
Ce Cahier-9 s'ajoute en supplément aux précédents cahiers du Cours SME-101 afin de pourvoir faire une sauvegarde complète des Serveurs SME créés avec ces derniers.
 +
 
 +
Voici quelques marches à suivre relatives à Odoo-11.
 +
 
 +
* Description de l'installation d'Odoo-11 sur un Serveur SME-9.2: https://wiki.contribs.org/Odoo-11.
 +
* Description des étapes pour assurer une connexion sécuritaire à Odoo-11 roulant sur un Serveur SME: https://wiki.contribs.org/Odoo-11_%26_HTTPS.
 +
* Description des étapes pour créer un serveur de test/développement pour vérifier les mises à jour d'Odoo-11, etc: https://wiki.contribs.org/Odoo-11_%26_serveur_de_test/dev
  
=== Script de post-sauvegarde ===
 
  
'''Si la désactivation d'AutoBlock est non fonctionnel'''
+
<hr style="width:50%; margin: 0 auto;">
  
# Courriel reçu par <code>EMailAdminUserName@EMailUserDestDomain</code> ''(admin@micronator-101.org)''.
+
<!-- ########################################################################### -->
# Message affiché sur la page d'accueil de la machine en question.<br>Cliquer: Changer ce nombre.
 
 
 
<center>
 
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:010-BPC-Post-abNonFonctionnel-A.png|center|top|450px|border]]
 
||[[Image:010-BPC-Post-abNonFonctionnel-B.png|center|top|450px|border]]
 
|}
 
</center>
 
 
 
# Entrer 0.0  >  Arrêter/annuler la sauvegarde.
 
# Cliquer le nom de la machine: 192.168.1.152 pour retourner à la page d'accueil de cette machine.
 
 
 
<center>
 
{| class="wikitable"
 
|- style="vertical-align:top;"
 
|[[Image:010-BPC-Post-abNonFonctionnel-D.png|center|top|450px|border]]
 
||[[Image:010-BPC-Post-abNonFonctionnel-E.png|center|top|450px|border]]
 
|}
 
</center>
 
 
<br>
 
<br>
 
<span style="font-size:120%">'''Mot de la fin'''</span>
 
 
Cette marche à suivre s'ajoute aux précédentes afin de pourvoir faire une sauvegarde complète des Serveurs SME créés avec ces dernières.
 
 
* Description de l'installation d'Odoo-11 sur un Serveur SME-9.2: https://wiki.contribs.org/Odoo-11.
 
* Description des étapes pour assurer une connexion sécuritaire à Odoo-11 roulant sur un Serveur SME: https://wiki.contribs.org/Odoo-11_%26_HTTPS.
 
* Description des étapes pour créer un serveur de test/développement pour vérifier les mises à jour d'Odoo-11, etc: https://wiki.contribs.org/Odoo-11_%26_serveur_de_test/dev
 
 
  
 
[[Image:Odoo-11-BanniereDeLaVictoire-APT.png|caption|36px]]&nbsp;&nbsp;Victoire totale, hissons la bannière de la victoire.
 
[[Image:Odoo-11-BanniereDeLaVictoire-APT.png|caption|36px]]&nbsp;&nbsp;Victoire totale, hissons la bannière de la victoire.

Revision as of 23:43, 9 November 2018


Description générale

Ce Cahier-9 du Cours SME-101 décrit: l'installation de BackupPC-4.2, les sauvegardes de l'hôte de BackupPC et du serveur SOURCE et enfin la restauration de la sauvegarde complète du Serveur SME SOURCE sur le Serveur SME DESTINATION pour que ce dernier devienne un clone du premier.

Référence: https://fr.wikipedia.org/wiki/BackupPC.

BackupPC est un logiciel de sauvegarde de systèmes 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 final de ce cahier

Le but final est de migrer le serveur SOURCE vers le serveur DESTINATION.

  • BackupPC est le serveur qui roulera BackupPC et qui entreposera les sauvegardes sur son deuxième disque.
  • SOURCE est le Serveur SME-9.2 dont on fera une sauvegarde Complète et deux Incrémentielles.
  • DESTINATION est un Serveur SME-9.2 sur lequel on restaurera la sauvegarde du serveur SOURCE et ainsi il en deviendra un clone parfait.
  • Micronator-101.org est un Serveur SME-9.2 qui sert de pare-feu et de passerelle Internet pour tout le réseau.
001-BPC-ButFinal.png


Cours SME-101

But final du cours SME-101

Après avoir suivi le cours SME-101, l'Étudiant possédera un site de Commerce en ligne fiable et hautement sécuritaire. De plus, il pourra utiliser un clone de son site, sur un Serveur SME virtuel sur sa station de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de son site en ligne.


SME-101-ButFinal.png


Documentation

Le cours SME-101, se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:

Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sous. Le seul achat nécessaire est l'obtention d'un nom de domaine FQDN au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.


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. Se référer aux différents tableaux lorsque ceux-ci sont présents.


Conventions

  • Toutes les commandes à entrer à la console du Serveur SME commencent habituellement avec l'invite # pour l'usager root ou $ pour un usager sans privilège particulier.
  • L'invite mysql> de la console MySQL est toujours présente.
  • La sortie de la commande est séparée de celle-ci par une ligne vide sans couleur de fond.
  • L'invite de retour n'est jamais présent pour la plupart des commandes.
  • Les affichages à surveiller sont en rouge, bleu, orange ou magenta.
# ping 192.168.1.149
192.168.1.149 is alive


Les liens de référence Internet sont en bleu de même que ceux intra-document mais, ces derniers débute par un " # ".

Icone-SeTirerDembarrasAPT.png  Manipulation, truc ou ruse pour se tirer d’embarras.

Icone-AstuceAPT.png  Une recommandation ou astuce.

Icone-NoteAPT.png  Une note.

Icone-AsurveillerAPT.png  Une étape, note ou procédure à surveiller.

Icone-DangerAPT.png  Danger pour la sécurité du système.

IconePlusieursLignesAPT.png  Indique que la commande est sur une seule ligne. Pour ce document en PDF, il faudra copier la commande entière dans un éditeur de texte ASCII tel que NotePad++ et la mettre sur une seule ligne avant de la copier à la console.

Une chaîne de caractères en magenta indique qu’il faut remplacer cette chaîne par vos propres paramètres.

Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.


Prérequis

Serveur SME-9.2

  • Pour l'installation d'un Serveur SME-9.2, voir: SME-101.02 Serveur SME.
  • Le Cahier-2 du cours SME-101 décrit aussi l'installation de VirtualBox et la création d'une machine virtuelle SME-9.2.
  • Installation des dernières mises à jour SME-9.2.

Disque de sauvegarde

  • Disque de sauvegarde: un volume dédié est recommandé (peut être un simple disque unique ou des disques en RAID).

Logiciels prérequis

Machine virtuelle

Ce document utilise des machines virtuelles roulant SME-9.2 sous VirtualBox. La marche à suivre pour l'installation de BackupPC sur un Serveur SME physique est exactement la même.


Installation

Environnement

001-BPC-ButFinal.png


Serveur BackupPC

Une machine virtuelle, sous VirtualBox, roulant un Serveur SME-9.2. La marche à suivre pour l'installation sur un Serveur SME physique est exactement la même.

Les dernières mises à jour SME-9.2 ont été installées.

Un deuxième disque à été créé pour recevoir les sauvegardes. Il n'est que de 20Go mais est amplement suffisant pour cette démonstration.

Icone-AsurveillerAPT.png  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 SME-9.2.

Les marches à suivre pour des sauvegardes de Serveurs SME physiques sont exactement les mêmes.


Paramètres SSH de tous les serveurs

Vu que:

  1. Les sauvegardes se font à travers une connexion SSH afin que personne ne puisse copier les données en transit.
  2. 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.

Gestionnaire Server Manager > Accès à distance > Paramètres SSH.
002-BPC-ParamSSH.png


  • Accès par terminal sécurisé (SSH)
    Si tous vos serveurs sont sur le réseau local, choisissez N'autoriser l'accès que depuis les réseaux locaux sinon, choisissez Autoriser l'accès complet (LAN et Internet).
  • Autoriser l'administrateur à se connecter au serveur par SSH
    Oui obligatoirement car, seul root peut lire tous les fichiers à sauvegarder.
  • Autoriser l'authentification par SSH à l'aide de mots de passe standards
    Oui car quelquefois, on pourrait devoir accéder au serveur pour corriger un trouble quelconque.
    BackupPC utilise une clé publique SSH créée par l'usager backuppc pour se connecter sans avoir à fournir de mot de passe.
  • Port TCP pour l'accès SSH
    On utilise le port 2222 afin de dérouter un peu plus les indésirables.


Disque de stockage des sauvegardes

Création d'une partition principale sur le disque de stockage

Icone-AstuceAPT.png  Les sauvegardes devraient toujours être sur un volume séparé.

On prépare un disque dur avec un système de fichiers ext4 (on peut utiliser tous les systèmes de fichiers qui sont supportés; nous utilisons ext4 car, il autorise plus d'inodes).

Dans ce document, 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 dispositif[2] (device) du disque de stockage des futures sauvegardes.

# cat /proc/partitions
major minor  #blocks  name

   8       16   20971520 sdb
   8        0    8388608 sda
   8        1     256000 sda1
   8        2    8131584 sda2
   9        1    8127488 md1
 253        0    7286784 dm-0
 253        1     835584 dm-1
   9        0     255936 md0

* Le disque est /dev/sdb.


On lance fdisk pour la création de la partition.

# fdisk /dev/sdb


On vérifie s'il existe déjà une partition, "p".

p  [Entrée]
Disque /dev/sdb: 21.5 Go, 21474836480 octets
255 têtes, 63 secteurs/piste, 2610 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0x51550b50

Périphérique Amorce  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, on entre: n, p, 1, les choix par défaut pour le premier et le dernier cylindre.

On enregistre les nouveaux paramètres et on quitte wq (write and quit).

On vérifie.

# cat /proc/partitions
major minor  #blocks  name

   8       16   20971520 sdb
   8       17   20964793 sdb1
   8        0    8388608 sda
   8        1     256000 sda1
   8        2    8131584 sda2
   9        1    8127488 md1
 253        0    7286784 dm-0
 253        1     835584 dm-1
   9        0     255936 md0


Création du système de fichiers ext4 dans la partition sdb1

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 et /ext3 qui ont un nombre fixe d'inodes lors de la construction du système de fichiers. Utilisez df -i pour voir votre utilisation d'inodes.

Pour notre machine, avec un système de fichiers créé en ext3 sans l'utilisation du paramètre -i, le nombre d'inodes était de seulement 1 310 720.

Icone-AsurveillerAPT.png  BackupPC utilise un très grand nombre de liens. Une partition Ext4 sur un système 64 bits peut avoir 2^64 ou 64bits 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 BackupPC-3.)

Voici, sur un système déjà existant, les infos de l'espace disque et du nombre d'inodes utilisés par la partition principale.


Espace disque

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/main-root
                      6,8G  3,5G  2,9G  55% /
tmpfs                 1,9G     0  1,9G   0% /dev/shm
/dev/md0              239M   77M  150M  34% /boot

* Environ 3.5 Go d'espace disque est utilisé.


Nombre d'inodes

# df -i
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
  • Comme on le voit ci-dessus, le nombre d'inodes utilisés est de 155 019 pour 3.5 Go d'espace disque utilisé.
  • Pour notre disque de 20 Go avec BackupPC, on prendra au minimum 10 fois plus d'inodes, environ 1 500 000. (Bien au dessus du maximum pour une partition ext3 de 20 Go créé de manière standard.)
  • Prendre en considération: plus d'inodes et plus il faudra de temps pour créer le système de fichiers.
  • D'autres systèmes de fichiers tels que btrfs peuvent créer des inodes de manière dynamique; à vous de choisir...


Paramètres de la commande mkfs.ext4

-N nombre d'inodes

Ce paramètre 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). Il permet à l'utilisateur de spécifier directement le nombre d'inodes désirés.

Icone-AsurveillerAPT.png  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é de manière heuristique par la taille et l'utilisation du système de fichiers (voir le paramètre -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.

Icone-NoteAPT.png  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 (5%).


Pour notre exemple, on crée un système de fichiers ext4 sur le nouveau volume /dev/sdb1.

# mkfs.ext4  -L SAUVEGARDE  -b 1024  -N 15000000  -m 1 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Avertissement : 1463 blocs inutilisés.

É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
15005976 i-noeuds, 20963329 blocs
209647 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=88080384
2559 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
5864 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

É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é

Le système de fichiers sera automatiquement vérifié tous les 30 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.


Montage du nouveau volume

Point de montage

On crée un point de montage (répertoire) pour le nouveau volume.

# mkdir -p /var/lib/BackupPC


Ajout dans fstab

On ajoute (>>) le point de montage dans /etc/fstab afin que le volume soit monté automatiquement à tous les amorçages.

Icone-AsurveillerAPT.png  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


On vérifie.

# tail -n 5 /etc/fstab


Montage du volume dans /var/lib/BackupPC

On remonte tous les volumes en relisant fstab à l'aide de la commande mount -a.

# mount -a


On vérifie avec mount...

# mount | grep BackupPC


... et avec df.

# df -h


Icone-AsurveillerAPT.png    Pour le même volume sans spécifier le nombre d'inodes, la quantité d'espace disque est un peu plus grande.

/dev/sdb1 20G 4,3M 20G 1% /var/lib/BackupPC


Espace disque en spécifiant le nombre d'inodes.

/dev/sdb1 17G 4,3M 17G 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.

Icone-AstuceAPT.png  Avec l'ajout de nouveaux liens, 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/.

# mkdir -p /var/lib/BackupPC/{etc,log}


Pour les configurations, on crée un lien /etc/BackupPC qui pointe vers /var/lib/BackupPC/etc.

# ln -s /var/lib/BackupPC/etc /etc/BackupPC


Pour les journaux, on crée un lien /var/log/BackupPC qui pointe vers /var/lib/BackupPC/log.

# ln -s /var/lib/BackupPC/log /var/log/BackupPC


Installation de la Contrib BackupPC

Dépôt de logiciels

Référence: https://wiki.contribs.org/Fws.

Installation du dépôt de logiciels fws.

Icone-AsurveillerAPT.png  Prendre tout le contenu de l'encadré pour la commande.

db yum_repositories set fws repository  \
BaseURL http://repo.firewall-services.com/centos/\$releasever \
EnableGroups no GPGCheck yes  \
Name "Firewall Services"  \
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY  \
Visible no  \
status disabled


On signale le changement à yum.

# signal-event yum-modify


Installation de la Contribs

Nous installons la contribution BackupPC-4 et les ajouts pour les Serveurs SME.

# yum -y --enablerepo=smecontribs,fws install BackupPC4 smeserver-BackupPC


Signalisation de toutes les modifications

Signalisation sans réamorçage.

# signal-event backuppc-update


Signalisation traditionnelle avec réamorçage.

# signal-event post-upgrade ; signal-event reboot


AutoBlock

Référence: https://wiki.contribs.org/BackupPC#Known_Issues.

Si on essaie de sauvegarder un Serveur SME distant, on risque de rencontrer une erreur ou un dépassement du délai d'attente de ssh dû à la fonction AutoBlock de sshd.

Bogue: https://bugs.contribs.org/show_bug.cgi?id=9893.

Le message ci-dessous apparaîtra dans le journal de la machine BackupPC du serveur en question.

Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out


Le problème vient du paramètre AutoBlock=enabled de sshd.

Icone-NoteAPT.png  Pour une description détaillée d'AutoBlock, voir la section: #sshd & AutoBlock.

On pourrait ouvrir une connexion sur le serveur distant et désactiver manuellement le paramètre AutoBlock. Une fois la sauvegarde terminée, il faudrait se reconnecter au serveur distant et réactiver AutoBlock. De plus, il faudrait le faire à chaque sauvegarde et pour tous les serveurs. Cette solution n'est donc pas très pratique.

Icone-AstuceAPT.png  Nous allons nous occuper d'AutoBlock avec les scripts pré/post-sauvegarde ci-dessous.


Contribution Fail2Ban

Lorsqu'on désactive la variable AutoBlock, le Serveur SME n'empêche plus les tentatives de connexions SSH infructueuses. Les tentatives peuvent ainsi se poursuivre tout au long de la sauvegarde.

Icone-AsurveillerAPT.png  Pour remédier à cette situation, on peut installer la contribution Fail2ban qui elle, bannira les adresses IP des instigateurs de ces tentatives.

Pour l'installation de Fail2ban, voir: https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.


Scripts pré/post-sauvegarde

Derscription

  • Au début d'une sauvegarde, un Serveur SME nécessite une commande pré-sauvegarde signal-event pre-backup pour manipuler les bases de données afin qu'elles deviennent disponibles pour être sauvegardées.
  • À la fin de la sauvegarde, le serveur nécessite une commande post-sauvegarde signal-event post-backup pour remettre les bases de données dans leur état initial.
  • BackupPC fournit une variable $Conf{DumpPreUserCmd} pour exécuter une commande pré-sauvegarde et $Conf{DumpPostUserCmd} pour une commande post-sauvegarde.
  • BackupPC fournit deux paramètres aux commandes pré-sauvegarde et post-sauvegarde:
    $sshPath - le chemin de la commande ssh (Pour les Serveurs SME, le chemin de cette commande est toujours le même: /usr/bin/ssh).
    $host - variable qu'utilise BackuPC pour sauvegarder le nom ou l'IP du serveur à être sauvegardé.


Fail2ban

Icone-AsurveillerAPT.png  Vu que ce ne sont pas tous les Serveurs SME qui roulent Fail2ban, les scripts de pré/post-sauvegarde présentés dans cette section s'occupent de désactiver AutoBlock avant la sauvegarde et de la réactiver après la sauvegarde.

Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas ces scripts de pré/post-sauvegarde. Voir les paragraphes: #Variable DumpPreUserCmd et #Variable DumpPostUserCmd.


Répertoire de stockage des scripts

Nous créons un répertoire pour stocker nos scripts.

# mkdir /var/lib/BackupPC/script


On ajuste le propriétaire et le groupe.

# chown backuppc:backuppc /var/lib/BackupPC/script


On ajuste les droits.

# chmod 750 /var/lib/BackupPC/script


Script pre-sauvegarde.sh

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le script dans le fichier pre-sauvegarde.sh.

cat > /var/lib/BackupPC/script/pre-sauvegarde.sh <<'EOT'
#!/bin/sh

#-------------------------------------------
# /var/lib/BackupPC/script/pre-sauvegarde.sh
#
# Michel-André, 2018-05-06_09h50
#-------------------------------------------

# Désactivation d'AutoBlock
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock disabled; /sbin/e-smith/signal-event remoteaccess-update"
 
# Pause de BackupPC
/bin/sleep 45

# Le test ci-dessous va écrire le statut de la propriété AutoBlock dans le journal.
# Output from DumpPreUserCmd:     AutoBlock=disabled
# ou
# Output from DumpPreUserCmd:     AutoBlock=enabled
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=disabled') )
    then
        /bin/mail -s "AutoBlock=disabled NON FONCTIONNEL, arrêt des sauvegardes de la machine $1 pour 24 heures" admin@micronator-101.org < /dev/null

#    Arrêt de la sauvegarde en cours et désactivation des sauvegardes de cette machine pour 24 heures.
#
#    Référence: https://www.mail-archive.com/backuppc-users@lists.sourceforge.net/msg10075.html
#    BackupPC_serverMesg stop HOST REQ_USER BACKOFF
#    HOST is the host to cancel, REQ_USER is the requesting user (just for log purposes) and BACKOFF is the backoff time in hours.
#
    /usr/share/BackupPC/bin/BackupPC_serverMesg stop $1 backuppc 24
fi

# pre-backup
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup"

# Pause de BackupPC
/bin/sleep 15

EOT


On ajuste le propriétaire et le groupe du script.

# chown backuppc:backuppc /var/lib/BackupPC/script/pre-sauvegarde.sh


On ajuste les droits.

# chmod 550 /var/lib/BackupPC/script/pre-sauvegarde.sh


Variable $Conf{DumpPreUserCmd}

Choisir l'Hôte > Modifier la configuration > onglet Paramètres de sauvegarde > cadre Commandes des usagers.
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
005-BPC-DumpPreUserCmd.png
  • Le chemin et le nom du script de pré-sauvegarde:   /var/lib/BackupPC/script/pre-sauvegarde.sh.
  • Le nom ou l'IP (de la machine à être sauvegardée: $host) qu'on passe en paramètre au script.


Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de pré-sauvegarde; on entre plutôt directement la commande suivante dans la variable DumpPreUserCmd:

/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup ; /bin/sleep 15" $host


Script post-sauvegarde.sh

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le script dans le fichier post-sauvegarde.sh.

cat > /var/lib/BackupPC/script/post-sauvegarde.sh <<'EOT'
#!/bin/sh

#--------------------------------------------
# /var/lib/BackupPC/script/post-sauvegarde.sh
#
# Michel-André, 2018-05-06_09h58
#--------------------------------------------

# Commande post-backup
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup"

# Pause de BackupPC
/bin/sleep 15

# Activation d'AutoBlock
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock enabled; /sbin/e-smith/signal-event remoteaccess-update"

# Pause de BackupPC
/bin/sleep 45

# Le test ci-desous va écrire le statut de AutoBlock dans le journal.
# Output from DumpPreUserCmd:     AutoBlock=disabled
# ou
# Output from DumpPreUserCmd:     AutoBlock=enabled

if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=enabled') )
    then
        /bin/mail -s "AutoBlock=ensabled NON FONCTIONNEL. Vérifiez le paramètre de la machine $1 s.v.p." admin@micronator-101.org < /dev/null
fi

EOT


On ajuste le propriétaire et le groupe du script.

# chown backuppc:backuppc  /var/lib/BackupPC/script/post-sauvegarde.sh


On ajuste les droits.

# chmod 550  /var/lib/BackupPC/script/post-sauvegarde.sh


On vérifie.

# ls -lsd /var/lib/BackupPC/script/post-sauvegarde.sh


Variable $Conf{DumpPostUserCmd}

Choisir l'Hôte > Modifier la configuration > onglet Paramètres de sauvegarde > cadre Commandes des usagers.
/var/lib/BackupPC/script/post-sauvegarde.sh $host
009-BPC-DumpPostUserCmd.png

Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de post-sauvegarde; on entre plutôt directement la commande suivante dans la variable DumpPostUserCmd:

/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup ; /bin/sleep 15" $host


Clé SSH de BackupPC

BackupPC doit générer une clé SSH, qu'on téléversera sur les machines à sauvegarder, afin qu'il puisse ouvrir un canal de communication SSH sans avoir à fournir de mot de passe.


Usager backuppc

L'installation de BackupPC a créé l'usager backuppc.

# cat /etc/passwd | grep backuppc
backuppc:x:393:393::/var/lib/BackupPC:/sbin/nologin


Génération de la clé SSH

On se substitue à l'usager backuppc.

# su -s /bin/bash backuppc


On génère une clé SSH de type RSA et de 2048 bits.

  • On accepte le nom du fichier par défaut en tapant la touche [Entrée].
  • On n'utilise pas de phrase de passe[3] en tapant la touche [Entrée].
  • On confirme en tapant encore la touche [Entrée].
# ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/BackupPC/.ssh/id_rsa): [Entrée]
Created directory '/var/lib/BackupPC/.ssh'.
Enter passphrase (empty for no passphrase): [Entrée]
Enter same passphrase again: [Entrée]
Your identification has been saved in /var/lib/BackupPC/.ssh/id_rsa.
Your public key has been saved in /var/lib/BackupPC/.ssh/id_rsa.pub.
The key fingerprint is:
a9:cb:44:f6:1a:ec:df:aa:1a:85:69:30:a5:5e:b6:5e backuppc@sme-9
The key's randomart image is:
+--[ RSA 2048]----+
|   .....         |
|   ...o.         |
| o....  .        |
|ooB      .       |
|++++    S        |
|+*oo             |
|.E=              |
|.  .             |
|                 |
+-----------------+


On vérifie.

ls -ls /var/lib/BackupPC/.ssh/
2 -rw------- 1 backuppc backuppc 1675 28 avril 10:30 id_rsa
1 -rw-r--r-- 1 backuppc backuppc  396 28 avril 10:30 id_rsa.pub

Icone-AsurveillerAPT.png  La clé id_rsa est la clé privée qui doit toujours être cachée et n'être divulguée à absolument personne.

La clé id_rsa.pub est la clé publique et peut être partagée avec n'importe qui. Elle sert à chiffrer un message qui vous est destiné et que seule votre clé privée peut déchiffrer.


Différence entre les jeux de clés SSH

Jeu SSH pour BackupPC

  • Ce jeu de clés SSH servira uniquement pour les communications SSH entre les clients des sauvegardes et le serveur BackupPC. Ce jeu se trouve dans le répertoire /var/lib/BackupPC/.ssh et comprend: ssh/id_rsa et id_rsa.pub.

Jeu SSH du Serveur SME

  • Le jeu de clés SSH standard d'un Serveur SME se trouve dans le répertoire /etc/ssh/ et comprend: ssh_host_rsa_key et ssh_host_rsa_key.pub.


Téléversement de la clé SSH publique de BackupPC

Étant toujours l'usager backuppc, On téléverse la clé publique de BackupPC sur le serveur lui-même (127.0.0.1[4]) afin que BackupPC puisse entrer en communication avec le serveur hôte sans devoir utiliser un mot de passe lors d'une connexion SSH.

Icone-NoteAPT.png  Explications des paramètres pour la prochaine commande.

  • cat /var/lib/BackupPC/.ssh/id_rsa.pub indique d'afficher la clé publique id_rsa.pub.
  • Le caractère de pipe | indique de passer le résultat de la commande précédente cat à la commande suivante ssh.
  • Le paramètre -p 2222 indique d'utiliser le port 2222 pour la communication SSH.
Si nous avons spécifié un port différent dans le fichier /root/.ssh/config, le port spécifié dans le fichier config aura toujours préséance sur celui spécifié sur la ligne de commande pour l'usager root.
  • Le paramètre root@127.0.0.1 indique de se connecter en tant que root à l'adresse 127.0.0.1 (localhost).
  • La partie entre guillemets ("...") indique au serveur de destination i.e. BackupPC (localhost) d'exécuter la commande qui se trouve entre ces guillemets. Donc, BackupPC va afficher avec cat ce qu'il reçoit et va l'ajouter >> au fichier: /root/.ssh/authorized_keys2.


# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@127.0.0.1 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is a0:2f:27:ab:cc:d8:a0:57:fc:57:ee:63:dd:58:cc:02.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
root@127.0.0.1's password: mot-de-passe-de-root_du-serveur-BackupPC


Vérification de la connexion

On vérifie la connexion SSH sans mot de passe.

# ssh -p 2222 root@127.0.0.1
Last login: Fri Apr 28 10:31:11 2018 from 127.0.0.1
************ Welcome to SME Server 9.2 *************

Before editing configuration files, familiarise
yourself with the automated events and templates
systems.

Please take the time to read the documentation
http://wiki.contribs.org/Main_Page

Remember that SME Server is free to download
and use, but it is not free to build

Please help the project :
http://wiki.contribs.org/Donate

****************************************************

* La connexion sans mot de passe fonctionne.


On se désengage de la connexion SSH sans mot de passe.

# exit


Nous sommes de retour, on sort de su et on revient à l'usager root.

# exit


Accès à la page BackupPC

Vous pouvez accéder à l'interface de BackupPC:

  • Par le gestionnaire Server Manager.
  • Directement par l'adresse de BackupPC: https://mon_domaine.tld/BackupPC.


Accès par le gestionnaire Server Manager

On lance le gestionnaire Server Manager en allant à: https://mon_domaine.tld/server-manager ou en passant par son adresse IP: https://IP_du_Serveur_SME/server-manager.

  1. On se logue obligatoirement avec l'usager admin.
  2. On clique BackupPC
011-BPC-LoginServerManager-A.png
011-BPC-LoginServerManager-B.png


Accès direct par l'adresse de BackupPC

https://mon_domaine.tld/BackupPC ou avec l'adresse IP: https://IP_du_Serveur_SME/BackupPC.

Si nous ne sommes pas déjà logué dans le gestionnaire Server Manager, on nous présentera l'écran de login:

  1. On se logue obligatoirement avec l'usager admin/mot-de-passe du Serveur SME.
  2. La page principale de BackupPC s'affiche sans avoir à passer par le gestionnaire.
011-BPC-LoginServerManager-A.png
011-BPC-LoginServerManager-C.png


Configuration préliminaire de BackupPC

CGI

Langue de l'interface

On clique: Edit Config > onglet CGI.

  1. Pour la variable Language, on choisit fr.
    Le bouton Save devient actif.
    On le clique pour sauvegarder la modification.
  2. Rafraîchir la page du navigateur
    Renvoyer.
012-BPC-CGI-A.png
012-BPC-CGI-B.png


L'interface BackupPC est maintenant en français.

012-BPC-CGI-C.png


Icone-NoteAPT.png  Actuellement, le paramètre Language s'applique à l'interface CGI seulement.
Les fichiers journaux et les autres textes sont toujours en anglais.


Format de la date pour l'interface CGI

La valeur 1 utilise des dates de type US (MM/DD), la valeur 2 utilise le format AAAA-MM-JJ complet et 0 les dates internationales (JJ/MM).

012-BPC-CGI-D.png
  • - On clique: Modifier la configuration > onglet CGI.
    - On veut un affichage AAAA-MM-JJ, on entre
    2 à la variable CgiDateFormatMMDD et on clique Sauvegarder pour enregistrer ce nouveau paramètre.


Paramètres de sauvegarde

CompressLevel (Niveau de compression)

013-BPC-ParamsDeSauvegarde.png
  • Il n'y a rien à faire, sauf peut-être, le niveau de compression des sauvegardes; le défaut de 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.
    - Si on a modifié un paramètre sur cette page, on clique Sauvegarder.


Courriel

014-BPC-Courriel-A.png

EMailNotifyMinDays 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 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.)


EMailFromUserName backuppc

Expéditeur du courriel. Selon le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet (backuppc) ou d'un nom complet qualifié (backuppc@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 le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet (admin) ou d'un nom complet qualifié (admin@FQDN).


EMailUserDestDomain @micronator.org

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:

Icone-NoteAPT.png  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.

Sauvegarder.



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 devient l'usager backuppc>.

# su -s /bin/bash backuppc


On envoie le courriel de test.

# /usr/share/BackupPC/bin/BackupPC_sendEmail -u admin@micronator.org
On vérifie le courrier d'admin.
015-BPC-VerficationDuCourriel.png

On se désengage de l'usager backuppc.

# exit

Horaire

016-BPC-Horaire.png

Cadre Sauvegardes Complètes


FullPeriod 6.97

Période minimale en jours, entre les sauvegardes Complètes. Une vidange complète 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

Avec la version V4+, les sauvegardes Complètes/Incrémentielles sont dissociées de fusionnée/non-fusionnée.

Pour imiter le comportement de la version 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 0 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.

Icone-AstuceAPT.png  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 voulez un paramètre FillCycle différent de 0 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.
  1. 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.
  2. Si BackupPC doit faire du nettoyage à cause d'un dépassement du nombre de sauvegardes à conserver, le message de droite s'affichera après celui de gauche.
017-BPC-FillCycle1-A.png
017-BPC-FillCycle1-B.png


FullKeepCnt 1

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.




Cadre Sauvegardes Incrémentielles

018-BPC-SauvegardesIncrémentielles.png

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.




Cadre Suspension

019-BPC-CadreSuspension.png

BackupsDisable 0

Icone-AstuceAPT.png  On peut désactiver en mettant à 1 et activer les sauvegardes dans la configuration des machines clientes lors de leur création.

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 le 3e 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.

Icone-NoteAPT.png  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 sur 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.




Cadre Divers

020-BPC-CadreDivers.png

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.

Icone-NoteAPT.png  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 compte pour les 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 du journal de chaque 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é).

  • Sauvegarder




Serveur

021-BPC-Serveur.png

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 du journal 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).

Icone-AsurveillerAPT.png  Si vous diminuez ce nombre après que BackupPC ait roulé un certain temps, vous devrez supprimer manuellement les anciens fichiers journaux.

  • Sauvegarder




Xfer

022-BPC-Xfer-B.png
022-BPC-Xfer-A.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles,
  • des valeurs plus élevées donnent plus de résultats.

Icone-AstuceAPT.png  Pour le déverminage, un niveau de 8 pourrait vous orienter vers une solution à un problème donné.

  • Sauvegarder




Paramètres ssh

023-BPC-PortSSH.png

Port SSH du Serveur SME 2222

Dans le gestionnaire Server Manager, 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 SME 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.

# touch /var/lib/BackupPC/.ssh/config


On ajuste le propriétaire et le groupe du fichier.

# chown backuppc:backuppc /var/lib/BackupPC/.ssh/config


On ajuste les droits.

# chmod 640 /var/lib/BackupPC/.ssh/config


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

Icone-AstuceAPT.png  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


Autre forme.

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 192.168.1.144

    Port 3333


Icone-SeTirerDembarrasAPT.png  Sur notre réseau, tous les Serveurs SME utilisent le port SSH 2222 alors, pour notre réseau, on spécifie le port 2222.

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le fichier config.

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

Icone-AsurveillerAPT.png  Il faut que le mot Port soit au moins à un espace de la marge de gauche.


On vérifie les droits, le propriétaire et le groupe.

# ls -ls /var/lib/BackupPC/.ssh/config
0 -rw-r----- 1 backuppc backuppc 120 28 avril 10:52 /var/lib/BackupPC/.ssh/config


Propriétés DB

Il n'existe que trois propriétés DB que vous pouvez modifier:

  • status [enabled | disabled]
    Voulez-vous que le service démarre automatiquement à l'amorçage du serveur?

  • examples [enabled | disabled]
    Souhaitez-vous que les exemples de fichiers de configuration soient ajoutés à nouveau s'ils ont été supprimés?

  • sudo
    Liste des commandes que l'usager backuppc pourra exécuter en tant que root en utilisant sudo. La valeur par défaut est: /usr/bin/rsync,/bin/gtar.

Affichage des propriétés du service backuppc.

# db configuration show backuppc
backuppc=service
    examples=enabled
    status=enabled
    sudo=/usr/bin/rsync,/bin/gtar


Après avoir modifier une de ces propriétés, vous devez en signaler la mise à jour en lançant la commande ci-dessous.

# signal-event backuppc-update


Utilitaire sudo

L'utilitaire sudo[5] 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".)

Cet utilitaire 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


Fichier de configuration de sudo

L'utilitaire sudo est un cas particulier car, sa configuration se trouve dans le fichier /etc/sudoers.

Icone-AsurveillerAPT.png  Pour modifier ce fichier de configuration, il faut absolument utiliser l'éditeur visudo.

Lancement de l'éditeur de sudo.

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 <<<

 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!)

Icone-NoteAPT.png  La meilleure réponse est "x", sans guillemets, pour quitter visudo sans sauvegarder les changements apportés.


Réveil par le réseau (WOL)[6]

À 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 Lan).

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... Modifier la propriété sudo et ajouter la commande /sbin/ether-wake.

# signal-event backuppc-update


... puis ajoutez simplement un script, tel que ci-dessous, à votre commande pré-sauvegarde ou à votre commande ping.

#!/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


Icone-AsurveillerAPT.png  IMPORTANT Si vous utilisez l'usager administrateur backuppc par défaut, vous devrez utiliser le chemin complet pour les commandes ci-dessus.

Icone-AstuceAPT.png  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 localserver-template

Pour l'installation, nous avons utilisé la contribution BackupPC4 et un ajout pour les Serveurs SME: smeserver-BackupPC qui inclut smeserver-remoteuseraccess.

  • smeserver-BackupPC
    Crée les gabarits localserver-template et smeserver-template utilisés lors de la création de machines pour les Serveurs SME dont on veut faire des sauvegardes.
  • smeserver-remoteuseraccess
    Sert à la connexion ssh vers les Serveurs SME.


Nous allons ajuster certains paramètres du gabarit de base localserver-template.

Icone-AstuceAPT.png  Lorsque nous utiliserons ce gabarit pour créer une nouvelle machine pour le serveur hôte de BackupPC, il ne sera pas nécessaire de configurer la nouvelle machine car le gabarit s'en aura chargé.


Paramètres de sauvegarde

Choisir l'Hôte > localserver-template > Modifier la configuration > Paramètres de sau­ve­garde.

024-BPC-ParamsDeSauvegarde.png


DumpPreUserCmd

/var/lib/BackupPC/script/pre-sauvegarde.sh $host


DumpPostUserCmd

/var/lib/BackupPC/script/post-sauvegarde.sh $host

Icone-NoteAPT.png  Pour plus d'information, voir le paragraphe: #Scripts pré/post-sauvegarde.


025-BPC-BlackoutPeriods.png

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.
    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.
    Icone-AstuceAPT.png  Nous ne voulons pas que le serveur se sauvegarde lui-même pendant qu'il sauvegarde un autre serveur et vu que les machines des autres serveurs auront une période d'interdiction de 7.0 - 19.5, on échange donc ces valeurs par défaut en spécifiant 19.5 - 7.0 pour la machine hôte de BackupPC. Avec cet échange, la période de sauvegarde du serveur BackupPC sera exlusive de la période de sauvegarde des autres serveurs.
    - Sauvegarder.




Courriel

026-BPC-Courrier.png

Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.

  • Sauvegarder.





Horaire

027-BPC-Horaire.png

FillCycle 1

Pour plus d'information sur cette variable, voir ci-dessus: #FillCycle.

BackupsDisable 1

Icone-AstuceAPT.png  On activera les sauvegardes seulement après la création d'une nouvelle machine.

Sauvegardes du serveur hôte de BackupPC

Icone-NoteAPT.png  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.

  • Sauvegarder.





Xfer

028-BPC-Xfer-1.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles.

Des valeurs plus élevées donneront plus de résultats.

  • Une verbosité de 8 servira pour le débogage.



BackupFilesExclude

Les sous-répertoires de /var/lib/BackupPC sont les suivants:

  • cpool - Stockage de tous les fichiers compressés à partir des sauvegardes.
  • etc - Stockage des fichiers de configuration.
  • log - Stockage des journaux des sauvegardes/restaurations.
  • lost+found - Les fichiers qui seraient normalement perdus à cause d'une corruption de répertoire seraient liés dans ce répertoire.
  • mes_restaurations - Répertoire de stockage des fichiers TAR pour les restaurations. Voir: #On crée un répertoire de stockage pour nos futurs fichiers TAR
  • pc - Les sauvegardes de chaque $hôte sont stockées sous ce répertoire sous pc/$hôte.
  • pool - Tous les fichiers non compressés provenant des sauvegardes sont stockés dans ce répertoire.
  • script - Contient nos scripts de pré/post-sauvegarde.
  • .ssh - Répertoire des fichiers relatifs à SSH pour BackupPC. Voir: #Fichier de configuration SSH de BackupPC.


028-BPC-Xfer-2.png

Icone-AsurveillerAPT.png  Le gabarit par défaut de local-smeserver 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:
      * Vis-a-vis /var/lib/BackupPC, on clique Détruire.



028-BPC-Xfer-3.png
  • On remplace l'exclusion complète par les exclusions suivantes seulement:
      * Ajouter et on entre les répertoires suivants.
  1. /var/lib/BackupPC/cpool
  2. /var/lib/BackupPC/mes_restaurations
  3. /var/lib/BackupPC/pc
  4. /var/lib/BackupPC/pool.


On exclut aussi les fichiers suivants des sauvegardes:

  • /etc/fstab - Sert pour le montage des disques.
  • /etc/udev/rules.d/70-persistent-net.rules - Relie les a­dres­ses MAC des cartes réseau à leur dispositif eth0 et eth1.
  1. /etc/fstab
  2. /etc/udev/rules.d/70-persistent-net.rules
  • Sauvegarder.




Icone-AstuceAPT.png  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.


Notre gabarit localserver-template est prêt à être utilisé pour la création de la machine hôte de BackupPC.


Configuration du gabarit smeserver-template

Nous allons ajuster certains paramètres du gabarit de base smeserver-template.

Lorsque nous utiliserons ce gabarit pour créer de nouvelles machines pour les Serveurs SME, il ne sera pas nécessaire de configurer celles-ci car, le gabarit s'en sera chargé.

Paramètres de sauvegarde

Choisir l'Hôte > smeserver-template > Modifier la configuration > Paramètres de sauvegarde.


029-BPC-SmeserverTemplate.png

DumpPreUserCmd

/var/lib/BackupPC/script/pre-sauvegarde.sh $host

DumpPostUserCmd

/var/lib/BackupPC/script/post-sauvegarde.sh $host

Icone-NoteAPT.png  Pour plus d'information, voir #Scripts pré/post-sauvegarde.

  • Sauvegarder.





Courriel

026-BPC-Courrier.png

Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.

  • Sauvegarder.





Horaire

027-BPC-Horaire.png

FillCycle 1

Pour plus d'information sur cette variable, voir ci-dessus: #FillCycle.

BackupsDisable 1

Icone-AstuceAPT.png  On désactive les sauvegardes lors de la création d'une nouvelle machine car, une sauvegarde pourrait débuter avant que la configuration de celle-ci soit totalement terminée.

  • Cette désactivation n'empêche pas les sauvegardes manuelles.
  • On activera les sauvegardes automatiques seulement après la première sauvegarde et après avoir vérifier que toutes les configurations fonctionnent correctement.


027-BPC-Horaire-A.png

BlackoutPeriods

Vu que les usagers sont au travail du lundi au vendredi et qu'ils utilisent les Serveurs SME, on ne veut pas lancer de sauvegardes sur les serveurs entre 07h00 et 19h30.

  • On ajuste BlackoutPeriods pour bloquer les sauvegardes automatiques durant les heures de travail.
  • Sauvegarder.





Xfer

028-BPC-Xfer-1.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles.

Des valeurs plus élevées donneront plus de résultats.

  • Une verbosité de 8 servira pour le débogage.


028-Xfer-A.png

On exclut les fichiers suivants des sauvegardes:

  1. /etc/fstab
  2. /etc/udev/rules.d/70-persistent-net.rules
  • Sauvegarder.


Notre gabarit smeserver-template est prêt à être utilisé pour la création de machines BackupPC afin de sauvegarder des Serveurs SME..


Serveur hôte de BackupPC

Création de la machine hôte

Pour le serveur roulant BackupPC, on crée un machine en utilisant le gabarit localserver-template.

Serveur > Modifier la configuration > onglet Machines > Ajouter > host: 127.0.0.1=localserver-template > user: admin > Sauvegarder.

031-BPC-CreationDeLaMachie.png
031-BPC-CreationDeLaMachie.png-A.png

La nouvelle machine, hôte de BackupPC, a été crée.


Page d'accueil de la nouvelle machine

  1. Sous Hôtes, on choisit le nom de notre nouvelle machine 127.0.0.1 (hôte de BackupPC - 192.168.1.33). La page d'accueil s'affiche.
  2. Icone-AsurveillerAPT.png  Les liens Files actuelles, Documentation, Wiki et Homepage n'apparaissent seulement que sur la page d'accueil de BackupPC.
032-BPC-PageAccueil-A.png
032-BPC-PageAccueil-B.png


Vérification de la configuration

  1. Modifier la configuration.
  2. Paramètres de sauvegarde; on vérifie la pré-commande et la post-commande.
  3. Courriel.
  4. Sauvegardes complètes.
033-BPC-VerifConfig-A.png
033-BPC-VerifConfig-B.png
033-BPC-VerifConfig-C.png
033-BPC-VerifConfig-D.png


  1. Sauvegardes Incrémentielles.
  2. Suspension
  3. BlackoutPeriods.
  4. Divers.
  5. Exclusions.
033-BPC-VerifConfig-E.png
033-BPC-VerifConfig-F.png
033-BPC-VerifConfig-G.png
033-BPC-VerifConfig-H.png
033-BPC-VerifConfig-J.png

BackupsDisable s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.

Icone-AstuceAPT.png  Lorsqu'on aura fait nos sauvegardes de test, on activera les sauvegardes automatiques en mettant BackupsDisable à 0.

Tout est prêt pour notre première sauvegarde.


Sauvegarde automatique

034-BPC-ProchainReveil.png

Si nous avons créé et configuré le serveur hôte de BackupPC en dehors de ses heures d'interdiction (voir le paragraphe #BlackoutPeriods), 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 (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 localserver-template.


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.

Icone-AsurveillerAPT.png  Si on lance une sauvegarde sans que le serveur à sauvegarder ait reçu la clé SSH de BackupPC, le serveur distant bloquera 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 utiliser de 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 SME à sauvegarder.

Sans la clé SSH sur le serveur à sauvegarder, lors de toute sauvegarde, 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]).

Icone-NoteAPT.png  Si le Serveur SME a déjà la contribution Fail2Ban installée, après 3 tentatives de connexions infructueuses, il bannit pour 30 jours 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 au paragraphe #Téléversement de la clé SSH publique de BackupPC, on le fait obligatoirement maintenant.


Vérification du téléchargement de la clé publique

On ouvre une session PuTTY vers le Serveur SME hôte de BackupPC (192.168.1.33).

Icone-AsurveillerAPT.png  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.

cat /root/.ssh/authorized_keys2
034-BPC-CleSSH.png


Sauvegarde "Complète" de l'hôte BackupPC

Nous allons sauvegarder le Serveur SME roulant BackupPC et dont l'adresse IP est 192.168.1.33 (localhost - 127.0.0.1).


Lancement de la sauvegarde

On retourne à la page 127.0.0.1 Accueil et on clique Démarrer la sauvegarde Complète.

035-BPC-LancementDeLaSauvegarde.png


  1. On confirme en cliquant Démarrer la sauvegarde complète.
  2. On retourne à la page d'accueil en cliquant le nom de notre machine i.e. 127.0.0.1.
035-BPC-LancementDeLaSauvegarde-A.png
035-BPC-LancementDeLaSauvegarde-B.png


  1. Au retour à la page d'accueil, BackupPC nous informe du "début de la sauvegarde" > Fichier journal.
  2. La page du journal nous indique que:
    - le répertoire de stockage des sauvegardes pour la machine 127.0.0.1 a été créé,
    - AutoBlock est maintenant désactivé,
    - la sauvegarde a débutée et commencée dans le répertoire racine /.
035-BPC-LancementDeLaSauvegarde-C.png
035-BPC-LancementDeLaSauvegarde-D.png


L'utilitaire top

À la console du Serveur SME BackupPC, on peut lancer la commande top pour voir les processus en cours: top -d 1.

On voit que backuppc utilise peu de mémoire mais, un pourcentage très substantiel du CPU.

035-BPC-LancementDeLaSauvegarde-E.png


Fichier journal de la machine

Après quelques minutes et un rafraîchissement de la page du journal, BackupPC nous dit que la sauvegarde est complétée.

035-BPC-LancementDeLaSauvegarde-F.png
  • On remarque qu'AutoBlock a été réactivé par la commande post-sauvegarde.
  • La sauvegarde s'est terminée correctement.


Liste d'attente d'arrière plan

Lors d'une sauvegarde quelconque, la page d'acceuil pourrait afficher le message ci-dessous.

035-BPC-LancementDeLaSauvegarde-H.png


BackupPC est occupé par BackupPC_refCountUpdate qui vérifie le pool des références.

Icone-NoteAPT.png  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. Cet utilitaire est exploité par: BackupPC_dump, BackupPC_nightly, BackupPC_backupDelete, BackupPC_backupDuplicate et BackupPC_fsck.

Ci-dessous, BackupPC_refCountUpdate a pris 236 secondes.

035-BPC-LancementDeLaSauvegarde-H-1.png


Examen de la sauvegarde

Lorsque que la sauvegarde est terminée, la page d'accueil nous donne les différentes statistiques de cette sauvegarde.

035-BPC-LancementDeLaSauvegarde-I.png


Journaux de la sauvegarde

On voit que c'est une sauvegarde Complète et qu'elle est fusionnée.

036-BPC-Journal.png


JournalXfer

Le JournalXfer nous indique les fichiers sauvegardés selon le paramètre XferLogLevel au paragraphe #XferLogLevel. Le fichier journal de cette première sauvegarde est XferLOG.0.z.

  • Le script pre-sauvegarde.sh a été exécuté avant la sauvegarde et AutoBlock a été désactivé.
  • Le script post-sauvegarde.sh a été exécuté après la sauvegarde et AutoBlock a été réactivé.
037-BPC-JournalXfer.png
037-BPC-JournalXfer-A.png

Icone-NoteAPT.png  Pour cette sauvegarde particulière, le paramètre XferLogLevel était à 1 pour démontrer la liste des fichiers sauvegardés.


Journal Erreurs

  • Le journal Erreurs nous indique le nombre d'erreurs encourus.
041-BPC-JournalErreurs.png


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.
042-BPC-JournalPrincipal.png
...

2018-05-05 09:10:28 User admin requested backup of 127.0.0.1 (127.0.0.1)

2018-05-05 09:11:36 Started full backup on 127.0.0.1 (pid=2527, share=/)

2018-05-05 09:35:09 Finished full backup on 127.0.0.1

..


Journal "messages" du Serveur SME

Les commandes signal-event pre-backup, signal-event post-backup et les deux remoteaccess-update ont toutes été exécutées correctement.

La première commande remoteaccess-update a mis à jour la désactivation de la propriété AutoBlock et la deuxième sa réactivation.

...
Processing event: pre-backup
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...
Processing event: remoteaccess-update
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...
Processing event: post-backup
Running event handler: /etc/e-smith/events/post-backup/S10mysql-delete-dumped-tables
...
Processing event: remoteaccess-update
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...


Espace disque et nombre d'inodes

Espace disque

L'espace disque est passé de 4,6M à 1,7G.

# 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


Nombre d'inodes

Le nombre d'inodes est passé de 67 à 201 294.

# df -i
/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

Icone-AsurveillerAPT.png  Pour 11% (1,7G) de l'espace disque de la partition /dev/sbd1 le nombre d'inodes est de 201 294. Ce qui serait plus de 15% du total de 1 310 720 si nous avions formaté avec un système de fichiers ext3 sans utiliser le paramètre -N. Ce pourcentage n'est que de 2% pour un système ext4.


043-BPC-RecapitulatifPremiereSauvegarde.png
  • C'est ici qu'on voit l'utilisation du disque et du grand nombre d'inodes (le nombre de Fichiers existants vs le nombre de Nouveaux fichiers).
  • 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 légère augmentation de l'espace disque utilisé.

Icone-AsurveillerAPT.png  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.

...
2018-03-03 11:35:44 full backup started for directory /
2018-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])
2018-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

On clique: Démarrer la sauvegarde Incrémentielle.

044-BPC-PremiereIncrementielle-A.png


  1. On confirme en cliquant: Démarrer la sauvegarde Incrémentielle.
  2. On retourne à la page d'accueil.
  3. BackupPC indique que la sauvegarde a débutée.
  4. La sauvegarde est en cours.
044-BPC-PremiereIncrementielle-B.png
044-BPC-PremiereIncrementielle-C.png
044-BPC-PremiereIncrementielle-D.png
044-BPC-PremiereIncrementielle-E.png

Icone-NoteAPT.png  Les 2 minutes écoulées entre le début 10:06 et la sauvegarde elle-même 10:08 ont été utilisées, par BackupPC_refCountUpdate, pour l'ajustement des liens vers la sauvegarde précédente #0.


  1. La sauvegarde Incrémentielle est commencée.
  2. La sauvegarde Incrémentielle est terminée.
044-BPC-PremiereIncrementielle-F.png
044-BPC-PremiereIncrementielle-G.png


Ci dessous, on voit que la sauvegarde Incrémentielle a été fusionnée à la dernière sauvegarde Complète.

044-BPC-PremiereIncrementielle-H.png


L'Incrémentielle a pris 3.0 minutes et a trouvé un delta de 101 fichiers d'une taille totale de 37.5 Mo.


Fusion

  1. Comme l'affiche la page d'accueil, l'Incrémentielle #1 a été Fusionnée avec la Complète #0.
  2. La fusion est aussi démontrée ci-dessous, par la grandeur de l'Incrémentielle #1.
045-BPC-Fusion-A.png
045-BPC-Fusion-B.png


Examen des fichiers

On peut afficher le contenu d'une sauvegarde en cliquant le numéro de celle-ci "1".

046-BPC-ExamenDeFichier-A.png


L'arborescence des fichiers de la sauvegarde est affichée.

046-BPC-ExamenDeFichier-B.png


Deuxième sauvegarde Incrémentielle

On lance une deuxième sauvegarde Incrémentielle.

  1. Le script pre-sauvegarde.sh a roulé avec succès.
    La deuxième sauvegarde Incrémentielle a débutée.
    La script post-sauvegarde.sh a roulé avec succès.
    La deuxième sauvegarde Incrémentielle s'est terminée.
  2. 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.
047-BPC-Incrementielle-2-A.png
047-BPC-Incrementielle-2-B.png


Restauration d'un fichier

Restauration vers le répertoire original

  1. Si on veut restaurer un fichier particulier, on clique sur le numéro de la sauvegarde contenant le fichier à restaurer.
  2. On se rend dans le répertoire du fichier en parcourant l'arborescence à gauche.
    On coche la case du fichier à restaurer > Restaurer les fichiers sélectionnés.
    On peut sélectionner le nombre de fichiers désirés sans aucun problème.
048-BPC-Restauration-A.png
048-BPC-Restauration-B.png


On vérifie le nom du fichier à restaurer > Démarrer la restauration.

048-BPC-Restauration-C.png


On vérifie le chemin de la source et celui de la destination > Restaurer.

048-BPC-Restauration-D.png


La restauration a réussie; on retourne à la page d'accueil.

048-BPC-Restauration-E.png


Le fichier journal de la machine.

048-BPC-Restauration-F.png


Icone-NoteAPT.png  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.


À 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.

048-BPC-Restauration-G.png

Vérification

  1. On peut cliquer Visionner ou Erreurs.
  2. Si on clique Visionner.

048-BPC-Restauration-H.png
048-BPC-Restauration-I.png


Si on a clique Erreur.

048-BPC-Restauration-J.png


Restauration vers un répertoire différent

On peut choisir un autre répertoire de destination tel que /temp pour la restauration > Démarrer la restauration.

048-BPC-Restauration-K.png


On clique Restaurer.

048-BPC-Restauration-L.png


On retourne à la page d'accueil.

048-BPC-Restauration-M.png


La restauration s'est terminée avec Succès.

048-BPC-Restauration-N.png


Vérification dans le Fichier journal de la machine.

048-BPC-Restauration-O.png


Icone-NoteAPT.png  Cette fois-ci, restore 1 complete, la restauration a créé un fichier car, le fichier restauré n'était pas présent dans le répertoire /temp.


Vérification manuelle.

# ls -als /temp/
total 12
4 drwxr-xr-x  2 root root 4096  3 mars   2017 .
4 dr-xr-xr-x 27 root root 4096  5 mai   11:47 ..
4 -rw-------  1 root root 1314  3 mars   2017 renouvelerSSL

Nettoyage nocturne

Sauvegardes à conserver

Complètes

049-BPC-NettoyageNocturne-A.png

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 à 1 pour indiquer à BackupPC de ne garder qu'une seule sauvegarde Complète 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 Complète se termine avec succès, la plus ancienne est supprimée.


Incrémentielles

049-BPC-NettoyageNocturne-B.png

Nous avons indiqué de conserver un maximum de 6 Incrémentielles avec un minimum de 1.


Journal principal de BackupPC

Nous avons fait 1 Complète et 2 Incrémentielles.

049-BPC-NettoyageNocturne-C.png
049-BPC-NettoyageNocturne-C0.png


Fermeture et amorçage du serveur BackupPC

Icone-AstuceAPT.png  Pour cette démonstration seulement, nous avons ajuster BlackoutPeriods du serveur hôte de BackupPC pour qu'il puisse exécuter une sauvegarde durant la journée.

Nous avons éteint le serveur BackupPC à 20:59:23.

Le lendemain, nous avons amorcer le serveur BackupPC à 09:49:23.

Le prochain réveil se fera à 10:00:00.

2018-05-05 20:59:23 Got signal TERM... cleaning up (exit code = 0)

...
2018-05-06 09:49:23 Reading hosts file
2018-05-06 09:50:26 BackupPC 4.2.0 (Perl v5.10.1) started, pid 2284
2018-05-06 09:50:27 Next wakeup is 2018-05-06 10:00:00
...


Journal de la machine 127.0.0.1, hôte de BackupPC

049-BPC-NettoyageNocturne-D.png

Vu que:

  • 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.

Icone-NoteAPT.png  Nous pouvons affirmer que nous avons présentement: (3 - (la plus récente)) = 2 fusionnées.

  • Nous avons donc 1 sauvegarde fusionnée de trop.


Lorsque BackupPC s'est réveillé, le Nettoyage nocturne n'ayant pas été fait, il a constaté qu'il fallait qu'il supprime 1 sauvegarde fusionnée.

Il a donc:

  • Supprimé la plus ancienne fusionnée i.e. la sauvegarde Complète, backup 0.
...
2018-05-06 10:00:01 Removing filled backup 0
2018-05-06 10:00:01 BackupPC_backupDelete: removing #0
2018-05-06 10:00:01 BackupPC_backupDelete: No prior backup for merge
...


  • Mis les pointeurs à jour.
...
2018-05-06 10:03:23 BackupPC_refCountUpdate: host 127.0.0.1 got 0 errors (took 1 secs)
2018-05-06 10:03:23 Finished BackupPC_backupDelete, status = 0 (running time: 202 sec)
...


  • Débuté une sauvegarde Complète car, FullKeepCnt = 1.
...
2018-05-06 10:05:43 Output from DumpPreUserCmd:     AutoBlock=disabled
2018-05-06 10:06:02 full backup started for directory /
2018-05-06 10:13:31 Output from DumpPostUserCmd:     AutoBlock=enabled
2018-05-06 10:13:32 full backup 3 complete, 84114 files, 3331261397 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)
...


  • Supprimé la sauvegarde backup 1 car, il existait encore une sauvegarde Fusionnée de trop.
...
2018-05-06 10:13:32 Removing filled backup 1
2018-05-06 10:13:32 BackupPC_backupDelete: removing #1
2018-05-06 10:13:32 BackupPC_backupDelete: No prior backup for merge
...


  • Terminé sont nettoyage, en mettant les pointeurs à jour.
...
2018-05-06 10:15:21 BackupPC_refCountUpdate: host 127.0.0.1 got 0 errors (took 1 secs)
2018-05-06 10:15:21 Finished BackupPC_backupDelete, status = 0 (running time: 109 sec)
...


Voici le résultat du nettoyage.

049-BPC-NettoyageNocturne-E.png


049-BPC-NettoyageNocturne-F.png


Activation des sauvegardes automatiques

050-BPC-ActivationDesSauvegardes.png

Icone-AsurveillerAPT.png  Notre configuration fonctionne correctement, nous pouvons maintenant activer les sauvegardes automatiques en mettant BackupsDisable = 0 sous l'onglet Horaire.

Icone-AstuceAPT.png  La démonstration étant terminée, nous avons remis BlackoutPeriods de la machine du serveur hôte de BackupPC 127.0.0.1, aux mêmes valeurs que celles décrites au paragraphe: #BlackoutPeriods.

Les sauvegardes Complètes et Incrémentielles de l'hôte de BackupPC fonctionnent correctement.


Serveur SOURCE

  1. Diagramme réseau
  2. On affiche la page Web du serveur SOURCE: https://192.168.1.152/ afin de pouvoir la comparer après la restauration de SOURCE sur DESTINATION.
051-BPC-DiagServeurSource.png
051-BPC-IndexHTMLSource.png

Création de la machine SOURCE dans BackupPC

Nous allons créer une nouvelle machine dans BackupPC pour représenter le Serveur SME SOURCE.

Nom du serveur: source.micronator-101.org // Adresse IP: 192.168.1.152.

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.

Icone-AstuceAPT.png  Si vous pouvez faire un ping en utilisant le nom de votre Serveur SME, vous pouvez alors utiliser ce nom pour la création de la machine dans BackupPC.

  • Nous utilisons le gabarit smeserver-template pour créer la nouvelle machine dans BackupPC.

Serveur > Modifier la configuration > onglet Machines > Ajouter > host 192.168.1.152=smeserver-template > user admin > Sauvegarder.

053-BPC-MachineSource-A.png
053-BPC-MachineSource-B.png


Page d'accueil

Sous Hôtes, on choisit le nom de notre nouvelle machine c.-à-d. 192.168.1.152. Sa page d'accueil s'affiche.

053-BPC-MachineSource-D.png


Vérification de la configuration

  1. Modifier la configuration
  2. Paramètres de sauvegardeCommandes des usagers.
    On vérifie la pre-commande et la post-commande.
053-BPC-MachineSource-E.png
053-BPC-MachineSource-F.png


  1. HoraireSauvegardes complètes.
  2. Sauvegardes incrémentielles.
  3. Suspension.
    * 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. Après la sauvegarde Complète et les deux Incrémentielles du serveur SOURCE, nous allons recycler cette quincaillerie et allons restaurer la dernière sauvegarde Incrémentielle vers la nouvelle quincaillerie i.e. le serveur DESTINATION. Cette Incrémentielle est fusionnée donc, elle est "complète" parce qu'elle contient aussi les liens vers tous les fichiers qui lui manque.
    * Sur nos Serveurs SME en production, on activera les sauvegardes automatiques seulement après avoir vérifier une sauvegarde manuelle.
  4. BlackoutPeriods.
053-BPC-MachineSource-H.png
053-BPC-MachineSource-I.png
053-BPC-MachineSource-G.png
027-BPC-Horaire-A.png


Téléversement de la clé SSH de BackupPC vers SOURCE

Sur le serveur hôte de BackupPC, on se substitue à l'usager backuppc.

# su -s /bin/bash backuppc


On téléverse la clé publique de BackupPC vers le client SOURCE afin que BackupPC puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion SSH.

# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.152 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[192.168.1.152]:2222 ([192.168.1.152]:2222)' can't be established.
RSA key fingerprint is c0:24:7f:fe:00:83:cd:f6:2b:ad:e7:b9:dc:b4:aa:bf.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.152]:2222' (RSA) to the list of known hosts.
root@192.168.1.152's password: mot-de-passe-de-root-du-serveur-SOURCE


Vérification

On vérifie le login sans mot de passe et la clé SSH de BackupPC stockée sur le serveur SOURCE.

# ssh -p 2222 root@192.168.1.152  "cat /root/.ssh/authorized_keys2"
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9

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_keys2 du serveur 192.168.1.152.


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.

# cat /var/lib/BackupPC/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
  • Les clés coïncident. La clé a donc bien été téléversée sur le serveur SOURCE.


On se désengage de la session backuppc et on retourne à l'usager root.

# exit


Icone-AstuceAPT.png  Si la connexion distante n'a pas réussie, on peut se loguer en root à la console du serveur distant et désactiver AutoBlock.

# config setprop sshd AutoBlock disabled


On signale le changement.

# signal-event remoteaccess-update


Icone-AsurveillerAPT.png  Depuis la console du serveur BackupPC, on ré-essaie une connexion à distance vers le serveur 192.168.1.152.

Icone-NoteAPT.png  Il ne sera pas nécessaire de réactiver AutoBlock sur le serveur distant car, la script post-sauvegarde.sh s'en chargera.


S'il est impossible de désactiver AutoBlock à cause de l'inaccessibilité de la console à distance:

  • On peut demander d'installer Fail2ban sur le serveur distant et mettre l'IP du serveur BackupPC sur la liste blanche.
  • Vu que Fail2ban remplace les fonctionnalités d'AutoBlock, on désactive ce dernier et ainsi, les logins depuis BackupPC ne seront plus jamais bloqués.
  • Pour l'installation de Fail2ban, voir https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.


Sauvegardes du Serveur SME SOURCE

  1. Diagramme du Serveur SME SOURCE.
  2. Sur la page d'accueil de la machine du serveur SOURCE (192.168.1.152), on lance la sauvegarde Complète de la même manière que celle du serveur BackupPC exécutée plus tôt.
    La sauvegarde débute.
rignt
054-BPC-SauvegardeSource-B.png


  1. La sauvegarde est en cours.
  2. Le Fichier journal de la machine SOURCE affiche les résultats de la sauvegarde Complète.
054-BPC-SauvegardeSource-C.png
054-BPC-SauvegardeSource-D.png


La page d'accueil de la machine SOURCE affiche tous les détails de la sauvegarde.

054-BPC-SauvegardeSource-E.png


Icone-NoteAPT.png  Les Fichiers existants sont ceux trouvés dans la sauvegarde d'un autre SME, celle de 127.0.0.1, ils sont identiques à ceux de SOURCE et ainsi BackupPC crée des liens pour la sauvegarde de SOURCE pointant vers ces mêmes fichiers identiques appartenant à 127.0.0.1. C'est ce qui explique que 10 774 fichiers ont une grandeur totale minime de 21.9 Mo; seulement 4 852 nouveaux fichiers, exclusifs à SOURCE, ont été sauvegardés.


Incrémentielles du Serveur SME 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.

  1. L'Incrémentielle est terminée.
  2. L'Incrémentielle a été fusionnée.
055-BPC-IncrementiellesServeurSource-A.png
055-BPC-IncrementiellesServeurSource-B.png


Sur la page d'accueil, les détails de la sauvegarde Incrémentielle 1 sont affichés.

055-BPC-IncrementiellesServeurSource-C.png


Deuxième Incrémentielle

On peut aussi faire une deuxième Incrémentielle pour voir ce qui se passera.

  1. Les deux Incrémentielles sont toutes deux fusionnées.
  2. Sur la page d'accueil, les détails de toutes les sauvegardes sont affichés.
055-BPC-IncrementiellesServeurSource-D.png
055-BPC-IncrementiellesServeurSource-E.png


Tout s'est bien passé. On est prêt pour une restauration Complète du serveur SOURCE sur le serveur DESTINATION.


Restauration de SOURCE sur DESTINATION

Description de la dernière sauvegarde de SOURCE

056-BPC-RestSourceSurDestination-C.png

  La dernière sauvegarde de SOURCE porte le #2.

  On se servira de ce numéro pour générer le fichier TAR.


056-BPC-RestSourceSurDestination-D.png

La dernière 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 sauvegarde Complète.


Par contre, elle n'a pas sauvegarder les fichiers:

  • /etc/fstab
    Servant pour le montage des disques.
      
  • /etc/udev/rules.d/70-persistent-net.rules
    Servant à relier les a­dres­ses MAC des cartes réseau à leur dispositif eth0 et eth1.


Création du fichier TAR de la sauvegarde

On crée un répertoire de stockage pour nos futurs fichiers TAR qui serviront pour les restaurations complètes.

Sur le serveur BackupPC en tant qu'usager root.

 # mkdir /var/lib/BackupPC/mes_restaurations


On ajuste le propriétaire et le groupe.

# chown backuppc:backuppc /var/lib/BackupPC/mes_restaurations/


On ajuste les droits.

# chmod 700 /var/lib/BackupPC/mes_restaurations/


On vérifie.

# ls -lsd /var/lib/BackupPC/mes_restaurations/


Création du fichier TAR

BackupPC_tarCreate

  • BackupPC_tarCreate crée un fichier TAR contenant tous les fichiers ou 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 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.


Options de BackupPC_tarCreate:

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

Autres 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. (L'invite va passer de # à $).

# su - backuppc -s /bin/sh


On se rend dans le répertoire de stockage.

$ cd /var/lib/BackupPC/mes_restaurations/


On crée le fichier TAR de la sauvegarde numéro 2 du serveur hôte 192.168.1.152.

Icone-NoteAPT.png  Peut prendre un certain temps. Être patient!

$ /usr/share/BackupPC/bin/BackupPC_tarCreate  -h 192.168.1.152 -n 2 -s /  / > source-152-2.tar


On vérifie.

$ ls -ls
2357982 -rw-r--r-- 1 backuppc backuppc 2414571520 15 mai 15:11 source-152-2.tar


Environnement du Serveur DESTINATION

Réseau LOCAL vs externe

056-BPC-RestSourceSurDestination-E.png

Le réseau LOCAL du serveur micronator.org, servant d'aiguilleur pour les connexions à l'Internet, est sur le segment IP 192.168.1.0/24.

Toutes nos machines de travail et tous nos Serveur SME virtuels sont donc sur le réseau LOCAL du serveur micronator.org.

Tous nos serveurs virtuels sont connectés à travers leur carte réseau LOCAL (eth0) sur le segment LOCAL de micronator.org; ils sont tous sur le segment IP 192.168.1.0/24 et peuvent utiliser l'aiguilleur micronator.org pour se rendre sur l'Internet.

Tout ceci fait en sorte que toutes nos stations, pour communiquer avec leur serveur respectif, passent par le réseau LOCAL de leur Serveur SME virtuel.



Serveur SME DESTINATION distant

056-BPC-RestSourceSurDestination-F.png


Advenant le cas où le Serveur SME est distant et que l'accès SSH soit privé, on peut ouvrir une session TeamViewer sur une station distante ayant accès au réseau LOCAL du serveur distant puis, ouvrir une connexion PuTTY sur la station distante afin de se brancher localement au serveur DESTINATION et rendre l'accès SSH publique.

Icone-AsurveillerAPT.png  Dans le gestionnaire Server Manager de DESTINATION, sur la page Accès à distance, il faut aussi vérifier tous les autres paramètres SSH. Voir: #Paramètres SSH de tous les serveurs.


Mise à jour SME

Icone-AsurveillerAPT.png  Avant la restauration, il est préférable de mettre à jour le serveur DESTINATION. Le répertoire /boot du serveur SOURCE n'étant pas sauvegardé, la mise à jour avant la restauration installera sur DESTINATION le dernier noyau Linux s'il y a lieu.


Téléversement de la clé SSH de BackupPC sur DESTINATION

On se substitue à l'usager backuppc et on téléverse la clé publique de BackupPC sur le serveur DESTINATION (192.168.1.102) afin que BackupPC puisse entrer en communication avec le serveur DESTINATION sans devoir utiliser un mot de passe lors d'une connexion SSH.

$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.102 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[192.168.1.102]:2222 ([192.168.1.102]:2222)' can't be established.
RSA key fingerprint is be:a2:3f:cf:c1:4f:05:63:1a:12:c8:75:c5:a7:2c:6f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.102]:2222' (RSA) to the list of known hosts.
root@192.168.1.102's password: mot-de-passe-de-root-du_serveur-DESTINATION


Vérification de la connexion

On ouvre une connexion SSH vers DESTINATION et on affiche ses paramètres d'AutoBlock.

$ /usr/bin/ssh -p2222 root@192.168.1.102 "/sbin/e-smith/config show sshd"
    AutoBlock=enabled
    AutoBlockTime=900
    AutoBlockTries=4
    LoginGraceTime=600
    MaxAuthTries=2
    MotdStatus=enabled
    PasswordAuthentication=yes
    PermitRootLogin=yes
    TCPPort=2222
    UsePAM=yes
    access=public
    status=enabled

Il n'y a pas eu de demande de mot de passe et l'exécution de la commande s'est terminé correctement. La connexion sans mot de passe est donc fonctionnelle.


On se désengage de la connexion sans mot de passe.

$ exit


Nous sommes de retour à la console du serveur BackupPC; on sort de su et on revient à l'usager root.

$ exit


Page WEB actuelle de DESTINATION

056-BPC-RestSourceSurDestination-B.png


Login sur le serveur DESTINATION

Icone-AstuceAPT.png  On peut ouvrir un session SSH vers le serveur de DESTINATION pour pouvoir voir ce qui s'est passé en cas d'erreur de restauration.

Icone-AsurveillerAPT.png  Il faut ouvrir cette session avant la restauration car, celle-ci écrasera les clés SSH de DESTINATION et le serveur pourrait refuser toutes nouvelles connexions.


Le fichier TAR de la sauvegarde a été créé et la clé SSH téléversée. Nous sommes prêt pour la restauration.


Commande de pré-restauration

Contrairement à une restauration de quelques répertoires ou fichiers, lorsqu'on restaure toute une sauvegarde, il faut exécuter la commande de pre-restauration avant la restauration et celles de post-installation après la restauration.


On envoie la commande de pre-restauration avec une pause de 15 secondes.

Icone-AsurveillerAPT.png  Attendre que l'invite revienne.

$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/sbin/e-smith/signal-event pre-restore; /bin/sleep 15"


Vérification de l'exécution de la commande de pré-restauration.

$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/bin/date; cat /var/log/messages | grep  'Processing event: pre-restore' | tail -1"
mar. mai 15 18:26:02 EDT 2018
May 15 18:25:21 destination esmith::event[2537]: Processing event: pre-restore


Arrêt du serveur SOURCE

Icone-AsurveillerAPT.png  Il faut absolument que le serveur SOURCE soit éteint avant de lancer les commandes de restauration car, la commande post-restauration en fait partie. Si SOURCE roule encore lors du réamorçage de DESTINATION, des conflits de noms de serveurs et d'adresses IP seraient détectés.


Restauration

Le groupe de commandes qui envoie le fichier TAR au serveur DESTINATION:

  • Se connecte.
  • Demande à DESTINATION de se rendre dans le répertoire racine /.
  • Envoie le fichier TAR que DESTINATION décompose avec /bin/tar -xvv.  (L'option vv affiche une liste plus longue, semblabe à ls -l).
  • À la fin du téléversement, envoie les commandes de post-restauration.
  • Se déconnecte car, les commandes de restauration sont terminées.

Icone-AsurveillerAPT.png  Peut prendre plusieurs minutes et même plusieurs heures pour une très grosse restauration.


La restauration est terminée lorsque l'invite $ réapparaît.

$ ssh -p 2222 root@192.168.1.102 "cd / && /bin/tar -xvv; /sbin/e-smith/signal-event post-upgrade; /sbin/e-smith/signal-event reboot" < source-152-2.tar
...
-rw-r--r-- root/root                   172 2007-08-28 10:54 ./var/www/icons/small/unknown.png
-rw-r--r-- root/root                   125 2004-11-20 20:16 ./var/www/icons/small/uu.gif
-rw-r--r-- root/root                   166 2007-08-28 10:54 ./var/www/icons/small/uu.png
bash:   : commande introuvable
$

Icone-NoteAPT.png  La ligne bash: : commande introuvable peut être ignorée car il n'y a pas de commande introuvable, seulement une suite d'espaces interprété comme une commande.


Réamorçage

DESTINATION a reçu les commandes de post-restauration et réamorce pour activer les nouveaux paramètres de configuration i.e. ceux contenus dans le fichier TAR.

  1. Le serveur débute son réamorçage. (Peut prendre un certain temps. Être patient!)
  2. Activation des paramètres de configuration.
056-BPC-RestSourceSurDestination-H.png
056-BPC-RestSourceSurDestination-I.jpg


  1. Remise en place des bases de données MySQL.
  2. Le fenêtre de login est affichée.
056-BPC-RestSourceSurDestination-J.png
056-BPC-RestSourceSurDestination-K.png


Vérification

Login SSH

Icone-AsurveillerAPT.png  Maintenant, DESTINATION est un clone de de SOURCE.


Si nous n'avons pas ouvert de session SSH vers DESTINATION avant la restauration, on en ouvre une maintenant et on se logue en root avec son mot de passe du serveur SOURCE.

# login as: root

root@192.168.1.152's password: mot-de-psse-de-root-sur-SOURCE
Last login: Tue May 15 19:31:03 2018
************ Welcome to SME Server 9.2 *************

Before editing configuration files, familiarise
yourself with the automated events and templates
systems.

Please take the time to read the documentation
http://wiki.contribs.org/Main_Page

Remember that SME Server is free to download
and use, but it is not free to build

Please help the project :
http://wiki.contribs.org/Donate

****************************************************
[root@source ~]#


Cartes réseau

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:69:CF
          inet adr:192.168.2.152  Bcast:192.168.2.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:5968 (5.8 KiB)  TX bytes:6941 (6.7 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:D1:6F:3C
          inet adr:192.168.1.152  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:60892 (59.4 KiB)  TX bytes:23676 (23.1 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:107 errors:0 dropped:0 overruns:0 frame:0
          TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:8435 (8.2 KiB)  TX bytes:8435 (8.2 KiB)


Site Web

Le site Web est fonctionnel tel qu'il était sur le serveur SOURCE original.

  1. Nouveau diagramme du serveur DESTINATION.
  2. On se rend au nouveau URL du serveur DESTINATION c.-à-d. l'adresse du serveur SOURCE.
056-BPC-RestSourceSurDestination-L.png
056-BPC-RestSourceSurDestination-M.png


Le site Web est tel qu'il était sur le serveur SOURCE original. DESTINATION est maintenant identique à SOURCE. CQFD


Cartes réseaux du serveur de DESTINATION

Il faut s'assurer que le serveur DESTINATION ait une configuration unique pour ses cartes réseau et que ces dernières soient bien eth0 et eth1.

Icone-AsurveillerAPT.png  Si on change les cartes réseau, la configuration prendrait par défaut, les cartes eth2 et eth3.

Icone-NoteAPT.png  Exemple: les cartes physiques originales ne sont plus présentes sur le serveur DESTINATION car, après la restauration, elles ont été remplacées par des cartes plus rapides.


Vérification des cartes réseaux de DESTINATION

On se logue au serveur DESTINATION et on examine la configuration de ses nouvelles cartes réseau.

# ifconfig
eth2      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)

eth3      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
          inet adr:192.168.1.1  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)

Comme on le voit ci-dessus, les cartes présentes ne sont pas celles d'origine car elles portent les noms de eth2 et eth3.


On affiche le fichier de configuration des cartes réseau.

# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

Comme on le voit ci-dessus, les cartes originales eth0 et eth1 ont été remplacées par les cartes eth2 et eth3.


Fichier /etc/udev/rules.d/70-persistent-net.rules

On édite le fichier /etc/udev/rules.d/70-persistent-net.rules tel que ci-dessous:

  • On supprime les lignes des anciennes cartes eth0 et eth1.
  • On remplace eth2 par eth0.
  • On remplace eth3 par eth1.
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

#PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Répertoire /etc/sysconfig/network-scripts

On se rend dans le répertoire de configuration des scripts des cartes réseau.

# cd /etc/sysconfig/network-scripts


Fichier ifcfg-eth2

# cat ifcfg-eth2 | grep eth2
DEVICE=eth2


  • On change DEVICE=eth2 pour DEVICE=eth0.
# sed -i 's/DEVICE=eth2/DEVICE=eth0/' ifcfg-eth2


  • On renomme le fichier ifcfg-eth2 pour ifcfg-eth0.
# mv  ifcfg-eth2  ifcfg-eth0


Fichier ifcfg-eth3

# cat ifcfg-eth3 | grep eth3
DEVICE=eth3


  • On change DEVICE=eth3 pour DEVICE=eth1.
# sed -i 's/DEVICE=eth3/DEVICE=eth1/' ifcfg-eth3


  • On renomme le fichier ifcfg-eth3 pour ifcfg-eth1.
# mv  ifcfg-eth3  ifcfg-eth1


Fichier route-eth2

  • On renomme le fichier route-eth2 pour route-eth0.
# mv  route-eth2  route-eth0


Fichier route-eth3

  • On change eth3 pour eth1.
# sed -i 's/eth3/eth1/' route-eth3


  • On renomme le fichier route-eth3 pour route-eth1.
# mv route-eth3 route-eth1


Réamorçage

# shutdown -r now


On se logue et on vérifie.

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
          inet adr:192.168.2.102  Bcast:192.168.2.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)

eth1      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
          inet adr:192.168.1.102  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)


Fermeture de la connexion SSH

On ferme la connexion SSH vers le serveur DESTINATION.

# exit
Les cartes réseau ont retrouvé leur dispositif par défaut.

Déverminage

sshd & AutoBlock

OpenSSH

Référence: https://fr.wikipedia.org/wiki/OpenSSH.

OpenSSH (OpenBSD Secure Shell) est un ensemble d'outils informatiques LIBREs, permettant des communications sécurisées sur un réseau informatique en utilisant le protocole SSH.

Créé comme alternative LIBRE à la suite logicielle proposée par la société SSH Communications Security, OpenSSH est développé depuis 1999 par l'équipe d'OpenBSD, dirigée par son fondateur Theo de Raadt, et diffusé sous licence BSD.

OpenSSH est à la fois une brique logicielle du système OpenBSD et l'implémentation SSH la plus utilisée sur les systèmes BSD et GNU/Linux. L'équipe du projet OpenSSH maintient une version normale propre à OpenBSD et une version multiplateforme sous l'appellation Portable OpenSSH à destination des systèmes compatibles (autres BSD, systèmes GNU/Linux...). Les versions multiplateforme sont estampillées d'un p comme portable, par exemple: OpenSSH 5.0p1.

La suite logicielle OpenSSH inclut les outils suivants:

  • ssh, un remplaçant pour les clients rlogin et telnet: ssh utilisateur@exemple.com.
  • scp, un remplaçant pour le client rcp: scp toto.txt utilisateur@exemple.com:~/utilisateur/.
  • sftp, un remplaçant pour le client ftp: sftp utilisateur@exemple.com.
  • sshd, le démon SSH: sshd, le démon qui nous intéresse le plus en ce qui concerne BackupPC.


Paramètres du démon sshd pour tous nos Serveurs SME

Comme exemple, on affiche le paramètre du démon sshd du serveur hôte de BackupPC.

# config show sshd
sshd=service
    AutoBlock=enabled
    AutoBlockTime=900
    AutoBlockTries=4
    LoginGraceTime=600
    MaxAuthTries=2
    MotdStatus=enabled
    PasswordAuthentication=yes
    PermitRootLogin=yes
    TCPPort=2222
    UsePAM=yes
    access=public
    status=enabled


AutoBlock=enabled

Si AutoBlock est activé i.e =enabled, il rejette les connexions, provenant de la même adresse IP, après 3 demandes ou plus (début du blocage indiqué par AutoBlockTries) au cours des 15 minutes précédentes (AutoBlockTime=900). Le blocage automatique se termine lorsqu'il y a eu moins de demandes que ce nombre dans le temps spécifié (AutoBlockTime). Les connexions réussies font aussi partie du nombre de demandes.

Icone-NoteAPT.png  Par design, seules les adresses IP en dehors du réseau LOCAL seront bloquées.

Icone-AstuceAPT.png  Dans cette marche à suivre, on s'occupe toujours d'AutoBlock au cas où les communications des serveurs de nos lecteurs se feraient sur le réseau externe au lieu de LOCAL.


AutoBlockTime=900

L'intervale de temps pendant lequel les connexions sont comptées.

Si AutoblockTime est à 900s, le temps de libération après une quatrième tentative est de 900s.

Si AutoblockTime est à 900s, le temps de libération après une cinquième tentative est de 2 x 900s = 1800s.

Si AutoblockTime est à 900s, le temps de libération après une sixième tentative est de 4 x 900s = 3600s.

Si AutoblockTime est à 900s, le temps de libération après une septième tentative est de 8 x 900s = 7200s.


AutoBlockTries=4

Début du nombre de connexions à partir duquel elles seront bloquées.

AutoBlockTries=4 signifie que 3 connexions, réussies ou non, sont autorisées. La quatrième sera bloquée.


Réglages

Référence: https://wiki.contribs.org/AutoBlock.

Icone-NoteAPT.png  La commande signal-event remoteaccess-update entraînera la suppression de l'historique d'AutoBlock en raison de la présence de: masq -> adjust dans le fichier services2adjust exécuté par remoteaccess-update.


AutoBlock

Activation

# db configuration setprop sshd AutoBlock enabled


Désactivation

# db configuration setprop sshd AutoBlock disabled


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


AutoBlockTries

# db configuration setprop sshd AutoBlockTries 4


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


AutoBlockTime

En secondes.

# db configuration setprop sshd AutoBlockTime 900


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


Historique d'AutoBlock

Affichage de l'historique d'AutoBlock.

# cat /proc/net/xt_recent/SSH
src=192.168.1.81 ttl: 128 last_seen: 4300025257 oldest_pkt: 3 4295469879, 4299976390, 4300025257


État actuel du blocage

Affichage de l'état actuel du blocage pour les 100 dernières adresses IP vues:

# iptables -L SSH_Autoblock -v
Chain  SSH_Autoblock (1 references)
 pkts  bytes target   prot  opt  in   out  source    destination
    3    156          all   --   any  any  anywhere  anywhere     recent: SET name: SSH side: source
    0      0 denylog  all   --   any  any  anywhere  anywhere     recent: CHECK seconds: 900 hit_count: 4 TTL-Match name: SSH side: source


Suppression de l'historique

Un administrateur du système, avec les droits de root, peut supprimer l'historique de SSH_AutoBlock à tout moment avec la commande suivante:

# echo "/" > /proc/net/xt_recent/SSH


Script de pré-sauvegarde

Si la désactivation d'AutoBlock est non fonctionnel:

  1. Courriel reçu par EMailAdminUserName@EMailUserDestDomain (admin@micronator-101.org).
  2. Message dans le journal BackupPC de cette machine.
  3. Message affiché sur la page d'accueil de la machine en question.
006-BPC-EMailAdminUserName.png
Aborting backup up after signal INT

Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled

007-BPC-ResumeDeLaSauvegarde.png


Si une expiration du délais de connexion est rencontrée

Message dans le journal BackupPC de cette machine.

Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: Null message body; hope that's ok
Aborting backup up after signal INT
Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled


Pour désactiver le blocage des sauvegardes pour cette machine

  1. Changer ce nombre.
  2. Entrer 0.0 > Arrêter/annuler la sauvegarde.
  3. Cliquer le nom de la machine: 192.168.1.152.
  4. On est de retour à la page d'accueil de cette machine.
  5. Message au retour d'une Expiration du délais de connexion.
008-BPC-DesactiverBlocage-A.png
008-BPC-DesactiverBlocage-B.png
008-BPC-DesactiverBlocage-C.png
008-BPC-DesactiverBlocage-D.png
008-BPC-DesactiverBlocage-E.png

Script de post-sauvegarde

Si la désactivation d'AutoBlock est non fonctionnel

  1. Courriel reçu par EMailAdminUserName@EMailUserDestDomain (admin@micronator-101.org).
  2. Message affiché sur la page d'accueil de la machine en question.
    Cliquer: Changer ce nombre.
010-BPC-Post-abNonFonctionnel-A.png
010-BPC-Post-abNonFonctionnel-B.png


  1. Entrer 0.0 > Arrêter/annuler la sauvegarde.
  2. Cliquer le nom de la machine: 192.168.1.152 pour retourner à la page d'accueil de cette machine.
010-BPC-Post-abNonFonctionnel-D.png
010-BPC-Post-abNonFonctionnel-E.png


Mot de la fin

Ce Cahier-9 s'ajoute en supplément aux précédents cahiers du Cours SME-101 afin de pourvoir faire une sauvegarde complète des Serveurs SME créés avec ces derniers.

Voici quelques marches à suivre relatives à Odoo-11.




caption  Victoire totale, hissons la bannière de la victoire.


  1. FQDN: Dans le DNS, un Fully Qualified Domain Name (FQDN, ou nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.
    Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.
  2. Dispositif: Unité qui assure la réalisation d'une opération particulière, indispensable au bon fonctionnement d'un système informatique, d'une machine ou d'un appareil.
    Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059.
  3. phrase de passe: Groupe de mots et de caractères alphanumériques ou spéciaux, faisant office de mot de passe, connu de l'utilisateur seulement, qui sert à protéger sa clé privée et à l'identifier lors d'une connexion ou d'un transfert de fichier, tout en lui assurant une plus grande sécurité.
    Notes: Les phrases de passe ne diffèrent des mots de passe que par la longueur. Les mots de passe sont généralement très courts - de 6 à 10 caractères -, alors que les phrases de passe peuvent comporter jusqu'à 100 caractères (et même plus). Leur longueur et la combinaison des mots et des caractères alphanumériques contribuent à les rendre plus difficiles à deviner que les mots de passe, et donc plus sûres.
    Une phrase de passe doit être: connue que de l'utilisateur, suffisamment longue pour être sûre, difficile à deviner, facile à retenir et à saisir sans erreur. Certains considèrent qu'elle devrait atteindre 80 à 100 caractères pour être vraiment efficace.
    Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195.
  4. 127.0.0.1: Le nom localhost est associé à l’adresse IPv6 ::1 et à la plage d’adresses IPv4 127.0.0.0/8 (toutes les adresses IPv4 comprises entre 127.0.0.1 et 127.255.255.255 dont la plus utilisée est 127.0.0.1). L’interface réseau virtuelle utilisée dans cette situation se nomme l’interface de loopback (abrégée par lo sous Unix) ou boucle locale.
    Référence: https://fr.wikipedia.org/wiki/Localhost.
  5. sudo: Référence: https://fr.wikipedia.org/wiki/Sudo.
  6. réveil par le réseau: Fonction permettant de mettre sous tension à distance des ordinateurs personnels, à partir de commandes émises par un serveur de réseau local. 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.