\begin{frame}
 \frametitle{Présentation générale}
 \begin{itemize}
  \item Bacula/Bareos ;
  \item outil de sauvegarde libre pour :
  \begin{itemize}
   \item les fichiers/dossiers ;
   \item les droits POSIX ;
   \item les ACLs.
  \end{itemize}
  \item séparation EOLE :
  \begin{itemize}
   \item directeur (+ serveur de fichier) ;
   \item espace de stockage.
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Commandes EOLE pour bacula}
    \begin{itemize}
        \item pour EOLE 2.3 :
            \begin{itemize}
                \item les commandes ne sont pas dans le \uppercase{path} ;
                \item \commande{/usr/share/eole/bacula/baculaconfig.py} ;
                \item \commande{/usr/share/eole/bacula/baculamount.py} ;
                \item \commande{/usr/share/eole/bacula/bacularestore.py} ;
            \end{itemize}
        \item pour EOLE 2.4 :
            \begin{itemize}
                \item les commandes sont dans le \uppercase{path} ;
                \item \commande{baculaconfig.py} ;
                \item \commande{baculamount.py} ;
                \item \commande{bacularestore.py} ;
            \end{itemize}
        \item pour EOLE 2.5 / 2.6:
            \begin{itemize}
                \item les commandes sont dans le \uppercase{path} ;
                \item \commande{bareosconfig.py} ;
                \item \commande{bareosmount.py} ;
                \item \commande{bareosrestore.py} ;
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Configuration du directeur}
 \begin{itemize}
  \item types de sauvegarde :
  \begin{itemize}
   \item sauvegarde totale (T) ;
   \item sauvegarde différentielle (D) ;
   \item sauvegarde incrémentale (I).
  \end{itemize}
  \item durée de rétention (modifiable dans gen\_config) :
  \begin{itemize}
   \item totale : 6 mois ;
   \item différentielle : 5 semaines ;
   \item incrémentale : 10 jours.
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Configuration du directeur}
 \includegraphics[width=8cm]{modules_EOLE_envole/scribe/sauvegarde.png}
\end{frame}


\begin{frame}
 \frametitle{Configuration des fichiers sauvegardés}
 \begin{itemize}
  \item les fichiers personnalisés dans le répertoire /etc/bacula/baculafichiers.d/ ;
  \item les fichiers personnalisés dans le répertoire /etc/bareos/bareosfichiers.d/ ;
  \item possibilité d'ajouter des fichiers à sauvegarder ;
  \item possibilité d'exclure des fichiers.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Configurer une sauvegarde}
 \begin{itemize}
  \item type de support :
  \begin{itemize}
   \item si l'espace de stockage est local ;
   \item support:
   \begin{itemize}
    \item distant (SMB) ;
    \item local (USB, externe) ;
    \item manuel (lecteur de bande).
   \end{itemize}
  \end{itemize}
  \item depuis EAD ;
  \item depuis la ligne de commande ;
  \item programmation des sauvegardes : mensuelle, hebdomadaire, quotidienne et immédiate.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Configurer une sauvegarde en ligne de commande}
La commande de configuration est :
\begin{itemize}
    \item \commande{/usr/share/eole/bacula/baculaconfig.py} en 2.3 ;
    \item \commande{baculaconfig.py} en 2.4
    \item \commande{bareosconfig.py} en 2.5 et 2.6
\end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Configurer une sauvegarde en ligne de commande}
 \framesubtitle{Configurer le support de sauvegarde}
 Trois configurations possibles pour le support de sauvegarde :
 \begin{itemize}
     \item<1-> support usb
         \only<1>{\begin{itemize}
             \item \commande{/usr/share/eole/bacula/baculaconfig.py -s usb --usb\_path=<peripherique>}
             \item \commande{bareosconfig.py -s usb --usb\_path=<peripherique>}
     \end{itemize}}
    \item<1-> support smb
        \only<2>{\begin{itemize}
            \item \commande{/usr/share/eole/bacula/baculaconfig.py -s smb --smb\_machine=<nom d'hôte> --smb\_ip=<adresse ip> [--smb\_login=<compte> --smb\_password=<mot de passe>]}
            \item \commande{bareosconfig.py -s smb --smb\_machine=<nom d'hôte> --smb\_ip=<adresse ip> --smb\_partage=<nom du partage> [--smb\_login=<compte> --smb\_password=<mot de passe>]}
    \end{itemize}}
    \item<1-> support manuel
        \only<3>{\begin{itemize}
            \item \commande{/usr/share/eole/bacula/baculaconfig.py -s manual}
            \item \commande{bareosconfig.py -s manual}
    \end{itemize}}
\end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Configurer une sauvegarde en ligne de commande}
    \framesubtitle{Plannifier la sauvegarde}
   Trois fréquences de plannification :
   \begin{itemize}
       \item<1-> quotidienne
           \only<1>{\begin{itemize}
               \item \commande{/usr/share/eole/bacula/baculaconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>}
               \item \commande{bareosconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>}
       \end{itemize}}
       \item<1-> hebdomadaire
           \only<2>{\begin{itemize}
               \item \commande{/usr/share/eole/bacula/baculaconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
               \item \commande{bareosconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
       \end{itemize}}
       \item<1-> mensuelle
           \only<3>{\begin{itemize}
               \item \commande{/usr/share/eole/bacula/baculaconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
               \item \commande{bareosconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
       \end{itemize}}
   \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Configurer une sauvegarde en ligne de commande}
    \framesubtitle{Configurer les destinataires des rapports}
    Le destinataire est identifié par un courriel.\newline
    Le destinataire peut être différent en cas d'erreur ou de succès.\newline
    L'envoi par courriel est facultatif.\newline
    \begin{itemize}
        \item \commande{/usr/share/eole/bacula/baculaconfig.py -m [--mail\_ok=<courriel>] [--mail\_error=courriel]}
        \item \commande{bareosconfig.py -m [--mail\_ok=<courriel>] [--mail\_error=courriel]}
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Configurer une sauvegarde en ligne de commande}
    \framesubtitle{Appliquer les changemenets de configuration}
    \begin{itemize}
        \item \commande{/usr/share/eole/bacula/baculaconfig.py -a}
        \item en 2.4, 2.5, 2.6 les changements sont automatiquement appliqués.
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Configurer une sauvegarde en ligne de commande}
    \framesubtitle{Afficher la configuration courante}
    La configuration courante peut être affichée à l'écran :
    \begin{itemize}
        \item \commande{/usr/share/eole/bacula/baculaconfig.py -d}
        \item \commande{bareosconfig.py -d}
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Lancer une sauvegarde immédiatement}
    \begin{itemize}
  \item \commande{/usr/share/eole/bacula/baculaconfig.py -n --level=Full|Incremental|Differential}.
  \item \commande{bareosconfig.py -n --level=Full|Incremental|Differential}.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Configuration partage Windows}
 \begin{itemize}
  \item Création d'un compte local sur le poste Windows ;
  \item se connecter sur ce compte ;
  \item partage du dossier et réglage des droits :
  \begin{itemize}
   \item contrôle total pour l'utilisateur,
   \item décocher "Hérite de l'objet parent..." ;
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item Sauvegarder le serveur sur le partage Windows
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Restauration partielle}
 \begin{itemize}
     \item Script \commande{[/usr/share/eole/bacula/]bacularestore.py} ;
     \item Script \commande{[/usr/share/eole/bareos/]bareosrestore.py} (2.5, 2.6) ;
     \item rechercher un fichier : \commande{--search \*} ;
     \item restaurer un fichier : \commande{--file nom\_du\_fichier} ;
     \item restaurer le dossier et contenu : \commande{--folder nom\_du\_dossier} ;
     \item restaurer tous les fichiers : \commande{--all\_files} ;
     \item restaurer les bases de données : \commande{--mysql} ;
     \item restaurer un annuaire LDAP : \commande{--ldap} ;
   \item ...
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item Créer un fichier ;
  \item lancer une sauvegarde ;
  \item supprimer le fichier ;
  \item rechercher le fichier et le restaurer.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Restauration totale}
 \begin{itemize}
  \item Installer le serveur (avec gen\_conteneur) ;
  \item configurer le support de sauvegarde en ligne de commande ;
  \item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]baculamount.py --mount} ;
  \item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bacularestore.py --catalog <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bacula) ;
  \item instanciation du serveur : \commande{instance zephir-restore.eol} ;
  \item ne pas reinitiliser la base Bacula ;
  \item restauration totale : \commande{[/usr/share/eole/bacula/]bacularestore.py --all}.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Restauration totale en 2.6}
 \begin{itemize}
  \item Installer le serveur (avec gen\_conteneur) ;
  \item configurer le support de sauvegarde en ligne de commande ;
  \item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]bareosmount.py --mount} ;
  \item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bareosrestore.py --configeol <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
  \item instanciation du serveur : \commande{instance zephir-restore.eol} ;
  \item ne pas reinitiliser la base Bareos ;
  \item bareosrestore.py --catalog (sans options) ;
  \item restauration totale : \commande{[/usr/share/eole/bacula/]bareosrestore.py --all}.
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Résolution des problèmes}
 \begin{itemize}
  \item Diagnose ;
  \item les logs :
  \begin{itemize}
   \item /var/log/rsyslog/local/{bacula/bareos}-dir/,
   \item /var/log/rsyslog/local/{bacula/bareos}-fd/,
   \item /var/log/rsyslog/local/{bacula/bareos}-sd/ ;
  \end{itemize}
  \item la console \commande{bconsole} :
  \begin{itemize}
      \item \commande{messages} ;
      \item \commande{status dir|sd|fd|all} ;
  \end{itemize}
  \item test de montage : \commande{[/usr/share/eole/bacula/]bareosmount.py -t} ;
  \item supprimer le verrou : \commande{[/usr/share/eole/bacula/]bareosconfig.py --unlock} .
 \end{itemize}
\end{frame}
