Outils pour utilisateurs

Outils du site


welcome:fedora:backuppc

Différences

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

Lien vers cette vue comparative

welcome:fedora:backuppc [2016/04/17 15:47]
welcome:fedora:backuppc [2020/06/11 16:55] (Version actuelle)
Ligne 1: Ligne 1:
 +{{howhard>2}}====== BackupPC ======
 +
 +**Installation et configuration de BackupPC pour sauvegarder une SME:**
 +
 +===== Mise en fonctionnement de BackupPC =====
 +Source: [[http://doc.fedora-fr.org/wiki/Sauvegardes_avec_BackupPC]]
 +
 +===== Installation et démarrage de BackupPC =====
 +
 +<code>sudo yum install BackupPC</code>
 +
 +  *Pour pouvoir accéder à l’interface web de BackupPC, il faut qu’Apache soit installé et démarré. \\ Dans l’installation standard de Fédora21, Apache est installé, mais n’est pas démarré. Pour ce faire:
 +<code>sudo service httpd start</code>
 +  *Si Apache doit être automatiquement lancé:
 +<code>sudo service httpd enable</code>
 +  *Créer l'utilisateur d’administration de BackupPC (pour Apache) et lui donner un mot de passe:
 +<code>sudo htpasswd -c /etc/BackupPC/apache.users admin_BackupPC</code> ATTENTION: "-c" = créer n'est à utiliser que la première fois que la commande est lancée sinon on efface ce qui existait déjà! \\ Pour créer si besoin est un utilisateur "normal" de backupPC:
 +<code>sudo htpasswd /etc/BackupPC/apache.users backuppc_user_normal</code>
 +  *Configurer le nom de l'admin dans le paramétrage de BackupPC pour pouvoir accéder aux paramétrages dans l'interface web de BackupPC:
 +<code>sudo cp /etc/BackupPC/config.pl /etc/BackupPC/config.pl.orig
 +sudo pluma /etc/BackupPC/config.pl</code> Chercher "set $Conf{CgiAdminUsers}" et mettre "admin_BackupPC" comme valeur (le tout sans les " ").
 +  *Lancer BackupPC
 +<code>sudo service backuppc start</code> plus si besoin est:<code> sudo service backuppc enable</code>
 +
 +Il devrait alors être possible de se connecter à l’interface web via http://localhost/BackupPC ainsi qu’aux menus de paramétrage de BackupPC. \\ 
 +Pour info: BackupPC crée un utilisateur nommé « backuppc » sous le nom duquel BackupPC réalise ses opérations.
 +
 +===== Pour la création et l’envoi de clès ssh vers la SME à sauvegarder: =====
 +<code>$ su</code>
 +pour se connecter en root.
 +
 +<code># su backuppc</code>
 +pour se connecter en backuppc. Ne pas entrer de mot de passe: appuyer seulement sur return.
 +
 +<code>$ ssh-keygen -t rsa</code>
 +pour générer la paire de clés et la sauvegarder dans le répertoire par défaut.
 +
 +<code>$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh root@192.168.2.5 "cat >> /root/.ssh/authorized_keys2"</code>
 +pour envoyer la clé publique sur la SME. \\ 
 +Afin de pouvoir lancer des scripts ou des commandes en pré- ou postjobs, il faut donner à l’utilisateur backuppc les permissions nécessaires. \\ 
 +Par exemple, pour que BackupPC puisse éteindre la machine après le backup, il faut ajouter dans sudoers:
 +<code>backuppc ALL = (ALL) NOPASSWD: /usr/sbin/shutdown</code>
 +//Remarque: BackupPC “travaille” (cad met un peu d’ordre dans les fichiers, génére les rapports etc...) encore un peu après avoir terminé les sauvegardes. Il ne faut donc pas mettre « shutdown » dans le post-job, mais dans un script d’extinction qui lancera « shutdown » après quelques minutes d’attente.
 +        Le script lui peut être lancé par le post-job.//
 +        
 +===== Pour que BackupPC puisse envoyer des Mails =====
 +à l’administrateur ou aux utilisateurs «normaux»: \\ 
 +Source: configuration de sendmail: [[http://doc.fedora-fr.org/wiki/Configurer_sendmail_:_envoyer_des_courriels_via_un_relai_SMTP et http://blog.technotesdesk.com/configure-sendmail-on-fedora-20redhatcentos-to-send-emails/]]
 +  *Installer sendmail-cf pour pouvoir configurer sendmail:
 +<code>sudo yum install sendmail-cf</code>
 +
 +  *Sauvegarder les fichiers d'origine:
 +<code>su
 +cd /etc/mail
 +cp sendmail.mc sendmail.mc.orig
 +cp sendmail.cf sendmail.cf.orig</code>
 +
 +  *Dans /etc/mail/sendmail.mc, modifier:
 +<code>dnl # définir smtp.fournisseur.fr comme serveur de relais
 +define(`SMART_HOST',`smtp.fournisseur.fr')</code>
 +
 +  *S’assurer d’enlever « dnl » du début des lignes suivantes:
 +<code>LOCAL_DOMAIN (‘localhost.localdomain’) dnl
 +FEATURE (masquerade_envelope) dnl
 +FEATURE (masquerade_entire_domain) dnl</code>
 +
 +  *Entrer le nom du domaine à utiliser – cloudman.ca dans l’exemple – dans ces 2 lignes:
 +<code>MASQUERADE_AS (‘cloudman.ca’) dnl
 +MASQUERADE_DOMAIN (cloudman.ca) dnl</code>
 +
 +  *Recréer le fichier sendmail.cf - ATTENTION: ne fonctionne qu'en root, pas avec sudo - et re-lancer sendmail:
 +<code>cd /etc/mail
 +m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
 +service sendmail restart</code>
 +
 +  *Pour tester l'envoi d'emails de BackupPC:
 +<code>su -s /bin/sh backuppc -c '/usr/share/BackupPC/bin/BackupPC_sendEmail -u user@domain.org'</code>
 +
 +===== Change the used folder for backups =====
 +Source: [[http://doc.fedora-fr.org/wiki/Sauvegardes_avec_BackupPC|http://doc.fedora-fr.org/wiki/Sauvegardes_avec_BackupPC]] \\  \\  
 +Natively, BackupPC stores the backups into ''/var/lib/BackupPC'' \\  
 +To change the folder:
 +  * copy or move the original folder ''/var/lib/BackupPC'' to the new folder: <code>
 +mv  (or cp -a) /var/lib/BackupPC /new/folder/</code>
 +  * then there are 2 ways:
 +    - with a symbolic link pointing to the new folder:<code>
 +# cd /var/lib
 +# ln -s ../../the/new/folder/BackupPC ./BackupPC</code> \\ For BackupPC the backups are still saved at the same place. 
 +    - by modifying the parameter ''$Conf{TopDir}'' of the conf file ''etc/BackupPC/config.pl''
 +
 +I prefer the second possibility and **I applied it**.
 +
 +
 +===== Extinction de la machine sur laquelle tourne BackupPC – backup d'une SME: =====
 +Dans ma configuration actuelle, mon client Fedora effectue une sauvegarde avec BackupPC de mon serveur SME. \\ 
 +À une heure précise, le serveur SME “réveille” donc la machine client via un wake-on-lan pour que ce dernier effectue la sauvegarde. Pour des raisons évidentes d'économie d'énergie, j'ai souhaité que la machine client s'éteigne automatiquement une fois la sauvegarde effectuée. \\ 
 +
 +Le problème est alors le suivant : BackupPC ne prend la sauvegarde en considération seulement une fois le « post-job » positivement achevé. \\ 
 +Donc si la commande d'extinction est située dans le post-job, celui-ci ne renvoie jamais de retour positif à BackupPC, vu que la machine sur laquelle il tourne est éteinte avant !!! \\ 
 +
 +La création de scripts d'extinction enfants du post-job, avec des commandes pour récupérer le prompt avant la fin de l'exécution de la tâche (entre autre le « & ») s'est révélée infructueuse sur toute la ligne car backupPC s'entête à attendre la fin de chaque script enfant. \\ 
 +
 +C'est quelque part sur la toile que j'ai trouvé la solution à ce problème: il faut que le post-job de BackupPC se contente de créer un fichier drapeau. L'extinction est elle réalisée via cron.d qui surveille la présence ou non de ce drapeau et qui déclenche l'arrêt de la machine le cas échéant. \\  \\ 
 +Voilà mon script pre-job (qui au passage envoie le signal-event pre-backup à la SME):
 +<code>#!/bin/bash
 +ssh root@IP_SME /sbin/e-smith/signal-event pre-backup
 +touch /etc/BackupPC/dump-start.flg
 +exit 0;</code>
 +Voilà mon script post-job (qui au passage envoie le signal-event post-backup à la SME):
 +<code>#!/bin/bash
 +ssh root@IP_SME /sbin/e-smith/signal-event post-backup
 +mv /etc/BackupPC/dump-start.flg /etc/BackupPC/dump-end.flg
 +exit 0;</code>
 +Ainsi que l'entrée cron.d: /etc/cron.d/backuppc-halt
 +<code>*/5 * * * * root [ -f /etc/BackupPC/dump-end.flg ] && sleep 3m && [ ! -f /etc/BackupPC/dump-start.flg ] && [ "$(/usr/bin/users)" = "(unknown)" ] && rm /etc/BackupPC/dump-end.flg && /usr/sbin/shutdown -h now</code>
 +Pas besoin de relancer cron.d: les modifications sous le répertoire /etc/cron.d sont rescannées toutes les minutes([[https://docs.fedoraproject.org/en-US/Fedora/21/html/System_Administrators_Guide/ch- Automating_System_Tasks.html]]) \\ 
 +
 +__ATTENTION:__ Pour Fedora22, il faut légèrement modifier l'entrée cron.d: /etc/cron.d/backuppc-halt
 +<code>*/5 * * * * root [ -f /etc/BackupPC/dump-end.flg ] && sleep 3m && [ ! -f /etc/BackupPC/dump-start.flg ] && [ "$(/usr/bin/users)" = "" ] && rm /etc/BackupPC/dump-end.flg && /usr/sbin/shutdown -h now</code>
 +Explications: cron cherche la présence du fichier « dump-end » toutes les 5 minutes. Si le fichier est présent, on attend 3 minutes au cas où une autre sauvegarde de BackupPC devrait se lancer, on vérifie qu'il n'y a pas de backup en cours (fichier dump-start), on vérifie qu'aucune session n'est ouverte, on efface le fichier drapeau et on éteint la machine. \\  \\ 
 +
 +Génialement simple, simplement génial et....... efficace! \\ 
 +Et voilà !!!
 +
 +===== Move a pool of backups to another disk =====
 +In order to avoid any problems due to hardlinks or similar between the archives, I choose to move the pool in 2 steps using "tar":
 +  * create an archive of the entire pool (make sure you have a temporary disk with enouth free space. The size of the archive = the size of the Backup folder). e.g. "taring" to a usb drive <code>
 +cd /the/current/path
 +sudo tar -cvf /run/media/the_user/the_usb_drive/BackupPC.tar BackupPC/ </code>
 +  * extract the archive into the new path (= new drive). e.g. from the usb drive <code>
 +cd /the new/path
 +sudo tar -xvf /the/path/to/archive/BackupPC.tar </code>
 +  * check the permissions / give the right permissions if needed to the new folder: <code>
 +sudo chown -R backuppc:backuppc /the/new/path/Backuppc
 +sudo chmod 750 -R /the/new/path/Backuppc </code>
 +
 +
 +===== Commandes lancées manuellement =====
 +==== Lancer manuellement le processus de nettoyage nocturne ====
 +
 +Astuce trouvée chez [[https://wikit.firewall-services.com/doku.php/tuto/sauvegardes/astuces_backuppc?s[]=backuppc|Daniel]]
 +
 +La suppression des fichiers qui ne sont plus utilisés par aucune sauvegarde se fait par le processus BackupPC_nightly. Ce script scan tout ou partie du pool de fichier, à la recherche de ceux qui n'ont plus qu'un seul lien (hardlink) sur le système de fichier (ce qui veut dire que aucun lien n'existe dans /var/lib/BackupPC/pc). Par défaut, ce processus est lancé toute les nuits, mais il est possible de le lancer manuellement: <code>
 +sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run</code>
 +
 +Cette commande devrait répondre:<code>
 +Got reply: ok</code>
 +
 +==== Lancer manuellement une sauvegarde ====
 +source: [[http://doc.fedora-fr.org/wiki/Sauvegardes_avec_BackupPC|http://doc.fedora-fr.org/wiki/Sauvegardes_avec_BackupPC]]
 +
 +Il est possible de lancer la sauvegarde en ligne de commande <code>
 +# su - backuppc
 +$ /usr/share/BackupPC/bin/BackupPC_dump -v -f {hote} </code>   Le drapeau -v active le mode verbeux, remplacez simplement {hoste} par le nom d'hôte incriminé. \\ Notez que la commande ci dessus lancera une sauvegarde complète, vous devrez remplacer l'option -f par -i pour effectuer une sauvegarde incrémentale.
 +
 +===== Allonger le temps de réponse du ping =====
 +https://sourceforge.net/p/backuppc/mailman/message/19351138/ \\
 +Quand il y a une erreur de connexion du style: ''pas de ping (ping too slow on 192.168.32.2 37.74msec (thresho...)'' \\ 
 +En configuration d'origine, BackupPC n'accepte d'effectuer une sauvegarde seulement si le temps de ping est inférieur à 20ms. \\
 +Ce temps est acceptable pour une connexion locale mais pas distante. \\
 +
 +Pour effectuer des sauvegardes de machines distantes, il faut augmenter ce temps de ping limite: 
 +<code>nano /etc/backuppc/config.pl
 +...
 +et modifier "$Conf{PingMaxMsec} = 20;"</code>
 +Chez moi je l'ai monté à 350.
 +
  

DokuWiki Appliance - Powered by TurnKey Linux