Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
backuppc [Le 30/05/2016, 22:00] – [Serveur de sauvegarde automatique : BackupPC] 194.57.236.1backuppc [Le 16/09/2026, 11:43] (Version actuelle) – Mise en forme nany
Ligne 1: Ligne 1:
-{{tag>Lucid  Precise Trusty réseau serveur sécurité sauvegarde }} +{{tag>bionic focal réseau serveur sécurité sauvegarde }}
-----+
  
 +{{ :image:backuppc-logo.gif?80|}}
 ====== Serveur de sauvegarde automatique : BackupPC ====== ====== Serveur de sauvegarde automatique : BackupPC ======
-{{ :image:backuppc-logo.gif?150 |}} 
 **BackupPC** est un logiciel libre de [[:sauvegarde|sauvegardes]] de données informatiques, publié sous licence GPL.\\ **BackupPC** est un logiciel libre de [[:sauvegarde|sauvegardes]] de données informatiques, publié sous licence GPL.\\
-Il permet d'assurer une politique de sauvegardes "versionnées" pour des clients de différents typ (Unix, GNU/Linux, Windows, Mac) +Il permet d'assurer une politique de sauvegardes "versionnées" pour des clients de différents types (Unix, GNU/Linux, Windows, Mac)
- +
-===== Présentation ======+
  
 **BackupPC** est utilisé pour sauvegarder un ensemble de postes. Il possède une interface Web pour configurer, lancer des sauvegardes ou restaurer des fichiers. Il est également possible de sauvegarder des bases de données. **BackupPC** est utilisé pour sauvegarder un ensemble de postes. Il possède une interface Web pour configurer, lancer des sauvegardes ou restaurer des fichiers. Il est également possible de sauvegarder des bases de données.
Ligne 13: Ligne 10:
 BackupPC permet de sauvegarder automatiquement à des intervalles de temps réguliers des répertoires situés sur des machines du réseau. BackupPC permet de sauvegarder automatiquement à des intervalles de temps réguliers des répertoires situés sur des machines du réseau.
  
-[[http://backuppc.sourceforge.net/faq/BackupPC.html#overview|Il peut également faire beaucoup plus…]] même s'il a quelques [[http://backuppc.sourceforge.net/faq/limitations.html|limites]]. +[[http://backuppc.sourceforge.net/faq/BackupPC.html#overview|Il peut également faire beaucoup plus…]] même s'il a quelques [[http://backuppc.sourceforge.net/faq/limitations.html|limites]].
  
 BackupPC peut utiliser plusieurs protocoles pour les sauvegardes : BackupPC peut utiliser plusieurs protocoles pour les sauvegardes :
-  * [[:Samba]] : Utilise le logiciel //SmbClient// pour le transfert des données. C'est un bon choix pour sauvegarder des machines sous Windows. +  * [[:SMB]] : Utilise le logiciel **[[:smb#smbclient]]** pour le transfert des données. C'est un bon choix pour sauvegarder des machines sous Windows. 
-  * [[:rSync]] : Utilise le logiciel //RSync// pour le transfert des données. C'est un bon choix pour sauvegarder des machines sous Linux, sous Mac ou sous windows. +  * [[:rSync]] : Utilise le logiciel **[[:RSync]]** pour le transfert des données. C'est un bon choix pour sauvegarder des machines sous Linux, sous Mac ou sous windows. 
-  * [[http://www.samba.org/ftp/rsync/rsyncd.conf.html|rSyncd]] : Utilise le //daemon// « rsyncd » installé sur chaque client. C'est un bon choix pour sauvegarder des machines sous Linux et sous Windows.+  * [[https://www.samba.org/ftp/rsync/rsyncd.conf.html|rSyncd]] : Utilise le //daemon// « rsyncd » installé sur chaque client. C'est un bon choix pour sauvegarder des machines sous Linux et sous Windows.
   * [[:Tar]] : Utilise le logiciel Tar. C'est un bon choix pour sauvegarder des machines sous Linux.   * [[:Tar]] : Utilise le logiciel Tar. C'est un bon choix pour sauvegarder des machines sous Linux.
  
-Sauf pour [[:Samba]], Backuppc utilise [[:SSH]] pour faire les transferts.+Sauf pour [[:SMB]], Backuppc utilise [[:SSH]] pour faire les transferts.
  
 ==== Politique de sauvegarde par défaut ==== ==== Politique de sauvegarde par défaut ====
Ligne 27: Ligne 24:
 Le logiciel se réveille toutes les heures pour sonder l'ensemble des machines spécifiées dans le fichier **/etc/backuppc/hosts**.\\ Le logiciel se réveille toutes les heures pour sonder l'ensemble des machines spécifiées dans le fichier **/etc/backuppc/hosts**.\\
 Puis, pour chaque poste allumé, il fonctionne ainsi : Puis, pour chaque poste allumé, il fonctionne ainsi :
-  * Interrogation de la période du Blackout: si l'hôte est dans sa période d'exctinction, le serveur passe à la machine suivante. Ce qui peut-être bien pratique pour des machines nomades.+  * Interrogation de la période du Blackout: si l'hôte est dans sa période d'exctinction, le serveur passe à la machine suivante. Ce qui peut être bien pratique pour des machines nomades.
   * Sinon, il étudie la machine hôte.   * Sinon, il étudie la machine hôte.
  
Ligne 38: Ligne 35:
  
 ===== Installation ===== ===== Installation =====
- 
-==== Version des dépôts ==== 
 Backuppc est [[http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=Supporting_distros|supporté]] par un bon nombre de [[wpfr>Linux#Distributions|distributions linux]].\\ Backuppc est [[http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=Supporting_distros|supporté]] par un bon nombre de [[wpfr>Linux#Distributions|distributions linux]].\\
-Étant disponible dans les [[:dépôts]] de chaque [[:versions|versions d'Ubuntu]], il suffira d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>backuppc|backuppc]]** [[http://packages.ubuntu.com/search?keywords=backuppc&searchon=names&suite=all&section=all|correspondant]] sur votre serveur de sauvegarde, puis de vous laissez guider.+Étant disponible dans les [[:dépôts]] de chaque [[:versions|versions d'Ubuntu]], il suffira d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>backuppc|backuppc]]** [[https://packages.ubuntu.com/search?keywords=backuppc&searchon=names&suite=all&section=all|correspondant]] sur votre serveur de sauvegarde, puis de vous laissez guider.
  
-=== Backuppc sous Ubuntu utilisera par défaut: === +=== Backuppc sous Ubuntu utilisera par défaut: ===
   * [[:postfix]] pour envoyer des mails.\\ Le [[:postfix_systeme_satellite|mode satellite]] peut vous convenir.   * [[:postfix]] pour envoyer des mails.\\ Le [[:postfix_systeme_satellite|mode satellite]] peut vous convenir.
   * [[:Apache2]] pour fournir l'interface Web.\\ L'utilisation de ce dernier permet une configuration automatique.   * [[:Apache2]] pour fournir l'interface Web.\\ L'utilisation de ce dernier permet une configuration automatique.
Ligne 59: Ligne 54:
  
 === Ajout de l'utilisateur dans le groupe backuppc :=== === Ajout de l'utilisateur dans le groupe backuppc :===
-Pour démarrer backuppc, il faut ajouter l'utilisateur de la session dans le groupe backuppc. Pour cela, il faut exécuter la ligne de commande suivante :  +Pour démarrer backuppc, il faut ajouter l'utilisateur de la session dans le groupe backuppc. Pour cela, il faut exécuter la ligne de commande suivante : <code>sudo adduser [MON_USER] backuppc</code>
- +
-<code>sudo adduser [MON_USER] backuppc</code>+
  
 === Ajout du fichier apache.conf === === Ajout du fichier apache.conf ===
-Comme l'installation ne copie pas le /etc/backuppc/apache.conf sur le serveur apache2. Il faut le faire soit même en copiant le fichier dans le répertoire /etc/apache2/conf-available/ avant de rendre actif le site: +Comme l'installation ne copie pas le **/etc/backuppc/apache.conf** sur le serveur apache2, il faut le faire soi-même en copiant le fichier dans le répertoire **/etc/apache2/sites-available/** avant de rendre actif le site, pour cela utilisez la commande suivante : <code>sudo cp /etc/backuppc/apache.conf /etc/apache2/sites-available/backuppc.conf</code> 
-  * Copie du fichier .conf dans /etc/apache2/conf-available/ +Puis activez le site : <code>sudo a2ensite backuppc.conf</code>
-<code>sudo cp /etc/backuppc/apache.conf /etc/apache2/conf-available/backuppc.conf</code> +
-  * Activation du site +
-  sudo a2ensite backuppc.conf+
      
 <note> <note>
Ligne 76: Ligne 66:
 <code>sudo /etc/init.d/apache2 restart</code> <code>sudo /etc/init.d/apache2 restart</code>
  
- +<note> 
-==== Version des backports ==== +Si vous avez une page d'erreur du type **Forbidden - You don't have permission to access this resource**, il faut ajouter dans le fichier backuppc.conf la ligne <code>Require all granted</code> en-dessous de la ligne <code>Options ExecCGI FollowSymlinks</code> puis redémarrer le serveur web 
-Vous pouvez choisir d'installer une  version de backuppc plus récente depuis les [[:depots#backports|dépôts backports]].+<code>sudo /etc/init.d/apache2 restart</code> 
 +</note> 
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 98: Ligne 89:
 ==== Mettre l'interface en français ==== ==== Mettre l'interface en français ====
 === Par l'interface web === === Par l'interface web ===
-Depuis le menu //Serveur -> Modifier la configuration -> CGI -> Language //\\ +Depuis le menu //Serveur -> Modifier la configuration -> CGI -> Language//\\ 
-Depuis le menu //Server -> Edit config -> CGI -> Language //+Depuis le menu //Server -> Edit config -> CGI -> Language//
  
 === En ligne de commandes === === En ligne de commandes ===
 [[:tutoriel:comment_modifier_un_fichier|Modifier avec les droits d'administration]] l'option dans le fichier  [[:tutoriel:comment_modifier_un_fichier|Modifier avec les droits d'administration]] l'option dans le fichier 
 <file perl  /etc/backuppc/config.pl> <file perl  /etc/backuppc/config.pl>
- $Conf{Language} = 'en'; + $Conf{Language} = 'en';
 </file> </file>
 pour obtenir pour obtenir
 <file perl  /etc/backuppc/config.pl> <file perl  /etc/backuppc/config.pl>
- $Conf{Language} = 'fr'; + $Conf{Language} = 'fr';
 </file> </file>
  
 === Modifier la configuration pour toutes vos machines === === Modifier la configuration pour toutes vos machines ===
-Depuis le menu //Serveur -> Modifier la configuration //+Depuis le menu //Serveur -> Modifier la configuration//
  
 === Puis affiner pour chacune d'entre elle === === Puis affiner pour chacune d'entre elle ===
-Depuis //Hôtes -> //+Depuis //Hôtes ->//
  
 ==== Où sont sauvegardées les données ? ==== ==== Où sont sauvegardées les données ? ====
 === Par défaut === === Par défaut ===
-Les données sont sauvegardées dans des sous-répertoires de **/var/lib/backuppc** +Les données sont sauvegardées dans des sous-répertoires de **/var/lib/backuppc**
  
 === Changer le lieu de stockage === === Changer le lieu de stockage ===
 Cela n'est bien sûr pas obligatoire, mais cela peut-être pratique de ne pas laisser vos données dans le dossier **/var**. Cela n'est bien sûr pas obligatoire, mais cela peut-être pratique de ne pas laisser vos données dans le dossier **/var**.
  
-== Avec un lien symbolique == +== Avec un lien symbolique ==
 <note tips> <note tips>
 En utilisant un [[wpfr>lien_symbolique|un lien symbolique]] vous ne risquerez pas de problème lié à l'écrasement du fichier de configuration lors d'une mise à jour. En utilisant un [[wpfr>lien_symbolique|un lien symbolique]] vous ne risquerez pas de problème lié à l'écrasement du fichier de configuration lors d'une mise à jour.
Ligne 138: Ligne 129:
  
 ===== Configurer les sauvegardes ===== ===== Configurer les sauvegardes =====
-Vous trouverez dans cette sections les différents types de sauvegardes testés par les contributeurs. N'hésitez pas à y ajouter votre méthode s'il n'y est pas déjà listé.+Vous trouverez dans cette section les différents types de sauvegardes testés par les contributeurs. N'hésitez pas à y ajouter votre méthode s'il n'y est pas déjà listé.
   * [[#Sauvegarder un répertoire local via tar]]   * [[#Sauvegarder un répertoire local via tar]]
   * [[#Sauvegarde du poste local sur un disque dur externe USB]]   * [[#Sauvegarde du poste local sur un disque dur externe USB]]
Ligne 151: Ligne 142:
   - //Serveur -> Modifier la configuration -> Machine// : vérifier que la machine (host) "localhost" existe bien, avec "backuppc" comme user((utilisateur))   - //Serveur -> Modifier la configuration -> Machine// : vérifier que la machine (host) "localhost" existe bien, avec "backuppc" comme user((utilisateur))
   - //Hôtes// -> choisir //Localhost// dans la liste déroulante   - //Hôtes// -> choisir //Localhost// dans la liste déroulante
-  - //localhost -> Modifier la configuration -> xfer -> XferMethod -> choisir "tar", "TarShareName" //: indiquer le chemin à sauvegarder et cliquer sur //insérer -> Sauvegarder //(apparaît en rouge)+  - //localhost -> Modifier la configuration -> xfer -> XferMethod -> choisir "tar", "TarShareName"// : indiquer le chemin à sauvegarder et cliquer sur //insérer -> Sauvegarder// (apparaît en rouge)
   - //localhost -> localhost Accueil -> Démarrer la sauvegarde complète//   - //localhost -> localhost Accueil -> Démarrer la sauvegarde complète//
-  - //localhost -> Explorer les sauvegardes//: vérifiez ici que ça a fonctionné.+  - //localhost -> Explorer les sauvegardes// : vérifiez ici que ça a fonctionné.
  
 Par défaut cette sauvegarde sera dans **/var/lib/backuppc/pc/localhost** Par défaut cette sauvegarde sera dans **/var/lib/backuppc/pc/localhost**
Ligne 201: Ligne 192:
   * Ajouter dans le fichier, la clef publique de l'utilisateur "backuppc" [[#Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur** de backup__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/coller.)//   * Ajouter dans le fichier, la clef publique de l'utilisateur "backuppc" [[#Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur** de backup__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/coller.)//
   * Pour plus de sécurité, rajouter au début du fichier la directive <file>from="serveur"</file>   * Pour plus de sécurité, rajouter au début du fichier la directive <file>from="serveur"</file>
-  * Vous devriez désormais avoir: +  * Vous devriez désormais avoir:
   * Sous le compte root   * Sous le compte root
 <code> <code>
Ligne 216: Ligne 207:
 Avec cette directive les connexions SSH de **root** ne seront pas possible avec un mot de passe (qui par défaut  n'est pas utilisé sous Ubuntu) Avec cette directive les connexions SSH de **root** ne seront pas possible avec un mot de passe (qui par défaut  n'est pas utilisé sous Ubuntu)
  
-Seul les connexions utilisant une authentification par clef seront possible, et uniquement de l'adresse du serveur si la directive ''from='' est utilisée dans le fichier ** authorized_keys**.+Seul les connexions utilisant une authentification par clef seront possible, et uniquement de l'adresse du serveur si la directive ''from='' est utilisée dans le fichier **authorized_keys**.
  
 Il sera donc possible de paramétrer indépendamment les possibilités d'authentification via SSH des autres utilisateurs. Il ne faudra cependant pas oublier d'ajouter **root** en cas d'usage des directives ''AllowUsers'' ou ''AllowGroups''. Il sera donc possible de paramétrer indépendamment les possibilités d'authentification via SSH des autres utilisateurs. Il ne faudra cependant pas oublier d'ajouter **root** en cas d'usage des directives ''AllowUsers'' ou ''AllowGroups''.
Ligne 234: Ligne 225:
 Cette partie est commune  à la [[#Manipulations_sur_le_serveur_de_sauvegarde.|méthode standard]] Cette partie est commune  à la [[#Manipulations_sur_le_serveur_de_sauvegarde.|méthode standard]]
 === Manipulations sur les postes clients=== === Manipulations sur les postes clients===
-Nous allons utiliser le compte "backup". Ce compte est pré-existant sous Ubuntu selon la norme [[wpfr>Filesystem_Hierarchy_Standard|FHS ]]. Comme on peut le voir dans ** /etc/passwd **, le répertoire personnel de cet "utilisateur" est /var/backups.+Nous allons utiliser le compte "backup". Ce compte est pré-existant sous Ubuntu selon la norme [[wpfr>Filesystem_Hierarchy_Standard|FHS ]]. Comme on peut le voir dans **/etc/passwd**, le répertoire personnel de cet "utilisateur" est /var/backups.
  
  
Ligne 243: Ligne 234:
   * Ajouter dans le fichier, la clef publique de l'utilisateur "backuppc" [[#Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur**__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/coller.)//   * Ajouter dans le fichier, la clef publique de l'utilisateur "backuppc" [[#Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur**__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/coller.)//
   * Pour plus de sécurité, rajouter au début du fichier la directive <file>from="serveur"</file>   * Pour plus de sécurité, rajouter au début du fichier la directive <file>from="serveur"</file>
-  * Vous devriez désormais avoir: +  * Vous devriez désormais avoir:
   * Sous le compte backup   * Sous le compte backup
 <code> <code>
Ligne 285: Ligne 276:
 <note> <note>
 En cas d'erreur SSH vous pouvez rendre la commande plus volubile avec l'option -v de **ssh**. En cas d'erreur SSH vous pouvez rendre la commande plus volubile avec l'option -v de **ssh**.
-Regarder aussi ** /var/log/syslog ** sur le poste à sauvegarder.+Regarder aussi **/var/log/syslog** sur le poste à sauvegarder.
 Dans tous les cas jeter un œil sur la page consacrée à [[:ssh]]. Dans tous les cas jeter un œil sur la page consacrée à [[:ssh]].
 En cas de blocage suite à la réinstallation du poste à sauvegarder, la partie traitant de la [[:ssh#Gestion_des_clés|gestion des clefs]] vous sera sûrement d'une grande aide. En cas de blocage suite à la réinstallation du poste à sauvegarder, la partie traitant de la [[:ssh#Gestion_des_clés|gestion des clefs]] vous sera sûrement d'une grande aide.
Ligne 295: Ligne 286:
  
 ==  Par l'interface Web== ==  Par l'interface Web==
-//onglet **Xfert** -> pour **rsync** -> chapitre **Chemins/Commandes/Args Rsync** // indiquer pour: +//onglet **Xfert** -> pour **rsync** -> chapitre **Chemins/Commandes/Args Rsync**// indiquer pour: 
-  * ** RsyncClientCmd ** <file>$sshPath -q -x -l backup $hostIP /usr/bin/sudo $rsyncPath $argList+</file> +  * **RsyncClientCmd** <file>$sshPath -q -x -l backup $hostIP /usr/bin/sudo $rsyncPath $argList+</file> 
-  * ** RsyncClientRestoreCmd ** <file>$sshPath -q -x -l backup $hostIP /usr/bin/sudo $rsyncPath $argList+ </file>+  * **RsyncClientRestoreCmd** <file>$sshPath -q -x -l backup $hostIP /usr/bin/sudo $rsyncPath $argList+</file>
  
 == Depuis le fichier « /etc/backuppc/config.pl » == == Depuis le fichier « /etc/backuppc/config.pl » ==
-[[:tutoriel:comment_modifier_un_fichier|Modifier avec les droits d'administration]] le fichier ** /etc/backuppc/config.pl/** comme suit :+[[:tutoriel:comment_modifier_un_fichier|Modifier avec les droits d'administration]] le fichier **/etc/backuppc/config.pl/** comme suit :
 <file perl  /etc/backuppc/config.pl> <file perl  /etc/backuppc/config.pl>
 # $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; # $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+';
Ligne 310: Ligne 301:
 ==== Ajouter la machine à sauvegarder à la liste.==== ==== Ajouter la machine à sauvegarder à la liste.====
 Il ne reste plus qu'à  ajouter la machine à sauvegarder à la liste.\\ Il ne reste plus qu'à  ajouter la machine à sauvegarder à la liste.\\
-||#Connexion à l'interface Web|Se connecter à l'interface web]] et depuis les menus: +||#Connexion à l'interface Web|Se connecter à l'interface web]] et depuis les menus : 
-  - //Serveur -> Modifier les machines -> Machines// : ajouter <client> avec "backuppc" comme user((utilisateur)) +  - //Serveur -> Modifier les machines -> Machines// : ajouter <client> avec "backuppc" comme user((utilisateur)) 
-  - //Hôtes // : choisir <client> dans la liste déroulante +  - //Hôtes// : choisir <client> dans la liste déroulante 
-  - //Modifier la configuration -> xfer -> XferMethod// : choisir "rsync" -> //Sauvegarder //(apparaît en rouge)+  - //Modifier la configuration -> xfer -> XferMethod// : choisir "rsync" -> //Sauvegarder// (apparaît en rouge)
   - //<client> Accueil -> Démarrer la sauvegarde complète//   - //<client> Accueil -> Démarrer la sauvegarde complète//
-  - //Explorer les sauvegardes //: vérifier ici que ça a bien fonctionné.+  - //Explorer les sauvegardes// : vérifier ici que ça a bien fonctionné.
  
 ===== Sauvegarder un poste Mac OS distant via ssh ===== ===== Sauvegarder un poste Mac OS distant via ssh =====
-//Testé sur Mac OS 10.6 & 10.7. //+//Testé sur Mac OS 10.6 & 10.7.//
  
 <note tip>__**Pré-requis:**__\\ <note tip>__**Pré-requis:**__\\
Ligne 338: Ligne 329:
 Il suffira ensuite de suivre les instructions du fichier « README.TXT » de ce paquet. Il suffira ensuite de suivre les instructions du fichier « README.TXT » de ce paquet.
  
-Il sera donc considéré pour la suite de cet article que vous avez : +Il sera donc considéré pour la suite de cet article que vous avez :
   * un module « docs » partagé par //rsyncd// ;   * un module « docs » partagé par //rsyncd// ;
   * ce module doit permettre l'accès en écriture à l'utilisateur « UUU » avec le mot de passe « PPP » ;   * ce module doit permettre l'accès en écriture à l'utilisateur « UUU » avec le mot de passe « PPP » ;
Ligne 345: Ligne 336:
 ==== Configuration du fichier « config.pl » ==== ==== Configuration du fichier « config.pl » ====
  
-[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] ** /etc/backuppc/config.pl** avec les [[:sudo|droits d'administration]] et modifiez les options de la façon suivante :+[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/backuppc/config.pl** avec les [[:sudo|droits d'administration]] et modifiez les options de la façon suivante :
  
 <file perl /etc/backuppc/config.pl> <file perl /etc/backuppc/config.pl>
Ligne 353: Ligne 344:
 $Conf{RsyncShareName}  = "docs"; $Conf{RsyncShareName}  = "docs";
 </file> </file>
-Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]]. +Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]].
  
 ===== Sauvegarder des postes Windows via « smb » ===== ===== Sauvegarder des postes Windows via « smb » =====
Ligne 363: Ligne 354:
   - Effectuez les changements depuis [[#Connexion à l'interface Web|l'interface Web]] ou en modifiants les fichiers **config.pl** et **hosts** comme indiqué ci-dessous.   - Effectuez les changements depuis [[#Connexion à l'interface Web|l'interface Web]] ou en modifiants les fichiers **config.pl** et **hosts** comme indiqué ci-dessous.
  
-Pour l'exemple ici:  +Pour l'exemple ici: 
-  * nom d'utilisateur créé sera -> //backup// +  * nom d'utilisateur créé sera -> //backup//
   * mot de pase -> //mdpbupc//   * mot de pase -> //mdpbupc//
   * dossier de partage -> //docs$//   * dossier de partage -> //docs$//
Ligne 371: Ligne 362:
 == Configuration du fichier « config.pl » == == Configuration du fichier « config.pl » ==
  
-[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] ** /etc/backuppc/config.pl** avec les [[:sudo|droits d'administration]] et modifiez les options ainsi :+[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/backuppc/config.pl** avec les [[:sudo|droits d'administration]] et modifiez les options ainsi :
 <file perl /etc/backuppc/config.pl> <file perl /etc/backuppc/config.pl>
 $Conf{XferMethod} = 'smb'; $Conf{XferMethod} = 'smb';
Ligne 378: Ligne 369:
 $Conf{SmbShareName} = 'docs$'; $Conf{SmbShareName} = 'docs$';
  </file>  </file>
-Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]]. +Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]].
  
 == Configuration du fichier « hosts » == == Configuration du fichier « hosts » ==
Ligne 384: Ligne 375:
 [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/backuppc/hosts** avec les droits d'administration pour y ajouter cette ligne en fin de fichier  [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/backuppc/hosts** avec les droits d'administration pour y ajouter cette ligne en fin de fichier 
 <file> 192.168.1.10 0 utilisateur UUU </file> <file> 192.168.1.10 0 utilisateur UUU </file>
-Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]]. +Sauvegarder le fichier et recharger la configuration depuis [[#Connexion à l'interface Web|l'interface Web]].
  
 ===== Sauvegarder des PC éteints ===== ===== Sauvegarder des PC éteints =====
Ligne 394: Ligne 385:
 L'outil [[:wakeonlan|etherwake]] est parfait pour démarrer une machine à distance. Pour pouvoir utiliser ce dernier avec le nom de la machine au lieu de son adresse MAC, il faut compléter le fichier **/etc/ethers** : L'outil [[:wakeonlan|etherwake]] est parfait pour démarrer une machine à distance. Pour pouvoir utiliser ce dernier avec le nom de la machine au lieu de son adresse MAC, il faut compléter le fichier **/etc/ethers** :
 <file> adresse:MAC nom_machine </file> <file> adresse:MAC nom_machine </file>
-Il va sans dire que le nom de la machine doit être déclaré comme dans le fichier ** /etc/backuppc/hosts**.+Il va sans dire que le nom de la machine doit être déclaré comme dans le fichier **/etc/backuppc/hosts**.
  
 Pour que le fichier ethers soit pris en compte par etherwake modifier le fichier **/etc/nsswitch.conf**, à la ligne ethers : Pour que le fichier ethers soit pris en compte par etherwake modifier le fichier **/etc/nsswitch.conf**, à la ligne ethers :
Ligne 429: Ligne 420:
 done </file> done </file>
  
-__**Explication:**__ Une fois la commande etherwake exécutée:+__**Explication :**__ Une fois la commande etherwake exécutée:
   * il y a une pause d'une minute pour laisser le temps au pc de démarrer.   * il y a une pause d'une minute pour laisser le temps au pc de démarrer.
-  * Puis, la boucle while teste si le partage est actif. +  * Puis, la boucle while teste si le partage est actif.
   * Après 15 essais sans résultat la boucle s'arrête.   * Après 15 essais sans résultat la boucle s'arrête.
  
Ligne 447: Ligne 438:
 fi </file> fi </file>
  
-__**Explication:**__  entre 20h00 et 07h00 est exécutée la commande d'extinction du pc sauvegardé. En dehors de cette plage horaire, au lieu d'arrêter la machine, un message est envoyé.+__**Explication :**__  entre 20h00 et 07h00 est exécutée la commande d'extinction du pc sauvegardé. En dehors de cette plage horaire, au lieu d'arrêter la machine, un message est envoyé.
  
 <note important>N'oubliez pas de rendre les scripts [[:permissions#execution|exécutables]] pour l'utilisateur backuppc !</note> <note important>N'oubliez pas de rendre les scripts [[:permissions#execution|exécutables]] pour l'utilisateur backuppc !</note>
Ligne 454: Ligne 445:
 Pour parer à cela, vous êtes invité à lire le dernier message de [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2988204#p2988204|cette discussion]]</note> Pour parer à cela, vous êtes invité à lire le dernier message de [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2988204#p2988204|cette discussion]]</note>
  
-== autre exemple de fichier **wol.sh**  qui conserve  l'état précédent ==+== autre exemple de fichiers **wol.sh** et **shutdown.sh** améliorés qui conservent l'état précédent ==
  
 +Pour utiliser ces scripts, veuillez mettre le paramètre **UserCmdCheckStatus** à **1** dans la configuration, ou ajoutez cette ligne au fichier **/etc/backuppc/config.pl**:
 +<file>$Conf{UserCmdCheckStatus} = '1';</file>
 +ceci permet de dire à Backuppc de prendre en compte le code d'erreur des scripts de réveil/extinction.
 <file bash wol.sh> <file bash wol.sh>
 #!/bin/bash #!/bin/bash
 +
 declare -i z declare -i z
 z=0 z=0
 i=0 i=0
 filename=/var/lib/backuppc/$1.laststate filename=/var/lib/backuppc/$1.laststate
 +echo "Starting wake on lan script"
 echo "Filename=$filename" echo "Filename=$filename"
 cnt=$(ping -c 1 $1 | awk -F, '/received/{print $2*1}') cnt=$(ping -c 1 $1 | awk -F, '/received/{print $2*1}')
 +
 echo "Count ping to host $1 = $cnt" echo "Count ping to host $1 = $cnt"
 +
 if [ $cnt -eq 0 ]; then if [ $cnt -eq 0 ]; then
- echo $cnt > $filename +    echo $cnt > $filename 
- echo "Send WOL to $1 and wait minutes" + 
- sudo /usr/bin/etherwake -i em1 $1 +    # Time to wait for machine to boot in minutes 
- sleep 1m +    # Use value given as argument 
- while [ $i = 0 -a $z -lt 15 +    if [ -n "$2" ] && [ "$2" -eq "$2" ] 2>/dev/null; then 
- do +      min=$2 
- count=$(ping -c 5 $1 | awk -F, '/received/{print $2*1}'+    else 
- if [ $count -eq 0 ]; then +      echo " Second argument given is not a valid number! : $2" 
-       echo "$1 is down"  +      echo " Using default value: 2 minutes" 
- else +      min=2 
- i=1 +    fi 
-       fi +    m=$min"m" 
- sleep 10s + 
- z=z+1 +    echo "Send WOL to $1 and wait $min minutes" 
- done+    sudo /usr/sbin/etherwake -i enp5s0 $1 
 +    sleep $m 
 +    while [ $i = 0 -a $z -lt 18 
 +    do 
 + count=$(ping -c 5 $1 | awk -F, '/received/{print $2*1}'
 + if [ $count -eq 0 ]; then 
 +         echo "$1 is down" 
 +     if [ $z -eq 17 ]; then 
 + echo "$1 not up after `expr $min + 3` minutes... exiting" 
 + exit 1 
 +     fi 
 + else 
 +     i=1 
 +     echo "$1 is up" 
 +     exit 0 
 +        fi 
 + sleep 10s 
 + z=z+1 
 +    done
 else else
- echo $cnt > $filename+    echo $cnt > $filename 
 +    exit 0
 fi</file> fi</file>
 +__**Explication :**__ Ce script prend deux arguments: le nom d'hôte de la machine en premier et un nombre en deuxième (correspondant au nombre de minutes à attendre une fois que la commande etherwake est executée).
 +  * le script exécute la commande etherwake sur la machine spécifiée
 +  * puis, la boucle while teste si la machine répond au ping
 +  * après le nombre de minutes spécifiées en second argument, si la machine est en ligne, la sauvegarde est effectuée. Si la machine ne répond pas, le script attend encore 3 minutes supplémentaires
 +  * si après les 3 minutes supplémentaires la machine ne répond toujours pas, le script s'arrête et renvoi un code d'erreur, qui est ensuite interprêté par backuppc
  
-== et le fichier **shutdown.sh**  qui prend en compte  l'état précédent ==+<note>Cette commande :<file>sudo /usr/sbin/etherwake -i enp5s0 $1</file>peut varier selon les machinesVous devrez peut-être l'adapter à votre configuration.\\ 
 +Ici 'enp5s0' est l'interface par laquelle est envoyée le paquet magique via ethernet. $1 est la variable du nom d'hôte (ne doit pas être modifiée). 
 +</note> 
 + 
 +Ainsi pour utiliser ce script il faut ajouter ce paramètre à la configuration: 
 +<file>$Conf{DumpPreUserCmd}     '/etc/backuppc/wol.sh $host 3';</file> 
 +Cette commande envoi le paquet magique et attend ensuite 3 minutes (à adapter selon vos besoins) le réveil de la machine (si rien n'est donné en second argument, le script utilise la valeur de 2 minutes par défaut).
  
 <file bash shutdown.sh> <file bash shutdown.sh>
 #!/bin/bash #!/bin/bash
-filename=/var/lib/backuppc/$1.laststate +# Backuppc user script 
-echo "Filename=$filename+ 
-declare -i laststate +if [ "$#" !2 ]; then 
-read laststate < $filename +    echo 
-echo "Last State Host $1 = $laststate" +    echo "The BackupPC user script takes two arguments:" 
-if [ $(date +%k) -lt 07 -$(date +%k ) -gt 22 ]+    echo " First: a host name ( with a corresponding /etc/hosts entry )" 
 +    echo " Second: - either a number corresponding to the output of the backup process (0 = failed / 1 = success)" 
 +    echo "         - OR -f to force shutdown a host" 
 +    echo 
 +    exit 1 
 +fi 
 + 
 +# Array of computers, in the form: [hostname]='Username%Password' 
 +# these must be Administrator's accounts 
 +# Modify these according to your needs 
 +declare -A names 
 +names=( 
 +    [hostname1]='adminuser1%password1' 
 +    [hostname2]='adminuser2%password2' 
 +    [hostname3]='adminuser3%password3' 
 +
 + 
 +for i in "${!names[@]}" 
 +do 
 +    if [ $i = $1 ]; then 
 +     host_name=$i 
 +     upwd=${names[$i]} 
 +    fi 
 +done 
 + 
 +# Exit if no corresponding host name found 
 +"$host_name" = "" ] && echo "Host unknown!" && exit 1 
 + 
 +# To stop a pc, if -f argument given wol script wasn't used and there is no host file ) 
 +if [ "$2" = "-f" ] 
 +then 
 +    /usr/bin/net rpc SHUTDOWN -f -I $host_name -U "$upwd" -t 1 
 +    exit 0 
 +fi 
 + 
 +# File to record the host status 
 +filename=/var/lib/backuppc/$host_name.laststate 
 +if [ -f $filename ]
 then then
- if [ $2 != 1 ] +    echo "Filename=$filename
- then +    declare -i laststate 
- if [ $laststate  != 1 ] +    read laststate < $filename 
- then +    echo "Last State Host $host_name = $laststate"
- echo "Sent SHUTDOWN to host $1+
- /usr/bin/net rpc SHUTDOWN -f -I $1 -U 'Administrateur%motdepasse' -t 30 +
- else +
- echo "SHUTDOWN not sent to $1 cause Host already UP before" +
- #echo sauvegarde terminé avec succès. | smbclient -M $1 -U 'Administrateur%motdepasse' +
- fi +
- fi+
 else else
-        if [ $2 = 1 ] +    echo "Missing host file!
-        then +    exit 1
- echo "Sauvegarde $1 OK" +
-            #echo sauvegarde terminé avec succès. | smbclient -M $1 -U 'Administrateur%motdepasse' +
-        fi +
-        if [ $laststate = 0 ] +
-        then +
- echo "Sent SHUTDOWN to host $1+
- /usr/bin/net rpc SHUTDOWN -f -I $-U 'Administrateur%motdepasse' -t 30 +
-        fi+
 fi fi
-echo "Delete $filename" 
-unlink $filename</file> 
  
 +# Actions after backup
 +if [ $2 = 1 ] # Successfull backup
 +then
 +    echo "Backup of $host_name OK"
 +    if [ $laststate = 0 ]
 +    then
 + # Last state off, send shutdown
 + echo "Sent SHUTDOWN to host $host_name"
 + /usr/bin/net rpc SHUTDOWN -f -I $host_name -U "$upwd" -t 30
 +    else
 +        # Last state : up
 +        echo "SHUTDOWN not sent to $host_name cause Host already UP before"
 +    fi
 +elif [ $2 = 0 ] # backup error
 +then
 +    echo "Problem during backup of $host_name"
 +    # Only shutdown after unsuccesfull backup during out of office hours
 +    #if [ $(date +%k) -lt 07 -o $(date +%k ) -gt 22 ]
 +    #then
 +    #/usr/bin/net rpc SHUTDOWN -f -I $host_name -U "$upwd" -t 30
 +    #fi
 +fi
 +
 +if [ -f $filename ]
 +then
 +    echo "Delete $filename"
 +    unlink $filename
 +fi</file>
 +
 +__**Explication :**__ Ce script prend deux arguments: le nom d'hôte de la machine en premier et le code de résultat du backup en deuxième (0 = échec / 1 = succès).
 +  * si le backup est réussi: si la machine était précédemment éteinte, le script exécute la commande d'arrêt avec les paramètres nom d'utilisateur/ mot de passe tels qu'enregistrés dans le script
 +  * si la machine était allumée avant, la commande d'arrêt, n'est pas envoyée
 +  * si le second argument est '-f' (pour forcer), la machine correspondante est arrêtée quel que soit l'état précédent
 +
 +Ainsi pour utiliser ce script il faut ajouter ce paramètre à la configuration:
 +<file>$Conf{DumpPostUserCmd}    = '/etc/backuppc/shutdown.sh $host $xferOK';</file>
 +
 +<note>Cette commande :<file>/etc/backuppc/shutdown.sh $host -f</file>peut être utilisé en ligne de commande directement pour éteindre une machine en dehors de backuppc.</note>
  
 ==== Configuration de backuppc pour utiliser les scripts ==== ==== Configuration de backuppc pour utiliser les scripts ====
Ligne 536: Ligne 622:
 $Conf{DumpPostUserCmd}    = '/etc/backuppc/shutdown.sh $host $xferOK';</file> $Conf{DumpPostUserCmd}    = '/etc/backuppc/shutdown.sh $host $xferOK';</file>
  
-Sauvegardez le fichier et recharger la configuration via l'interface web. +Sauvegardez le fichier et recharger la configuration via l'interface web.
  
 Il ne vous reste plus qu'à activer le [[:wakeonlan|wol]] sur les postes clients... Il ne vous reste plus qu'à activer le [[:wakeonlan|wol]] sur les postes clients...
Ligne 554: Ligne 640:
 ===== Erreurs ===== ===== Erreurs =====
  
-==== No files dumped for share ... ====+==== No files dumped for share… ====
  
 Cliquez sur "Last bad XferLOG". Si vous obtenez un message ressemblant à : Cliquez sur "Last bad XferLOG". Si vous obtenez un message ressemblant à :
Ligne 564: Ligne 650:
 Reparamétrez votre configuration dans "xfer". Reparamétrez votre configuration dans "xfer".
  
-==== Erreur NT_STATUS... ====+==== Erreur NT_STATUS… ====
  
-Pour se connecter aux partages SMB, backuppc utilise smbclient et lui passe par défaut l'argument -N qui siginifie "no password"((pas de mot de passe)).\\ +Pour se connecter aux partages SMB, backuppc utilise **[[:smb#smbclient]]** et lui passe par défaut l'argument -N qui siginifie "no password"((pas de mot de passe)).\\ 
-Apparament dans une version antérieure de smbclient, même si -N était spécifié, le mot de passe était quand même demandé. Ainsi même si le partage avait un mot de passe, smbclient pouvait s'y connecter.\\ +Apparament dans une version antérieure de **[[:smb#smbclient]]**, même si ''-N'' était spécifié, le mot de passe était quand même demandé. Ainsi même si le partage avait un mot de passe, smbclient pouvait s'y connecter.\\ 
-Toutefois, ceci a été corrigé dans la nouvelle version de smbclient mais backuppc utilise toujours le -N. C'est pourquoi, cette option empêche de prendre en compte votre mot de passe et provoquera une erreur.+Toutefois, ceci a été corrigé dans la nouvelle version de smbclient mais backuppc utilise toujours le ''-N''. C'est pourquoi, cette option empêche de prendre en compte votre mot de passe et provoquera une erreur.
  
-Pour corriger ceci, sur [[#Connexion à l'interface Web|l'interface Web]] de backuppc, depuis le menu //Edit Config du Server ->onglet Xfer//,  supprimer le -N dans les 3 commandes pour la sauvegarde (smblient... -N ...).  +Pour corriger ceci, sur [[#Connexion à l'interface Web|l'interface Web]] de backuppc, depuis le menu //Edit Config du Server ->onglet Xfer//,  supprimer le -N dans les 3 commandes pour la sauvegarde (smblient... -N ...).
  
 ===== Liens utiles ===== ===== Liens utiles =====
-  *  [[http://backuppc.sourceforge.net/faq/BackupPC.html|la documentation de BackupPC]].+ 
 +  [[http://backuppc.sourceforge.net/faq/BackupPC.html|la documentation de BackupPC]].
   * [[http://backuppc.sourceforge.net/| Le site officiel]] **[en]**   * [[http://backuppc.sourceforge.net/| Le site officiel]] **[en]**
-  * [[http://www.klipz.fr/tutoriel_backuppc.html]] **[fr]** +  * [[https://backuppc.github.io/backuppc/|Le "nouveau" site officiel sur github.io  ]] **[en]**
-  * [[http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp|deltacopy]] +
-  * [[http://www.generation-linux.fr/index.php?post/2008/08/09/119-backuppc-un-logiciel-de-sauvegarde-automatique]] **[fr]** +
-  * [[http://www.projet-plume.org/fiche/backuppc|la fiche plume]]+
  
 ----- -----
-// Contributeurs : [[:utilisateurs:Cyprien]],wouldsmina, [[:utilisateurs:naoli]], snoopysnoopy [[:utilisateurs:Ool]], gg [[:utilisateurs:gfontaniere]]  //+//Contributeurs : [[:utilisateurs:Cyprien]],wouldsmina, [[:utilisateurs:naoli]], snoopysnoopy [[:utilisateurs:Ool]], gg [[:utilisateurs:gfontaniere]], mathieuc//