\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 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 \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=} \item \commande{baculaconfig.py -s usb --usb\_path=} \end{itemize}} \item<1-> support smb \only<2>{\begin{itemize} \item \commande{/usr/share/eole/bacula/baculaconfig.py -s smb --smb\_machine= --smb\_ip= [--smb\_login= --smb\_password=]} \item \commande{baculaconfig.py -s smb --smb\_machine= --smb\_ip= --smb\_partage= [--smb\_login= --smb\_password=]} \end{itemize}} \item<1-> support manuel \only<3>{\begin{itemize} \item \commande{/usr/share/eole/bacula/baculaconfig.py -s manual} \item \commande{baculaconfig.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=<1-7> --job\_day=<1-7>} \item \commande{baculaconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<1-7> --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=<1-7> --job\_day=<1-7>} \item \commande{baculaconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<1-7> --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=<1-7> --job\_day=<1-7>} \item \commande{baculaconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<1-7> --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=] [--mail\_error=courriel]} \item \commande{baculaconfig.py -m [--mail\_ok=] [--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, 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{bacula.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{baculaconfig.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 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 } (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}