\begin{frame}
 \frametitle{Présentation générale}
 \begin{itemize}
  \item Bacula ;
  \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}
    \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 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 en ligne de commande}
 \begin{itemize}
     \item La commande : \commande{[/usr/share/eole/bacula/]baculaconfig.py} ;
     \item option pour afficher la configuration actuelle : \commande{-d} ;
     \item option pour configurer le support de sauvegarde : \commande{-s [usb|smb|manual]}.
  \begin{itemize}
      \item sous-option pour l'usb : \commande{--usb\_path=<peripherique>} ;
      \item sous-options pour smb : \commande{--smb\_machine= --smb\_ip= --smb\_partage= --smb\_login= --smb\_password=}.
  \end{itemize}
  \item option pour configurer l'adresse mail : \commande{-m [--mail\_ok=<adresse mail>]|[--mail\_error=<adresse mail>]} ;
  \item programmation de la sauvegarde : \commande{-j [daily|weekly|monthly]}
  \item niveau de programmation : \commande{--job\_level=Full|Incemental|Differential} ;
  \item heure de sauvegarde : \commande{--job\_hour=<entier de 0 à 23>} ;
  \item jour de la programmation : \commande{--job\_day=<1-7> [--job\_end=<1-7>]} ;
  \item option pour appliquer la configuration : \commande{-a} ;
  \item lancer une sauvegarde : \commande{-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 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{Résolution des problèmes}
 \begin{itemize}
  \item Diagnose ;
  \item les logs :
  \begin{itemize}
   \item /var/log/rsyslog/local/bacula-dir/,
   \item /var/log/rsyslog/local/bacula-fd/,
   \item /var/log/rsyslog/local/bacula-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/]baculamount.py -t} ;
  \item supprimer le verrou : \commande{[/usr/share/eole/bacula/]baculaconfig.py --unlock} .
 \end{itemize}
\end{frame}
