4 \section*{Adapter les fichiers de configuration}
5 \label{_ChapterStart16}
6 \index[general]{Adapter les fichiers de configuration }
7 \index[general]{Configuration!Adapter les fichiers de }
8 \addcontentsline{toc}{section}{Adapter les fichiers de configuration}
10 Lors de son d\'emarrage, chacun des programmes qui composent Bacula lit un
11 fichier de configuration sp\'ecifi\'e sur la ligne de commande, ou par
12 d\'efaut {\bf bacula-dir.conf}, {\bf bacula-fd.conf}, {\bf bacula-sd.conf}, ou
13 {\bf console.conf} pour le Director Daemon, le File Daemon, le Storage Daemon,
14 et le programme Console respectivement.
16 Chaque service (Director, Client, Storage, Console) poss\`ede son propre
17 fichier de configuration qui contient un groupe de directives. Dans la suite,
18 nous d\'esignerons ces groupes de directives par le mot {\bf Ressource}. Les
19 ressources son tr\`es similaires d'un service \`a l'autre, mais peuvent
20 contenir des directives diff\'erentes selon les services. Par exemple, dans le
21 fichier de configuration du Director, la ressource {\bf Director} d\'efinit le
22 nom du Director, quelques param\`etres g\'en\'eraux du Director et son mot de
23 passe. Dans le fichier de configuration du File Daemon, la ressource {\bf
24 Director} sp\'ecifie les Directors autoris\'es \`a utiliser le File Daemon.
26 Avant de lancer Bacula pour la premi\`ere fois, vous devez adapter chaque
27 fichier de configuration. Des fichiers de configuration auront \'et\'e
28 cr\'e\'es par le processus d'installation, mais il doivent \^etre modifi\'es
29 pour correspondre \`a votre syst\`eme. Le sch\'ema suivant donne une vue
30 globale des ressources.
32 \includegraphics{./bacula-objects.eps}
34 (Remerciements \`a Aristedes Maniatis pour ce sch\'ema.)
37 \subsection*{Format des directives}
38 \index[general]{Format des directives }
39 \index[general]{Directives!Format des }
40 \addcontentsline{toc}{subsection}{Format des directives}
42 Bien qu'il ne soit pas n\'ecessaire de conna{\^\i}tre le d\'etail de toutes
43 les directives possibles, une connaissance basique des ressources Bacula est
44 indispensable. Chaque directive contenue dans une ressource (entre accollades)
45 est compos\'e d'un mot-clef suivi du signe "='', suivi d'une ou plusieurs
46 valeurs. Le mot clef doit \^etre l'un de ceux connus par Bacula, et peut
47 comporter des caract\`eres majuscules et minuscules ainsi que des espaces.
49 Chaque d\'efinition de ressource DOIT comporter la directive Name, et peut
50 optionnellement comporter la directive Description. La directive Name est
51 utilis\'ee pour identifier de fa{\c c}on unique la ressource. La directive
52 Description sera utilis\'e lors de l'affichage pour offrir une identification
53 plus ais\'ee de la ressource. Par exemple :
59 Description = "Main Bacula Director"
60 WorkingDirectory = "$HOME/bacula/bin/working"
65 D\'efinit la ressource Director avec le nom "MyDir'' et le r\'epertoire de
66 travail \$HOME/bacula/bin/working. En g\'en\'eral, si vous voulez utiliser des
67 espaces dans le nom \`a droite du signe "='', vous devez l'entourer de
68 doubles quotes. Sinon, les quotes ne sont g\'en\'eralement pas requises car
69 une fois d\'efinies, les cha{\^\i}nes quot\'ees et non quot\'ees sont toutes
73 \subsubsection*{Commentaires}
74 \index[general]{Commentaires }
75 \addcontentsline{toc}{subsubsection}{Commentaires}
77 Lors de la lecture d'un fichier de configuration, les lignes blanches sont
78 ignor\'ees, et tout ce qui suit le caract\`ere di\`ese (\#) jusqu'\`a la fin
79 de la ligne est consid\'er\'e comme commentaire. Un point virgule (;) indique
80 la fin logique d'une ligne et tout ce qui suit le point virgule est
81 consid\'er\'e comme le param\`etre suivant. Un param\`etre qui appara{\^\i}t
82 seul sur une ligne ne n\'ecessite pas de point virgule, vous ne verrez donc
83 pas beaucoup de points virgule dans les exemples de ce manuel.
86 \subsubsection*{Casse et espaces}
87 \index[general]{Espaces!Casse et }
88 \index[general]{Casse et espaces }
89 \addcontentsline{toc}{subsubsection}{Casse et espaces}
91 La casse (majuscules/minuscules) et les espaces sont totalement ignor\'ees
92 dans les mots-clef des directives des ressources (la partie \`a gauche du
95 A l'int\'erieur des mots-clef (\`a gauche du signe "=''), les espaces ne sont
96 pas significatives. Ainsi, les mots-clef : {\bf name}, {\bf Name}, et {\bf N a
97 m e} sont tous identiques.
99 Les espaces apr\`es le signe "='' et avant le premier caract\`ere de la
100 valeur son ignor\'ees.
102 En g\'en\'eral, les espaces \`a l'int\'erieur d'une valeur sont significatives
103 (non ignor\'ees), et si la valeur est un nom, vous devez l'encadrer de doubles
104 quotes pour que l'espace soit accept\'ee. Les noms peuvent contenir jusqu'\`a
105 127 caract\`eres. Actuellement, un nom peut contenir n'importe quel
106 caract\`ere ASCII. A l'int\'erieur d'une cha{\^\i}ne quot\'ee, tout
107 caract\`ere pr\'ec\'ed\'e d'un backslash (\textbackslash{}) est pris tel quel
108 (utile pour ins\'erer des backslashes et doubles quotes (")).
110 Veuillez cependant noter que les noms de ressource Bacula ainsi que certains
111 autres noms seront s\'ev\`erement limit\'es dans l'avenir pour ne plus
112 autoriser que les lettres (y compris accentu\'ees ISO), nombres, et une
113 poign\'ee de caract\`eres sp\'eciaux (espaces, underscores, ...). Tous les
114 autres carat\`eres et ponctuations seront prohib\'es.
117 \subsubsection*{Inclure d'autres fichiers de configuration}
118 \index[general]{Configuration!Inclure d'autres fichiers de }
119 \index[general]{Inclure d'autres fichiers de configuration }
120 \addcontentsline{toc}{subsubsection}{Inclure d'autres fichiers de
123 Si vous souhaitez \'eclater votre fichier de configuration en fichiers plus
124 petits, l'inclusion est possible avec la syntaxe @{\bf NomDeFichier} o\`u {\bf
125 nom de fichier} est le chemin absolu vers un le fichier \`a inclure. Toute
126 donn\'ee primitive peut \^etre remplac\'ee par une sp\'ecification
127 @NomDeFichier. Par exemple
129 Director \{ Name=@xxx est valide et substituera le fichier xxx \`a @xxx, mais
130 Director \{ Name@xxx = something n'est pas valide puisque @xxx appara{\^\i}t
131 au milieu d'un (???mot clef/directive/...???)
134 \subsubsection*{Types de donn\'ees primitives reconnus}
135 \index[general]{Types de donn\'ees primitives reconnus }
136 \index[general]{Reconnus!Types de donn\'ees primitives }
137 \addcontentsline{toc}{subsubsection}{Types de donn\'ees primitives reconnus}
139 Lorsqu'il parcourt les enregistrements de ressource, Bacula classe les
140 donn\'ees selon les types enum\'er\'es ci-dessous. En premi\`ere lecture,
141 cette liste peut vous para{\^\i}tre accablante, mais en r\'ealit\'e, tout y
142 est d'une logique \'el\'egante et directe.
147 \index[console]{name }
148 Un mot-clef ou un nom constitu\'e de caract\`eres alphanum\'eriques, incluant
149 le trait d'union, underscore et dollar. Le premier caract\`ere d'un {\bf name}
150 doit \^etre une lettre. La longueur d'un {\bf name} est actuellement limit\'ee
151 \`a 127 caract\`eres. Typiquement, les mots-clef appara{\^\i}ssent \`a gauche
152 d'un signe ''=". Les mots-clef ne peuvent \^etre quot\'es.
155 \index[console]{name-string }
156 Une {\bf name-string} est similaire \`a un {\bf name} except\'e qu'elle peut
157 \^etre quot\'ee et ainsi contenir des caract\`eres suppl\'ementaires. La
158 longueur des {\bf name-strings} est limit\'ee \`a 127 caract\`eres.
159 Typiquement, on les utilise \`a droite d'un signe ''=", (i.e. ce sont les
160 valeurs \`a associer aux mots-clef).
163 \index[console]{string }
164 Une cha{\^\i}ne quot\'ee contenant potentiellement n'importe quel caract\`ere,
165 y compris les espaces, ou une cha{\^\i}ne non quot\'ee. Une {\bf string} peut
166 avoir une longueur quelconque. Typiquement, les {\bf strings} sont les
167 valeurs qui correspondent aux noms de fichiers, r\'epertoires, ou noms de
168 commandes syst\`eme. Un {\it Backslash} (\textbackslash{}) change le prochain
169 caract\`ere en lui m\^eme, de sorte que pour inclure une double quote dans une
170 cha{\^\i}ne, vous devez la pr\'eceder d'un {\it Backslash}. Il en va de
171 m\^eme pour inclure un {\it Backslash}.
174 \index[dir]{directory }
175 Un {\bf directory} (R\'epertoire) est une cha{\^\i}ne, quot\'ee ou non. Un
176 {\bf directory} est transmis \`a votre shell standard pour expansion lorsqu'il
177 est scann\'e. Ainsi, des constructions telles que {\bf \$HOME} sont
178 interpr\'et\'ees correctement.
181 \index[dir]{password }
182 Il s'agit d'un mot de passe Bacula. Il est stock\'e en interne sous un format
186 \index[dir]{integer }
187 Une valeur enti\`ere relative (positive ou n\'egative) sur 32 bits.
189 \item [positive integer]
190 \index[dir]{positive integer }
191 Une valeur enti\`ere positive sur 32 bits.
194 \index[dir]{long integer }
195 Une valeur enti\`ere sur 64 bits. Typiquement, ce sont les valeurs telles que
196 le nombre de bytes, qui peuvent d\'epasser 4 milliards et ainsi n\'ecessitent
197 une valeur sur 64 bits.
200 \index[dir]{yes or no }
201 Soit {\bf yes}, soit {\bf no}.
207 Une taille specifi\'ee en bytes. Typiquement, il s'agit d'une entr\'ee au
208 format scientifique (avec virgule flottante) suivie d'un modificateur
209 optionnel. L'entr\'ee est stock\'ee en tant qu'entier sur 64 bits. Si un
210 modificateur est sp\'ecifi\'e, il doit suivre imm\'ediatement la valeur, sans
211 espace. Les modificateurs suivants sont reconnus:
222 1 048 576 (megabytes)
225 1 000 000 (megabytes)
228 1 073 741 824 (gigabytes)
231 1 000 000 000 (gigabytes)
238 Une heure, ou une dur\'ee sp\'ecifi\'ee en secondes. Une valeur {\bf time} est
239 stock\'ee en interne en tant qu'entier sur 64 bits, mais il est sp\'ecifi\'e
240 en deux parties: un nombre et un modificateur. Le nombre peut \^etre un entier
241 ou un nombre \`a virgule flottante. S'il est sp\'ecifi\'e en virgule
242 flottante, il sera arrondi \`a l'entier le plus proche. Le modificateur est
243 obligatoire et suit le nombre avec ou sans espace intercal\'ee. Les
244 modificateurs suivants sont reconnus:
249 \index[dir]{seconds }
253 \index[dir]{minutes }
254 minutes (60 secondes)
258 heures (3600 secondes)
262 jours (3600*24 secondes)
266 semaines (3600*24*7 secondes)
270 mois (3600*24*30 secondes)
273 \index[dir]{quarters }
274 trimestres (3600*24*91 secondes)
278 ann\'ees (3600*24*365 secondes)
281 Toute abbr\'eviation des ces modificateurs est aussi autoris\'ee (i.e. {\bf
282 seconds} peut \^etre sp\'ecifi\'e par {\bf sec} ou {\bf s}. Une
283 sp\'ecification {\bf m} sera interpr\'et\'ee en tant que mois.
285 La sp\'ecification d'une dur\'ee peut comporter autant de couples
286 nombre/modificateur que vous le souhaitez. Par exemple:
290 1 week 2 days 3 hours 10 mins
291 1 month 2 days 30 sec
296 sont des sp\'ecifications valides (\`a partir de la version 1.35.1).
298 Note! Dans les versions de Bacula ant\'erieures \`a 1.31, le modificateur
299 \'etait optionnel. Il est d\'esormais obligatoire.
304 \subsection*{Types de Ressources}
305 \index[general]{Types de Ressources }
306 \index[general]{Ressources!Types de }
307 \addcontentsline{toc}{subsection}{Types de Ressources}
309 La table suivante \'enum\`ere tous les types de ressource de la version
310 courante de Bacula. Elle montre quelle ressource doit \^etre d\'efinie pour
311 chaque service ({\it daemon}). Les fichiers de configuration par d\'efaut
312 contiennent au moins un exemple de chaque ressource permise, aussi ne soyez
313 pas angoiss\'e \`a l'id\'ee d'avoir \`a cr\'eer toutes ces directives {\it ex
316 \begin{longtable}{|l|l|l|l|l|}
318 \multicolumn{1}{|c| }{\bf Resource } & \multicolumn{1}{c| }{\bf Director } &
319 \multicolumn{1}{c| }{\bf Client } & \multicolumn{1}{c| }{\bf Storage } &
320 \multicolumn{1}{c| }{\bf Console } \\
322 {Autochanger } & {No } & {No } & {Yes } & {No } \\
325 {Catalog } & {Oui } & {Non } & {Non } & {Non } \\
327 {Client } & {Oui } & {Oui } & {Non } & {Non } \\
329 {Console } & {Oui } & {Non } & {Non } & {Oui } \\
331 {Device } & {Non } & {Non } & {Oui } & {Non } \\
333 {Director } & {Oui } & {Oui } & {Oui } & {Oui } \\
335 {FileSet } & {Oui } & {Non } & {Non } & {Non } \\
337 {Job } & {Oui } & {Non } & {Non } & {Non } \\
339 {JobDefs } & {Oui } & {Non } & {Non } & {Non } \\
341 {Message } & {Oui } & {Oui } & {Oui } & {Non } \\
343 {Pool } & {Oui } & {Non } & {Non } & {Non } \\
345 {Schedule } & {Oui } & {Non } & {Non } & {Non } \\
347 {Storage } & {Oui } & {Non } & {Oui } & {Non }
352 \subsection*{Noms, mots de passe et autorisations}
354 \index[general]{Autorisations!Noms mots de passe et }
355 \index[general]{Noms, mots de passe et autorisations }
356 \index[general]{Mots de passe}
357 \addcontentsline{toc}{section}{Noms, mots de passe et autorisations}
359 Pour qu'un {\it daemon} puisse en contacter un autre, il lui faut
360 s'authentifier avec un mot de passe. Dans la plupart des cas, le mot de passe
361 est associ\'e \`a un nom particulier, de sorte que nom et mot de passe doivent
364 Les fichiers de configuration par d\'efaut sont automatiquement d\'efinis avec
365 des autorisations correctes et des mots de passe al\'eatoires. Si vous
366 modifiez ces fichiers, vous devrez \^etre attentif \`a leur coh\'erence.
368 Voici un sch\'ema des correspondances que doivent respecter les couples
369 ''nom/mot de passe" des diff\'erents fichiers de configurations.
371 \includegraphics{./Conf-Diagram.eps}
373 Dans la colonne de gauche, vous trouverez les ressources Director, Storage et
374 Client, avec leurs noms et mots de passe -- ils sont tous dans le fichier {\bf
375 bacula-dir.conf}. Dans la colonne de droite figurent les valeurs
376 correspondantes dans les fichiers de configuration de la Console, du Storage
377 Daemon (SD) et du File Daemon (FD).
379 Veuillez noter que l'adresse {\bf fd-sd}, qui appara{\^\i}t dans la ressource
380 Storage du Director, pr\'ec\'ed\'ee d'une at\'erisque est transmise au File
381 Daemon sous forme symbolique. Le File Daemon la r\'esout alors en une adresse
382 IP. Pour cette raison, vous devez utiliser soit une adresse IP, soit une
383 adresse pleinement qualifi\'ee. Une adresse telle que {\bf localhost},
384 n'\'etant pas pleinement qualifi\'ee, sera r\'esolue par le File Daemon en
385 l'h\^ote local du File Daemon, ce qui n'est probablement pas le r\'esultat
386 d\'esir\'e. Le mot de passe utilis\'e par le File Daemon pour autoriser la
387 communication avec le Storage Daemon est temporaire et unique pour chaque {\it
388 job}. Il n'est sp\'ecifi\'e dans aucun fichier de configuration.
390 \subsection*{Informations d\'etaill\'ees sur chaque {\it daemon}}
391 \index[general]{Daemon!Informations d\'etaill\'ees sur chaque }
392 \index[general]{Informations d\'etaill\'ees sur chaque daemon }
393 \addcontentsline{toc}{subsection}{Informations d\'etaill\'ees sur chaque
396 Les d\'etails de chaque ressource et des directives permises sont d\'ecrits
397 dans les chapitres suivants.
399 Les fichiers de configuration suivants doivent \^etre d\'efinis:
403 \ilink{Console}{_ChapterStart36} -- Pour d\'efinir les
404 ressources pour le programme Console (interface utilisateur avec le Director).
405 Ce fichier d\'efinit quels sont les Directors disponibles avec lesquels vous
408 \ilink{Director}{_ChapterStart40} -- Pour d\'efinir les ressources
409 n\'ecessaires au Director. Vous y d\'efinissez tous les Clients et Storage
410 Daemons que vous utilisez.
412 \ilink{Client}{_ChapterStart25} -- Pour d\'efinir les ressources
413 de chaque client \`a sauvegarder. Vous aurez un fichier de ressources Client
414 pour chacune des machine qui ex\'ecute un File Daemon.
416 \ilink{Storage}{_ChapterStart31} -- Pour d\'efinir les ressources
417 utilis\'ees par chaque Storage Daemon. En principe, vous aurez un seul
418 Storage Daemon qui contr\^olera votre (vos) lecteur(s). Quoi qu'il en soit, si
419 vous avez des lecteurs sur plusieurs machines, vous aurez au moins un Storage