4 \section*{La ressource Messages}
5 \label{_ChapterStart15}
6 \index[general]{Ressource!Messages}
7 \index[general]{Messages Ressource}
8 \addcontentsline{toc}{section}{Ressource Messages}
10 \subsection*{La ressource Messages}
11 \label{MessageResource}
12 \index[general]{Ressource!Messages}
13 \index[general]{Messages Ressource}
14 \addcontentsline{toc}{subsection}{La ressource Messages}
16 La ressource Messages d\'efinit la fa{\c c}on dont les messages doivent \^etre construits
17 et vers quelles destinations ils doivent \^etre transmis.
19 Bien que chaque {\it daemon} int\`egre un gestionnaire de messages pleinement
20 fonctionnel, vous choisirez certainement de centraliser les messages appropri\'es
21 des File Daemons et du Storage Daemon vers le Director. Ainsi, tous les messages
22 associ\'es \`a un job donn\'e peuvent \^etre combin\'es et envoy\'es en un simple courrier
23 \'electronique vers l'utilisateur, ou enregistr\'e dans quelque fichier de logs.
25 Chaque message g\'en\'er\'e par un {\it daemon} Bacula poss\`ede un type associ\'e tel
26 que INFO, WARNING, ERROR, FATAL, etc. La ressource Messages vous permet de
27 stipuler les types de messages que vous voulez voir, et o\`u les envoyer. De plus,
28 un message peut \^etre exp\'edi\'e vers plusieurs destinations. Par exemple, vous
29 pouvez faire en sorte quque tous les messages d'erreur soient consign\'es dans un
30 fichier de logs tout en vous \'etant envoy\'es par courrier \'elecronique. En
31 d\'efinissant plusieurs ressources Messages, vous pouvez profiter de diff\'erents
32 modes de prise en charge pour chaque type de job (par exemple, selon qu'il
33 s'agit d'une full ou d'un incr\'ementale).
35 En g\'en\'eral, les messages sont attach\'es \`a un job et sont inclus dans le rapport de job.
36 Il existe de rares situations o\`u ce n'est pas possible, par exemple lorsqu'aucun
37 job n'est en cours d'ex\'ecution, ou si une erreur de communication se produit
38 entre un daemon et le Director. Dans ce genre de situations, le message demeure
39 dans le syst\`eme et devrait \^etre purg\'e \`a la fin job suivant. Cependant, comme de tels
40 messages ne sont pas attach\'es \`a un job, tous ceux qui sont envoy\'es par courrier
41 \'electronique sont envoy\'es \`a {\bf /usr/lib/sendmail}. Si sur votre syst\`eme, comme c'est
42 le cas de FreeBSD, sendmail r\'eside en un autre emplacement, veillez \`a le lier
43 depuis l'emplacement ci-dessus.
45 Les enregistrements contenus dans une ressource Messages consistent en une
46 sp\'ecification de {\bf destination} suivie d'une liste de types de messages
47 {\bf message-types} au format :
51 \item [destination = message-type1, message-type2, message-type3, ... ]
52 \index[dir]{destination}
55 ou, pour ces destinations qui n\'ecessitent de sp\'ecifier une adresse (e-mail, par exemple) :
59 \item [destination = address = message-type1, message-type2,
61 \index[dir]{destination}
63 o\`u {\bf destination} est l'un des mots-clef pr\'ed\'efinis qui pr\'ecise o\`u le message
64 doit \^etre exp\'edi\'e ({\bf stdout}, {\bf file}, ...), {\bf message-type} est l'un des
65 mots-clef pr\'ed\'efinis qui pr\'ecise le type de messages g\'en\'er\'e par Bacula ({\bf ERROR},
66 {\bf WARNING}, {\bf FATAL}, ...) et {\bf address} varie selon le mot clef {\bf destination}
67 mais peut typiquement \^etre une adresse de courrier \'electronique ou un nom de fichier.
71 Voici la liste des directives disponibles pour d\'efinir des ressources Messages :
78 D\'ebut des enregistrements de Messages
80 \item [Name = \lt{}name\gt{}]
82 Le nom de la ressource Message. Ce nom sera utilis\'e pour lier cette ressource
83 Message \`a un job et/ou au un daemon.
87 \item [MailCommand = \lt{}command\gt{}]
88 \index[dir]{MailCommand}
89 En l'absence de cette directive, Bacula enverra tous ses messages avec la
92 {\bf mail -s "Bacula Message" \lt{}recipients\gt{}}
93 Dans de nombreusx cas, selon votre machine, cette commande peut ne pas fonctionner.
94 La directive {\bf MailCommand} vous permet de stipuler pr\'ecis\'ement la fa{\c c}on
95 d'envoyer vos courrier \'electroniques. Lors de l'ex\'ecution de la commande
96 {\bf command}, sp\'ecifi\'ee entre guillemets, les substitutions suivantes sont
101 \item \%c = Le nom du client
102 \item \%d = Le nom du Director
103 \item \%e = Le code de sortie du job (OK, Error, ...)
104 \item \%i = L'Id du Job
105 \item \%j = Le nom unique du job
106 \item \%l = Le niveau (Full, differential, ...) du job
107 \item \%n = Le om du job
108 \item \%r = Les destinataires
109 \item \%t = Le type du job (Backup, verify, ...)
112 Voici la commande que j'utilise (Kern) :
114 {\bf mailcommand = "/home/kern/bacula/bin/bsmtp -h mail.example.com -f
115 \textbackslash{}"\textbackslash{}(Bacula\textbackslash{})
116 \%r\textbackslash{}" -s \textbackslash{}"Bacula: \%t \%e of \%c
117 \%l\textbackslash{}" \%r"}
119 Notez que la commande enti\`ere devrait appara\^itre sur une seulle ligne plut\^ot
120 que d\'ecoup\'ee comme ici pour des raisons de pr\'esentation.
122 Le programme {\bf bsmtp} est fourni en tant que partie de Bacula. Pour plus
123 de d\'etails, consultez la section \ilink{ bsmtp -- Personnaliser l'envoi
124 de vos message par courrier \'electronique}{bsmtp}. Testez soigneusement
125 toute commande {\bf mailcommand} pour vous assurer que votre passerelle
126 bsmtp accepte le format d'adressage que vous utilisez. Certains programmes
127 tels Exim peut se montrer tr\`es s\'electif en ce qui concerne les format
128 autoris\'es, particuli\`erement en ce qui concerne le champ "from".
130 \item [OperatorCommand = \lt{}command\gt{}]
131 \index[fd]{OperatorCommand}
132 Cette directive est analogue \`a {\bf MailCommand}, mais elle est utilis\'ee pour
133 les messages destin\'es \`a l'op\'erateur. Les substitutions effectu\'ees pour la
134 directive {\bf MailCommand} sont aussi effectu\'ees pour celle-ci. Normalement,
135 vous mettrez ici la m\^eme valeur que pour {\bf MailCommand}.
137 \item [Debug = \lt{}debug-level\gt{}]
139 Cette directive r\`egle le niveau de d\'ebogage des messages. C'est un entier.
140 Plus sa valeur est grande, plus grande est la quantit\'e d'informations de
141 d\'ebogages produites. Nous vous conseillons de ne pas utiliser cette directive
142 car elle sera bient\^ot obsol\`ete.
144 \item [\lt{}destination\gt{} = \lt{}message-type1\gt{},
145 \lt{}message-type2\gt{}, ...]
146 \index[fd]{\lt{}destination\gt{}}
148 O\`u la {\bf destination} peut \^etre l'une des suivantes :
154 Envoie le message vers la sortie standard.
158 Envoie le message vers l'erreur standard
161 \index[console]{console}
162 Envoie le message vers la console Bacula. Ces messages sont gard\'es en attente
163 jusqu'\`a ce que la console contacte le Director.
166 \item {\bf \lt{}destination\gt{} = \lt{}address\gt{} =
167 \lt{}message-type1\gt{}, \lt{}message-type2\gt{}, ...}
168 \index[console]{\lt{}destination\gt{}}
170 O\`u {\bf address} d\'epend de la {\bf destination}, qui peut \^etre l'une des suivantes :
175 \index[dir]{director}
176 Envoie le message vers le Director dont le nom est sp\'ecifi\'e dans le champ
177 {\bf address}. Notez que dans l'impl\'ementation actuelle, le nom du Director
178 est ignor\'e, le message \'etant envoy\'e au Directr qui a lanc\'e le job.
182 Envoie le message vers le fichier d\'esign\'e dans le champ {\bf address}. Si le
183 fichier existe, il est \'ecras\'e.
187 Ajoute le message \`a la suite du fichier d\'esign\'e dans le champ {\bf address}.
188 Si le fichier n'existe pas encore, il est cr\'e\'e.
192 Envoie le message vers le syst\`eme de journalisation (syslog) en utilisant le
193 service d\'esign\'e par le champ {\bf address} Notez que, pour le moment, le champ
194 {\bf address} est ignor\'e, et que le message est toujours envoy\'e au service
195 LOG\_DAEMON avec le niveau LOG\_ERR. Consultez la page {\bf man 3 syslog}
196 pour plus de d\'etails. Exemple :
199 syslog = all, !skipped, !saved
204 Exp\'edie le message vers les adresses \'electroniques
205 sp\'ecifi\'ees dans le champ {\bf address} (s\'epar\'ees par des points-virgule).
206 Les messages sont rassembl\'es au cours du job, puis exp\'edi\'es lorsqu'il prend
207 fin en un seul courrier \'electronique. L'avantage de cette Destination est
208 que vous recevez une notification de chaque job ex\'ecut\'e. Toutefois, si vous
209 sauvegardez cinq ou dix machines chaque nuit, la quantit\'e de courrier
210 \'electronique peut devenir importante. Certains utilisateurs mettent en oeuvre
211 des filtres de courrier tels {\bf procmail} pour classer automatiquement ces
212 courriers en fonction des codes de fin de job (voyez la commande {\bf mailcommand}
214 \item [mail on error]
215 \index[fd]{mail on error}
216 Exp\'edie le message vers les adresses \'electroniques
217 sp\'ecifi\'ees dans le champ {\bf address} (s\'epar\'ees par des points-virgule)
218 si le job se termine avec un code d'erreur. Les messages MailOnError sont
219 rassembl\'es au cours du job, puis exp\'edi\'es lorsqu'il prend fin en un seul
220 courrier \'electronique. Cette Destination diff\`ere de la Destination {\bf mail}
221 en ce que si le job s'ach\`eve normalement, le message est compl\`etement
222 abandonn\'e (pour cette Destination). En utilisant d'autres Destinations, telles
223 que {\bf append}, vous pouvez vous assurer que les informations de sorties
224 ne seront pas perdues m\^eme si le job se termine normalement.
228 Exp\'edie le message vers les adresses \'electroniques
229 sp\'ecifi\'ees dans le champ {\bf address} (s\'epar\'ees par des points virgule).
230 Cette directive est similaire \`a {\bf mail} d\'ecrite plus haut, sauf que
231 chaque message est envoy\'e aussit\^ot re{\c c}u, de sorte qu'il y a un courrier
232 \'electronique par message . Ceci est surtout utile pour les messages de
233 type {\bf mount} (voir ci-dessous).
236 Pour toutes les Destinations, le champ "type de message" {\bf message-type} est
237 une liste des types (ou classes) de messages suivants s\'epar\'es par des
244 Messages d'information g\'en\'erale.
248 Messages d'avertissement. En g\'en\'eral, il s'agit de quelque situation inhabituelle
249 sans toutefois \^etre tr\`es s\'erieuse.
253 Messages d'erreur non-fatale. Le job se poursuit. Tout message d'erreur devrait
254 \^etre suivi d'investigations, car il signifie que quelque chose est all\'e de travers.
258 Messages d'erreur fatale. Ces erreurs pr\'ecipitent la fin du job.
261 \index[fd]{terminate}
262 Messages g\'en\'er\'es lorsque le daemon s'arr\`ete.
266 Fichiers sauvegard\'es normalement.
270 Fichiers non sauvegard\'es en raison d'une erreur, en g\'en\'eral, parce que le
271 fichier n'a pu \^etre acc\'ed\'e (il n'existait pas ou n'\'etait pas mont\'e).
275 Fichiers qui ont \'et\'e laiss\'es de cot\'e en raison d'une option pos\'ee par un
276 utilisateur (par exemple le niveau d'une sauvegarde ou une option
277 d'exclusion. Ceci n'est pas consid\'er\'e comme une condition d'erreur au m\^eme
278 titre que pour le type {\bf notsaved} puisque le fichier de configuration
279 stipule explicitement que ces fichiers ne doivent pas \^etre sauvegard\'es.
280 Des cas typiques de fichiers de type {\bf skipped} : fichiers inchang\'es
281 lors d'une incr\'ementale, sous-r\'epertoires si l'option {\bf no recursion}
286 Montage d'un volume ou intervention d'un op\'erateur requis par le Storage Daemon.
287 Ces requ\^etes n\'ecessitent une intervention sp\'ecifique de l'op\'erateur pour que le
288 job puisse se poursuivre.
291 \index[dir]{restored}
292 La liste, fa{\c c}on {\bf ls}, de tous les fichiers restaur\'es est envoy\'ee vers
293 cette classe de messages.
297 Tous les types de messages.
300 \index[fd]{*security}
301 Messages d'information ou d'avertissement relatifs \`a la s\'ecurit\'e,
302 essentiellement les tentatives de connection non-autoris\'ees.
307 Voici un exemple d'une d\'efinition de ressource Messages valide, o\`u tous les
308 messages sont envoy\'es par courrier \'electronique \`a enforcement@sec.com \`a
309 l'exception de ceux concernant les fichiers explicitement exclus (skipped),
310 et des messages d'arr\^et de daemon (terminate). De plus, tous les messages
311 de type mount sont envoy\'es \`a l'op\'erateur (courrier \`a enforcement@sec.com).
312 Enfin, tous les messages autres que ceux relatifs aux fichiers explicitement
313 exclus et aux fichiers sauvegard\'es sont envoy\'es vers la console :
319 mail = enforcement@sec.com = all, !skipped, !terminate
320 operator = enforcement@sec.com = mount
321 console = all, !skipped, !saved
326 A l'exception de l'adresse \'electronique (modifi\'ee pour \'eviter le spam),
327 voici la ressource Message du Director de Kern. Notez que les commandes
328 {\bf mailcommand} et {\bf operatorcommand} sont sur une seule ligne et
329 non coup\'ees comme ici pour des besoins de mise en page.
335 mailcommand = "bacula/bin/bsmtp -h mail.example.com \
336 -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
337 operatorcommand = "bacula/bin/bsmtp -h mail.example.com \
338 -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed \
340 MailOnError = security@example.com = all, !skipped, \
342 append = "bacula/bin/log" = all, !skipped, !terminate
343 operator = security@example.com = mount
344 console = all, !skipped, !saved