Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
backuppc [Le 29/06/2017, 15:44] – [Serveur de sauvegarde automatique : BackupPC] 196.113.140.12 | backuppc [Le 20/05/2020, 11:04] (Version actuelle) – [Installation] 185.165.34.162 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | {{ : | ||
+ | ====== Serveur de sauvegarde automatique : BackupPC ====== | ||
+ | **BackupPC** est un logiciel libre de [[: | ||
+ | Il permet d' | ||
+ | **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 permet de sauvegarder automatiquement à des intervalles de temps réguliers des répertoires situés sur des machines du réseau. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | BackupPC peut utiliser plusieurs protocoles pour les sauvegardes : | ||
+ | * [[:Samba]] : Utilise le logiciel // | ||
+ | * [[: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:// | ||
+ | * [[: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. | ||
+ | |||
+ | ==== Politique de sauvegarde par défaut ==== | ||
+ | === Sur le serveur === | ||
+ | Le logiciel se réveille toutes les heures pour sonder l' | ||
+ | Puis, pour chaque poste allumé, il fonctionne ainsi : | ||
+ | * Interrogation de la période du Blackout: si l' | ||
+ | * Sinon, il étudie la machine hôte. | ||
+ | |||
+ | === Pour chaque machine cliente=== | ||
+ | BackupPC examine les dates des dernières sauvegardes effectuées: | ||
+ | * Si la date de dernière sauvegarde complète a plus de trente jours, il en fait une nouvelle. | ||
+ | * Sinon il regarde la date de la dernière sauvegarde incrémentielle. Si celle-ci a plus d'un jour, il lance une sauvegarde incrémentielle. | ||
+ | |||
+ | S'il y a plus de dix-neuf sauvegardes incrémentielles, | ||
+ | |||
+ | ===== Installation ===== | ||
+ | Backuppc est [[http:// | ||
+ | Étant disponible dans les [[: | ||
+ | |||
+ | === Backuppc sous Ubuntu utilisera par défaut: === | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | === Une fenêtre debconf doit apparaître durant l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * soit vous notez soigneusement le mot de passe attribué automatiquement à l' | ||
+ | * soit vous préférez le modifier à l'aide de cette commande: < | ||
+ | |||
+ | < | ||
+ | Pour générer le mot de passe et le stocker vous pouvez utilisez par exemple [[: | ||
+ | </ | ||
+ | |||
+ | === Ajout de l' | ||
+ | Pour démarrer backuppc, il faut ajouter l' | ||
+ | |||
+ | === Ajout du fichier apache.conf === | ||
+ | Comme l' | ||
+ | Puis activez le site : < | ||
+ | | ||
+ | < | ||
+ | Le fichier de configuration a été renommé en backuppc.conf, | ||
+ | </ | ||
+ | * Un redémarrage du serveur web est nécessaire pour prendre en compte les modifications. | ||
+ | < | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | === Connexion à l' | ||
+ | |||
+ | Les versions récentes (>=3) de BackupPC permettent notamment de modifier la plupart des options de configuration directement depuis l' | ||
+ | Ensuite, il faut entrer « backuppc » en nom d' | ||
+ | |||
+ | ===== Configuration générale ===== | ||
+ | Backuppc fonctionne avec la notion de [[wpfr> | ||
+ | |||
+ | La configuration peut se faire en modifiant les options dans le fichier **/ | ||
+ | Néanmoins ici, il sera principalement fait usage de [[# | ||
+ | |||
+ | <note important> | ||
+ | Il vous faudra adapter les termes < | ||
+ | </ | ||
+ | |||
+ | ==== Mettre l' | ||
+ | === Par l' | ||
+ | Depuis le menu //Serveur -> Modifier la configuration -> CGI -> Language //\\ | ||
+ | Depuis le menu //Server -> Edit config -> CGI -> Language // | ||
+ | |||
+ | === En ligne de commandes === | ||
+ | [[: | ||
+ | <file perl / | ||
+ | | ||
+ | </ | ||
+ | pour obtenir | ||
+ | <file perl / | ||
+ | | ||
+ | </ | ||
+ | |||
+ | === Modifier la configuration pour toutes vos machines === | ||
+ | Depuis le menu //Serveur -> Modifier la configuration // | ||
+ | |||
+ | === Puis affiner pour chacune d' | ||
+ | Depuis //Hôtes -> // | ||
+ | |||
+ | ==== Où sont sauvegardées les données ? ==== | ||
+ | === Par défaut === | ||
+ | Les données sont sauvegardées dans des sous-répertoires de **/ | ||
+ | |||
+ | === Changer le lieu de stockage === | ||
+ | Cela n'est bien sûr pas obligatoire, | ||
+ | |||
+ | == Avec un lien symbolique == | ||
+ | <note tips> | ||
+ | En utilisant un [[wpfr> | ||
+ | </ | ||
+ | * stopper le [[: | ||
+ | * créer votre répertoire de destination au préalable: < | ||
+ | * copiez-y ce qui se trouve dans **/ | ||
+ | * assurer vous que les [[:droits]] sur les fichiers et répertoires sont les mêmes. | ||
+ | * supprimer ou déplacer (au cas où) le répertoire **/ | ||
+ | * créer votre [[wpfr> | ||
+ | * corriger le propriétaire du lien: < | ||
+ | * Il ne reste plus qu'a relancer backuppc: < | ||
+ | |||
+ | ===== Configurer les sauvegardes ===== | ||
+ | Vous trouverez dans cette section les différents types de sauvegardes testés par les contributeurs. N' | ||
+ | * [[# | ||
+ | * [[# | ||
+ | * [[# | ||
+ | * [[# | ||
+ | * [[# | ||
+ | * [[# | ||
+ | |||
+ | ===== Sauvegarder un répertoire local via tar ===== | ||
+ | |||
+ | [[# | ||
+ | - //Serveur -> Modifier la configuration -> Machine// : vérifier que la machine (host) " | ||
+ | - //Hôtes// -> choisir // | ||
+ | - //localhost -> Modifier la configuration -> xfer -> XferMethod -> choisir " | ||
+ | - //localhost -> localhost Accueil -> Démarrer la sauvegarde complète// | ||
+ | - //localhost -> Explorer les sauvegardes//: | ||
+ | |||
+ | Par défaut cette sauvegarde sera dans **/ | ||
+ | <note important> | ||
+ | |||
+ | ===== Sauvegarde du poste local sur un disque dur externe USB ===== | ||
+ | |||
+ | * Formater le disque dur USB par exemple en EXT3 ou [[:EXT4]]. \\ Vous pouvez effectuer cette manipulation depuis le menu //Système -> Administration -> Éditeur de partitions// | ||
+ | * Changer le lieu de stockage avec un lien symbolique comme indiqué au paragraphe [[backuppc# | ||
+ | * Modifier les horaires de sauvegarde pour éviter qu'il ne sauvegarde automatiquement quand le disque est débranché\\ //localhost -> Modifier la configuration -> Horaires// | ||
+ | |||
+ | ===== Sauvegarder un poste Linux distant via rsync (ssh) ===== | ||
+ | |||
+ | La sauvegarde se faisant au travers de [[:ssh]], il faut [[: | ||
+ | |||
+ | De plus, il est nécessaire que l' | ||
+ | Pour se faire, vous avez le choix entre 2 méthodes: | ||
+ | - La [[# | ||
+ | - Une [[# | ||
+ | |||
+ | < | ||
+ | Si vous avez plusieurs clients vous pouvez utiliser le très pratique [[:cssh]] | ||
+ | </ | ||
+ | |||
+ | ==== Méthode standard ==== | ||
+ | Plus simple à mettre en place. (([[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Manipulations sur le serveur de sauvegarde.=== | ||
+ | * Passer en utilisateur " | ||
+ | * Mettez en place un système de [[: | ||
+ | * Générer le couple clef publique et clef privée sans mettre de mot de passe < | ||
+ | * Vérifier que la clé est bien générée < | ||
+ | * et que ses droits sont corrects < | ||
+ | drwxr-x--- 8 backuppc backuppc 4096 2011-07-21 13:57 .. | ||
+ | -rw------- 1 backuppc backuppc 1671 2011-07-17 17:10 id_rsa | ||
+ | -rw-r--r-- 1 backuppc backuppc | ||
+ | -rw-r--r-- 1 backuppc backuppc 4862 2011-07-17 19:58 known_hosts</ | ||
+ | |||
+ | |||
+ | === Manipulations sur les postes clients.=== | ||
+ | == Placer la clef publique== | ||
+ | * Créer le répertoire **/ | ||
+ | sudo mkdir /root/.ssh | ||
+ | * [[: | ||
+ | * Ajouter dans le fichier, la clef publique de l' | ||
+ | * Pour plus de sécurité, rajouter au début du fichier la directive < | ||
+ | * Vous devriez désormais avoir: | ||
+ | * Sous le compte root | ||
+ | < | ||
+ | sudo -i | ||
+ | cat ~/ | ||
+ | from=" | ||
+ | </ | ||
+ | |||
+ | == Configuration de sshd== | ||
+ | [[: | ||
+ | <file bash **/ | ||
+ | PermitRootLogin without-password | ||
+ | </ | ||
+ | Avec cette directive les connexions SSH de **root** ne seront pas possible avec un mot de passe (qui par défaut | ||
+ | |||
+ | Seul les connexions utilisant une authentification par clef seront possible, et uniquement de l' | ||
+ | |||
+ | Il sera donc possible de paramétrer indépendamment les possibilités d' | ||
+ | |||
+ | === Test de connexion SSH=== | ||
+ | Depuis le __serveur__ de sauvegarde, tenter une première connexion ssh vers le poste à sauvegarder pour l' | ||
+ | < | ||
+ | sudo -i -u backuppc | ||
+ | ssh root@client</ | ||
+ | Répondre " | ||
+ | |||
+ | ==== Méthode avec sudo ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Manipulations sur le serveur de sauvegarde=== | ||
+ | Cette partie est commune | ||
+ | === Manipulations sur les postes clients=== | ||
+ | Nous allons utiliser le compte " | ||
+ | |||
+ | |||
+ | == Placer la clef publique.== | ||
+ | Pour chacun des clients: | ||
+ | * Créer le répertoire **.ssh** dans le Dossier Personnel < | ||
+ | * [[: | ||
+ | * Ajouter dans le fichier, la clef publique de l' | ||
+ | * Pour plus de sécurité, rajouter au début du fichier la directive < | ||
+ | * Vous devriez désormais avoir: | ||
+ | * Sous le compte backup | ||
+ | < | ||
+ | sudo -i -u backup | ||
+ | cat ~/ | ||
+ | from=" | ||
+ | </ | ||
+ | |||
+ | == Configuration de sshd.== | ||
+ | |||
+ | [[: | ||
+ | <file bash / | ||
+ | PermitRootLogin no | ||
+ | </ | ||
+ | |||
+ | == Configuration de sudo.== | ||
+ | |||
+ | À l'aide de [[: | ||
+ | <file bash> | ||
+ | backup ALL=NOPASSWD: | ||
+ | </ | ||
+ | |||
+ | |||
+ | Ceci donnera à l' | ||
+ | |||
+ | Pour pouvoir mener à bien cette opération, il faut revenir à un utilisateur qui ait les droits sudo, en fait à l' | ||
+ | Pour cela : | ||
+ | < | ||
+ | puis simplement : | ||
+ | < | ||
+ | |||
+ | |||
+ | === Test de connexion SSH=== | ||
+ | |||
+ | Depuis le __serveur__ de sauvegarde, tenter une première connexion ssh vers le poste à sauvegarder pour l' | ||
+ | < | ||
+ | sudo -i -u backuppc | ||
+ | ssh backup@< | ||
+ | Répondre " | ||
+ | |||
+ | < | ||
+ | En cas d' | ||
+ | Regarder aussi ** / | ||
+ | Dans tous les cas jeter un œil sur la page consacrée à [[:ssh]]. | ||
+ | En cas de blocage suite à la réinstallation du poste à sauvegarder, | ||
+ | </ | ||
+ | < | ||
+ | Si l' | ||
+ | </ | ||
+ | === Paramétrer l' | ||
+ | |||
+ | == Par l' | ||
+ | //onglet **Xfert** -> pour **rsync** -> chapitre **Chemins/ | ||
+ | * ** RsyncClientCmd ** < | ||
+ | * ** RsyncClientRestoreCmd ** < | ||
+ | |||
+ | == Depuis le fichier « / | ||
+ | [[: | ||
+ | <file perl / | ||
+ | # $Conf{RsyncClientCmd} = ' | ||
+ | $Conf{RsyncClientCmd} = ' | ||
+ | # $Conf{RsyncClientRestoreCmd} = ' | ||
+ | $Conf{RsyncClientRestoreCmd} = ' | ||
+ | </ | ||
+ | |||
+ | ==== Ajouter la machine à sauvegarder à la liste.==== | ||
+ | Il ne reste plus qu' | ||
+ | ||# | ||
+ | - //Serveur -> Modifier les machines -> Machines// : ajouter < | ||
+ | - //Hôtes // : choisir < | ||
+ | - //Modifier la configuration -> xfer -> XferMethod// | ||
+ | - //< | ||
+ | - //Explorer les sauvegardes //: vérifier ici que ça a bien fonctionné. | ||
+ | |||
+ | ===== Sauvegarder un poste Mac OS distant via ssh ===== | ||
+ | //Testé sur Mac OS 10.6 & 10.7. // | ||
+ | |||
+ | <note tip> | ||
+ | * La sauvegarde se faisant au travers de [[:ssh]], activer le serveur ssh en cochant " | ||
+ | * Afin de sauvegarder un poste GNU/linux distant, il est nécessaire que l' | ||
+ | </ | ||
+ | |||
+ | La procédure est identique en tout point à la méthode [[# | ||
+ | - Se connecter à la machine Mac à sauvegarder en ssh avec un compte administrateur du Mac qui a un mot de passe. < | ||
+ | - Passez en utilisateur root < | ||
+ | - Suivre la procédure telle qu' | ||
+ | |||
+ | ===== Sauvegarder des postes Windows via « rsyncd » ===== | ||
+ | |||
+ | ==== Configuration des postes Windows ==== | ||
+ | |||
+ | Sans s' | ||
+ | Ce paquet s' | ||
+ | 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 : | ||
+ | * un module « docs » partagé par //rsyncd// ; | ||
+ | * ce module doit permettre l' | ||
+ | * le service //rsyncd// lancé sur ce PC. | ||
+ | |||
+ | ==== Configuration du fichier « config.pl » ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | <file perl / | ||
+ | $Conf{XferMethod} = ' | ||
+ | $Conf{RsyncdUserName} | ||
+ | $Conf{RsyncdPasswd} | ||
+ | $Conf{RsyncShareName} | ||
+ | </ | ||
+ | Sauvegarder le fichier et recharger la configuration depuis [[# | ||
+ | |||
+ | ===== Sauvegarder des postes Windows via « smb » ===== | ||
+ | |||
+ | === Configuration des postes Windows === | ||
+ | |||
+ | - Créez un utilisateur avec un mot de passe. | ||
+ | - Créez un partage sur la ressource à sauvegarder avec les droits modifiés en lecture pour l' | ||
+ | - Effectuez les changements depuis [[# | ||
+ | |||
+ | Pour l' | ||
+ | * nom d' | ||
+ | * mot de pase -> //mdpbupc// | ||
+ | * dossier de partage -> //docs$// | ||
+ | * adresse IP de la machine windows -> // | ||
+ | |||
+ | == Configuration du fichier « config.pl » == | ||
+ | |||
+ | [[: | ||
+ | <file perl / | ||
+ | $Conf{XferMethod} = ' | ||
+ | $Conf{SmbShareUserName} = ' | ||
+ | $Conf{SmbSharePasswd} = ' | ||
+ | $Conf{SmbShareName} = ' | ||
+ | </ | ||
+ | Sauvegarder le fichier et recharger la configuration depuis [[# | ||
+ | |||
+ | == Configuration du fichier « hosts » == | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | Sauvegarder le fichier et recharger la configuration depuis [[# | ||
+ | |||
+ | ===== Sauvegarder des PC éteints ===== | ||
+ | |||
+ | Il est intéressant de pouvoir effectuer la sauvegarde des machines lorsqu' | ||
+ | |||
+ | ==== Configuration du WOL sur le serveur ==== | ||
+ | |||
+ | L' | ||
+ | < | ||
+ | Il va sans dire que le nom de la machine doit être déclaré comme dans le fichier ** / | ||
+ | |||
+ | Pour que le fichier ethers soit pris en compte par etherwake modifier le fichier **/ | ||
+ | < | ||
+ | |||
+ | Par defaut, la commande etherwake n'est exécutable que par root, pour remédier à cela : | ||
+ | < | ||
+ | chmod +s / | ||
+ | |||
+ | ==== Script de réveil et d' | ||
+ | |||
+ | Créez dans le dossier **/ | ||
+ | * **wol.sh** pour l' | ||
+ | * **shutdown.sh** pour l' | ||
+ | |||
+ | == le fichier **wol.sh** == | ||
+ | |||
+ | <file bash wol.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | declare -i z | ||
+ | z=0 | ||
+ | i=0 | ||
+ | / | ||
+ | sleep 1m | ||
+ | while [ $i = 0 -a $z -lt 15 ] | ||
+ | do | ||
+ | if smbclient -L $1 -U backup%mdpbupc>/ | ||
+ | then | ||
+ | i=1 | ||
+ | fi | ||
+ | sleep 10s | ||
+ | z=z+1 | ||
+ | done </ | ||
+ | |||
+ | __**Explication: | ||
+ | * 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. | ||
+ | * Après 15 essais sans résultat la boucle s' | ||
+ | |||
+ | == le fichier **shutdown.sh** == | ||
+ | |||
+ | <file bash shutdown.sh> | ||
+ | if [ $(date +%k) -lt 07 -o $(date +%k ) -gt 20 ] | ||
+ | then | ||
+ | / | ||
+ | else | ||
+ | if [ $2 = 1 ] | ||
+ | then | ||
+ | echo sauvegarde terminé avec succès. | smbclient -M $1 --user=" | ||
+ | fi | ||
+ | fi </ | ||
+ | |||
+ | __**Explication: | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | < | ||
+ | Pour parer à cela, vous êtes invité à lire le dernier message de [[http:// | ||
+ | |||
+ | == autre exemple de fichiers **wol.sh** et **shutdown.sh** améliorés qui conservent l' | ||
+ | |||
+ | Pour utiliser ces scripts, veuillez mettre le paramètre **UserCmdCheckStatus** à **1** dans la configuration, | ||
+ | < | ||
+ | ceci permet de dire à Backuppc de prendre en compte le code d' | ||
+ | <file bash wol.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | declare -i z | ||
+ | z=0 | ||
+ | i=0 | ||
+ | filename=/ | ||
+ | echo " | ||
+ | echo " | ||
+ | cnt=$(ping -c 1 $1 | awk -F, '/ | ||
+ | |||
+ | echo "Count ping to host $1 = $cnt" | ||
+ | |||
+ | if [ $cnt -eq 0 ]; then | ||
+ | echo $cnt > $filename | ||
+ | |||
+ | # Time to wait for machine to boot in minutes | ||
+ | # Use value given as argument | ||
+ | if [ -n " | ||
+ | min=$2 | ||
+ | else | ||
+ | echo " | ||
+ | echo " | ||
+ | min=2 | ||
+ | fi | ||
+ | m=$min" | ||
+ | |||
+ | echo "Send WOL to $1 and wait $min minutes" | ||
+ | sudo / | ||
+ | sleep $m | ||
+ | while [ $i = 0 -a $z -lt 18 ] | ||
+ | do | ||
+ | count=$(ping -c 5 $1 | awk -F, '/ | ||
+ | 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 | ||
+ | echo $cnt > $filename | ||
+ | exit 0 | ||
+ | fi</ | ||
+ | __**Explication: | ||
+ | * 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' | ||
+ | |||
+ | < | ||
+ | Ici ' | ||
+ | </ | ||
+ | |||
+ | Ainsi pour utiliser ce script il faut ajouter ce paramètre à la configuration: | ||
+ | < | ||
+ | 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> | ||
+ | #!/bin/bash | ||
+ | # Backuppc user script | ||
+ | |||
+ | if [ " | ||
+ | echo | ||
+ | echo "The BackupPC user script takes two arguments:" | ||
+ | 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 " | ||
+ | echo | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # Array of computers, in the form: [hostname]=' | ||
+ | # these must be Administrator' | ||
+ | # Modify these according to your needs | ||
+ | declare -A names | ||
+ | names=( | ||
+ | [hostname1]=' | ||
+ | [hostname2]=' | ||
+ | [hostname3]=' | ||
+ | ) | ||
+ | |||
+ | for i in " | ||
+ | do | ||
+ | if [ $i = $1 ]; then | ||
+ | host_name=$i | ||
+ | upwd=${names[$i]} | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | # Exit if no corresponding host name found | ||
+ | [ " | ||
+ | |||
+ | # To stop a pc, if -f argument given ( wol script wasn't used and there is no host file ) | ||
+ | if [ " | ||
+ | then | ||
+ | / | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | # File to record the host status | ||
+ | filename=/ | ||
+ | if [ -f $filename ] | ||
+ | then | ||
+ | echo " | ||
+ | declare -i laststate | ||
+ | read laststate < $filename | ||
+ | echo "Last State Host $host_name = $laststate" | ||
+ | else | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # Actions after backup | ||
+ | if [ $2 = 1 ] # Successfull backup | ||
+ | then | ||
+ | echo " | ||
+ | if [ $laststate = 0 ] | ||
+ | then | ||
+ | # Last state off, send shutdown | ||
+ | echo "Sent SHUTDOWN to host $host_name" | ||
+ | / | ||
+ | else | ||
+ | # Last state : up | ||
+ | echo " | ||
+ | fi | ||
+ | elif [ $2 = 0 ] # backup error | ||
+ | then | ||
+ | echo " | ||
+ | # Only shutdown after unsuccesfull backup during out of office hours | ||
+ | #if [ $(date +%k) -lt 07 -o $(date +%k ) -gt 22 ] | ||
+ | #then | ||
+ | #/ | ||
+ | #fi | ||
+ | fi | ||
+ | |||
+ | if [ -f $filename ] | ||
+ | then | ||
+ | echo " | ||
+ | unlink $filename | ||
+ | fi</ | ||
+ | |||
+ | __**Explication: | ||
+ | * si le backup est réussi: si la machine était précédemment éteinte, le script exécute la commande d' | ||
+ | * si la machine était allumée avant, la commande d' | ||
+ | * si le second argument est ' | ||
+ | |||
+ | Ainsi pour utiliser ce script il faut ajouter ce paramètre à la configuration: | ||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Configuration de backuppc pour utiliser les scripts ==== | ||
+ | |||
+ | Backuppc contrôle la présence du pc sur le réseau avec ping, sans quoi il n' | ||
+ | < | ||
+ | par | ||
+ | < | ||
+ | FIXME dans ce cas le backup pourrait essayer de se lancer alors que la machine n'est pas accessible. | ||
+ | < | ||
+ | et ajouter les chemins des scripts comme suit : | ||
+ | |||
+ | < | ||
+ | $Conf{DumpPostUserCmd} | ||
+ | |||
+ | Sauvegardez le fichier et recharger la configuration via l' | ||
+ | |||
+ | Il ne vous reste plus qu'à activer le [[: | ||
+ | |||
+ | ===== Faire une copie des sauvegardes sur un support externe avec RSYNC ===== | ||
+ | |||
+ | **Backuppc** gère **la déduplication des données**. C'est à dire qu' | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | Pour éviter cela, on indique à **rsync** qu'il doit gérer les liens matériels avec l' | ||
+ | |||
+ | < | ||
+ | |||
+ | **ATTENTION !!! : cette opération entraîne une forte consommation en CPU et en RAM !!!** | ||
+ | |||
+ | ===== Erreurs ===== | ||
+ | |||
+ | ==== No files dumped for share ... ==== | ||
+ | |||
+ | Cliquez sur "Last bad XferLOG" | ||
+ | < | ||
+ | Sauvez votre configuration backuppc, puis effectuez ces commandes avec la console : | ||
+ | < | ||
+ | sudo chown backuppc: | ||
+ | |||
+ | Reparamétrez votre configuration dans " | ||
+ | |||
+ | ==== Erreur NT_STATUS... ==== | ||
+ | |||
+ | Pour se connecter aux partages SMB, backuppc utilise smbclient et lui passe par défaut l' | ||
+ | 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.\\ | ||
+ | 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 [[# | ||
+ | |||
+ | ===== Liens utiles ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ----- | ||
+ | // Contributeurs : [[: |