| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| backuppc [Le 25/12/2021, 17:02] – maj tag versions ubuntu 0ol | backuppc [Le 02/11/2025, 21:53] (Version actuelle) – samba -> smb krodelabestiole |
|---|
| |
| {{tag>bionic focal réseau serveur sécurité sauvegarde }} | {{tag>bionic focal réseau serveur sécurité sauvegarde }} |
| ---- | |
| {{ :image:backuppc-logo.gif?80|}} | {{ :image:backuppc-logo.gif?80|}} |
| ====== Serveur de sauvegarde automatique : BackupPC ====== | ====== Serveur de sauvegarde automatique : BackupPC ====== |
| 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. |
| * [[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. | * [[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 ==== |
| É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§ion=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§ion=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. |
| * Un redémarrage du serveur web est nécessaire pour prendre en compte les modifications. | * Un redémarrage du serveur web est nécessaire pour prendre en compte les modifications. |
| <code>sudo /etc/init.d/apache2 restart</code> | <code>sudo /etc/init.d/apache2 restart</code> |
| | |
| | <note> |
| | 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 |
| | <code>sudo /etc/init.d/apache2 restart</code> |
| | </note> |
| |
| ===== Utilisation ===== | ===== Utilisation ===== |
| [[: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> |
| |
| ==== 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. |
| * 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> |
| * 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> |
| 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 » ; |
| $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 » ===== |
| - 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$// |
| $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 » == |
| [[: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 ===== |
| __**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. |
| |
| * puis, la boucle while teste si la machine répond au ping | * 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 | * 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 | * 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 |
| |
| <note>Cette commande :<file>sudo /usr/sbin/etherwake -i enp5s0 $1</file>peut varier selon les machines. Vous devrez peut-être l'adapter à votre configuration.\\ | <note>Cette commande :<file>sudo /usr/sbin/etherwake -i enp5s0 $1</file>peut varier selon les machines. Vous devrez peut-être l'adapter à votre configuration.\\ |
| $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... |
| ==== 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]], mathieuc // | // Contributeurs : [[:utilisateurs:Cyprien]],wouldsmina, [[:utilisateurs:naoli]], snoopysnoopy [[:utilisateurs:Ool]], gg [[:utilisateurs:gfontaniere]], mathieuc // |