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 25/10/2017, 15:39] – [Méthode avec sudo] 193.51.46.10backuppc [Le 02/11/2025, 21:53] (Version actuelle) – samba -> smb krodelabestiole
Ligne 1: Ligne 1:
-{{tag>Trusty Xenial 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 ======
Ligne 10: 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 36: Ligne 36:
 ===== Installation ===== ===== Installation =====
 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 54: 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 70: Ligne 65:
   * 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 =====
Ligne 95: Ligne 95:
 [[: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>
  
Ligne 110: Ligne 110:
 ==== 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 192: 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 234: 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 287: Ligne 287:
 ==  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 $host $rsyncPath $argList+</file> +  * ** RsyncClientCmd ** <file>$sshPath -q -x -l backup $hostIP /usr/bin/sudo $rsyncPath $argList+</file> 
-  * ** RsyncClientRestoreCmd ** <file>$sshPath -q -x -l backup $host $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 » ==
Ligne 329: 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 344: 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 354: 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 369: 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 375: 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 422: Ligne 422:
 __**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 445: 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 -o $(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 then
- if [ $2 != 1 ] +    /usr/bin/net rpc SHUTDOWN -f -I $host_name -U "$upwd" -t 
- then +    exit 0 
- if [ $laststate  != 1 ] +fi 
- then + 
- echo "Sent SHUTDOWN to host $1" +# File to record the host status 
- /usr/bin/net rpc SHUTDOWN -f -I $-U 'Administrateur%motdepasse' -t 30 +filename=/var/lib/backuppc/$host_name.laststate 
- else +if [ -f $filename ] 
- echo "SHUTDOWN not sent to $1 cause Host already UP before+then 
- #echo sauvegarde terminé avec succès. | smbclient -$1 -U 'Administrateur%motdepasse' +    echo "Filename=$filename
- fi +    declare -i laststate 
- fi+    read laststate < $filename 
 +    echo "Last State Host $host_name = $laststate"
 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 527: 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 557: Ligne 652:
 ==== 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  //