]> git.sur5r.net Git - bacula/docs/blob - docs/manual-fr/dirdconf.tex
Traduction de autochangers.tex et consoleconf.tex. corrections sur les autres fichiers.
[bacula/docs] / docs / manual-fr / dirdconf.tex
1 %%
2 %%
3
4 \section*{Configurer le Director}
5 \label{_ChapterStart40}
6 \index[general]{Director!Configurer le}
7 \index[general]{Configurer le Director}
8 \addcontentsline{toc}{section}{Configurer le Director}
9
10 Parmi tous les fichiers de configuration requis pour ex\'ecuter {\bf Bacula},
11 celui du Director est le plus compliqu\'e, et c'est celui que vous modifierez
12 le plus souvent, en ajoutant des clients ou en modifiant les FileSets. 
13
14 Pour une discussion g\'en\'erale concernant les fichiers et ressources ainsi
15 que les types de donn\'ees reconnus par {\bf Bacula}, veuillez consulter le
16 chapitre 
17 \ilink{Configuration}{_ChapterStart16} de ce manuel. 
18
19 \subsection*{Les types de ressources du Director}
20 \index[general]{Les types de ressources du Director}
21 \index[general]{Director!Les types de ressources du}
22 \addcontentsline{toc}{subsection}{Les types de ressources du Director}
23
24 Les types de ressources du Director sont : 
25
26 Job, JobDefs, Client, Storage, Catalog, Schedule, FileSet, Pool, Director, et
27 Messages. Nous les pr\'esentons ici dans l'ordre le plus logique (relativement
28 au fichier de configuration du Director) : 
29
30 \begin{itemize}
31 \item 
32    \ilink{Director}{DirectorResource4} -- Pour d\'efinir le nom du
33    Director et son  mot de passe pour l'authentification du programme Console. Il
34    ne doit y avoir qu'une seule  d\'efinition de ressource Director dans le
35    fichier de configuration.  Si vous avez soit {\bf /dev/random} soit {\bf bc}
36    sur votre machine, Bacula g\'en\`erera  un mot de passe al\'eatoire lors du
37    processus de configuration, sinon, il sera laiss\'e blanc. 
38 \item 
39    \ilink{Job}{JobResource} -- Pour d\'efinir les Jobs de types
40    sauvegarde et restauration,  et pour lier les ressources Client, FileSet et
41 Schedules \`a utiliser conjointement pour chaque Job. 
42 \item 
43    \ilink{JobDefs}{JobDefsResource} -- Ressource optionnelle destin\'ee \`a
44    fournir des valeurs par d\'efaut  pour les ressources Job. 
45 \item 
46    \ilink{Schedule}{ScheduleResource} -- Pour d\'efinir le moment
47    o\`u un Job doit \^etre lanc\'e  automatiquement par le {\it scheduler}
48 interne de Bacula. 
49 \item 
50    \ilink{FileSet}{FileSetResource} -- Pour d\'efinir l'ensemble des
51    fichiers \`a sauvegarder  pour chaque client. 
52 \item 
53    \ilink{Client}{ClientResource2} -- Pour d\'efinir quel Client est
54    \`a sauvegarder. 
55 \item 
56    \ilink{Storage}{StorageResource2} -- Pour d\'efinir sur quel
57    p\'eriph\'erique physique les  volumes seront mont\'es.  
58 \item 
59    \ilink{Pool}{PoolResource} -- Pour d\'efinir quel le pool de volumes
60    qui peut \^etre  utilis\'e pour un Job donn\'e 
61 \item 
62    \ilink{Catalog}{CatalogResource} -- Pour d\'efinir la base de
63    donn\'ees o\`u conserver les listes  des fichiers sauvegard\'es et des volumes
64 o\`u ils ont \'et\'e sauvegard\'es.  
65 \item 
66    \ilink{Messages}{_ChapterStart15} -- Pour d\'efinir les
67    destinataires (ou les fichiers de logs) des messages d'erreur et 
68 d'information.  
69 \end{itemize}
70  
71 \subsection*{La ressource Director}
72 \label{DirectorResource4}
73 \index[general]{Director!La ressource}
74 \index[general]{La ressource Director}
75 \addcontentsline{toc}{subsection}{La ressource Director}
76
77 La ressource Director d\'efinit les attributs du Director ex\'ecut\'e sur le
78 r\'eseau. Dans l'impl\'ementation actuelle, il n'y a qu'une ressource
79 Director, mais la r\'ealisation finale contiendra plusieurs Directors pour
80 maintenir la redondance de la base des indexes et m\'edia. 
81
82 \begin{description}
83
84 \item [Director]
85    \index[dir]{Director}
86    D\'ebut de la ressource Director. Une ressource Director et une seule doit
87 \^etre d\'efinie. 
88  
89 \item [Name = \lt{}nom\gt{}]
90    \index[dir]{Name}
91    \index[dir]{Directive!Name}
92    Le nom du Director utilis\'e par l'administrateur syst\`eme. Cette directive
93 est requise  
94   
95 \item [Description = \lt{ }texte\gt{}]
96    \index[dir]{Description}
97    \index[dir]{Directive!Description}
98    Le champ texte contient une description du Director qui sera affich\'ee  dans
99 l'interface graphique. Cette directive est optionnelle.  
100  
101 \item [Password = \lt{}UA-password\gt{}]
102    \index[dir]{Password}
103    \index[dir]{Directive!Password}
104    Sp\'ecifie le mot de passe qui doit \^etre fourni par la Console Bacula par
105 d\'efaut  pour \^etre autoris\'ee. Le m\^eme mot de passe doit appara{\^\i}tre
106 dans la ressource {\bf Director} du fichier de  configuration de la console.
107 Pour plus de s\'ecurit\'e, le mot de passe ne transite jamais sur le r\'eseau,
108 l'authentification se fait via un \'echange de type {\it challenge-response}
109 d'un {\it hash code} cr\'e\'e avec le mot  de passe. Cette directive est
110 requise. Si vous disposez de {\bf /dev/random} ou {\bf bc} sur votre machine,
111 Bacula  g\'en\`erera un mot de passe al\'eatoire lors du processus
112 d'installation, sinon il sera laiss\'e blanc et vous devrez en d\'efinir  un
113 manuellement.  
114  
115 \item [Messages = \lt{}Nom-de-ressource-Messages\gt{}]
116    \index[dir]{Messages}
117    \index[dir]{Directive!Messages}
118    La ressource {\bf messages} sp\'ecifie o\`u doivent \^etre d\'elivr\'es les messages du Director 
119  qui ne sont pas associ\'es \`a un job sp\'ecifique. La plupart des messages sont relatifs
120  \`a un job et seront dirig\'es vers la ressource {\bf messages} sp\'ecifi\'ee par le job. 
121  Cependant, quelques messages peuvent \^etre g\'en\'er\'es lorsque aucun job n'est actif. 
122  Cette directive est requise.
123
124 \item [Working Directory = \lt{}R\'epertoire\gt{}]
125    \index[dir]{Working Directory}
126    \index[dir]{Directive!Working Directory}
127    Cette directive sp\'ecifie un r\'epertoire o\`u le Director peut d\'eposer ses fichiers 
128    d'\'etats. Ce r\'epertoire ne devrait \^etre utilis\'e que par Bacula, mais il peut \^etre 
129    partag\'e par d'autres {\it daemons} Bacula. Notez cependant que si ce r\'epertoire est 
130    partag\'e avec d'autres daemons Bacula, vous devez vous assurer que le nom {\bf Name} 
131    donn\'e \`a chaque daemon est unique afin d'\'eviter des collisions entre les fichiers 
132    temporaires utilis\'es. Par d\'efaut, le processus de configuration de Bacula cr\'e\'e des noms 
133    de daemons uniques en les postfixant avec -dir, -fd et -sd.
134    Les substitutions shell standard sont effectu\'ees \`a la lecture du fichier de 
135    configuration, de sorte que des valeurs telles que {\bf \$HOME} seront correctement 
136    substitu\'ees. Cette directive est requise.
137
138    Si vous avez sp\'ecifi\'e un utilisateur et/ou un groupe pour le Director lors de la 
139    configuration avec les options {\bf {-}{-}with-dir-user} et/ou {\bf {-}{-}with-dir-group} de 
140    la commande ./configure, le r\'epertoire de travail Working Directory doit appartenir 
141    doit appartenir \`a ce groupe et \`a cet utilisateur.
142
143 \item [Pid Directory = \lt{}R\'epertoire\gt{}]
144    \index[dir]{Pid Directory}
145    \index[dir]{Directive!Pid Directory}
146     Cette directive sp\'ecifie un r\'epertoire o\`u le Director peut d\'eposer son fichier
147 d'Id de processus. Ce fichier est utilis\'e pour stopper Bacula et pr\'evenir l'ex\'ecution 
148 simultan\'ee de plusieurs copies de Bacula. Les substitutions shell standard sont
149 effectu\'ees \`a la lecture du fichier de configuration, de sorte que des valeurs
150 telles que {\bf \$HOME} seront correctement substitu\'ees.
151
152 Typiquement, sur les syst\`emes Linux, vous utiliserez ici {\bf /var/run}. Si vous 
153 n'installez pas Bacula dans les r\'epertoires syst\`eme, vous pouvez utiliser le 
154 r\'epertoire de travail {\bf Working Directory} d\'efini plus haut.
155 Cette directive est requise.
156
157 \item [Scripts Directory = \lt{}Directory\gt{}]
158     \index[dir]{Scripts Directory}
159     \index[dir]{Directive!Scripts Directory}
160     Cette directive sp\'ecifie le r\'epertoire dans lequel le Director devra rechercher 
161     le script Python de d\'emarrage {\bf DirStartup.py}. Ce r\'epertoire peut \^etre 
162     partag\'e par d'autres daemons Bacula.Les substitutions shell standard sont effectu\'ees 
163     \`a la lecture du fichier de configuration, de sorte que des valeurs telles que 
164     {\bf \$HOME} seront correctement substitu\'ees. Cette directive est optionnelle.
165
166 \item [QueryFile = \lt{}Path\gt{}]
167    \index[dir]{QueryFile}
168    \index[dir]{Directive!QueryFile}
169     Cette directive sp\'ecifie un r\'epertoire et un fichier dans lequel le 
170 Director peut trouver les requ\^etes SQL pr\'e\'etablies pour la commande 
171 {\bf Query} de la Console. Les substitutions shell standard sont
172 effectu\'ees \`a la lecture du fichier de configuration, de sorte que des valeurs
173 telles que {\bf \$HOME} seront correctement substitu\'ees. 
174 Cette directive est requise.
175
176 \label{DirMaxConJobs}
177
178 \item [Maximum Concurrent Jobs = \lt{}nombre\gt{}]
179    \index[dir]{Maximum Concurrent Jobs}
180    \index[dir]{Directive!Maximum Concurrent Jobs}
181    \index[general]{Jobs Simultan\'es}
182    \index[general]{Jobs Concurrents}
183    
184    O\`u \lt{}nombre\gt{} est le nombre maximal de jobs qui peuvent \^etre ex\'ecut\'es 
185 simultan\'ement par le Director. La valeur par d\'efaut est 1, mais vous pouvez utiliser 
186 une valeur plus grande.
187 Notez que le format des volumes devient beaucoup plus compliqu\'e avec plusieurs jobs 
188 ex\'ecut\'es simultan\'ement. De ce fait, les restaurations peuvent prendre beaucoup plus 
189 de temps si Bacula doit faire le tri parmi les segments entrem\'el\'es de ces jobs. Ceci 
190 peut \^etre \'evit\'e en s'arrangeant pour que chacun des jobs ex\'ecut\'es simultan\'ement 
191 \'ecrive sur un volume distinct. Une autre possibilit\'e consiste \`a utiliser le 
192 {\it data spooling} : les donn\'ees seront d'abord "spool\'ees" sur disque 
193 simultan\'ement, ensuite les fichiers "spool" seront \'ecrits s\'equentiellement 
194 sur le volume.   
195
196 Dans certains cas, des directives telles que {\bf Maximum Volume Jobs} ne sont pas 
197 correctement synchronis\'ees avec le nombre de jobs simultan\'es, et des probl\`emes 
198 de synchronisation subtils peuvent survenir, aussi des tests minutieux sont recommand\'es.
199
200 Actuellement, il n'y a aucun param\`etre de configuration pour r\'egler ou limiter 
201 le nombre de connections par console. Un maximum de cinq connection simultan\'ees 
202 est autoris\'e.
203
204 Pour plus de d\'etails concernant l'ex\'ecution simultan\'ee de plusieurs jobs, consultez la 
205 partie \ilink{Ex\'ecution simultan\'ee de plusieurs jobs}{ConcurrentJobs} du chapitre Astuces de ce manuel.
206
207
208 \item [FD Connect Timeout = \lt{}dur\'ee\gt{}]
209    \index[dir]{FD Connect Timeout}
210    \index[dir]{Directive!FD Connect Timeout}
211    O\`u {\bf dur\'ee} est le d\'elai durant lequel le Director tente de contacter 
212    le File Daemon pour d\'emarrer un job. Une fois ce d\'elai \'ecoul\'e, le Director supprimera le job.
213    La valeur par d\'efaut est 30 minutes.
214    
215 \item [SD Connect Timeout = \lt{}dur\'ee\gt{}]
216    \index[dir]{SD Connect Timeout}
217    \index[dir]{Directive!SD Connect Timeout}
218    O\`u {\bf dur\'ee} est le d\'elai durant lequel le Director tente de contacter 
219    le Storage Daemon pour d\'emarrer un job. Une fois ce d\'elai \'ecoul\'e, le Director supprimera le job.
220    La valeur par d\'efaut est 30 minutes.
221
222 \item [DirAddresses = \lt{}Sp\'ecification-adresses-IP\gt{}]
223    \index[dir]{DirAddresses}
224    \index[dir]{Directive!DirAddresses}
225    Sp\'ecifie les ports et adresses sur lesquels le Director se met en attente de 
226    connections de Consoles Bacula. La meilleure explication est sans doute un exemple :
227
228 \footnotesize
229 \begin{verbatim}
230  DirAddresses  = { ip = {
231         addr = 1.2.3.4; port = 1205;}
232     ipv4 = {
233         addr = 1.2.3.4; port = http;}
234     ipv6 = {
235         addr = 1.2.3.4;
236         port = 1205;
237     }
238     ip = {
239         addr = 1.2.3.4
240         port = 1205
241     }
242     ip = {
243         addr = 1.2.3.4
244     }
245     ip = {
246         addr = 201:220:222::2
247     }
248     ip = {
249         addr = bluedot.thun.net
250     }
251  }
252 \end{verbatim}
253 \normalsize
254
255 o\`u "ip", "ip4", "ip6", "addr", et "port sont les mots clef. Notez que 
256 les adresses peuvent \^etre sp\'ecifi\'ees sous forme de quadruplets point\'es, ou 
257 suivant la notation \`a doubles points IPv6, ou encore sous forme de nom symbolique 
258 (seulement pour la sp\'ecification ip). D'autre part, le port peut \^etre sp\'ecifi\'e 
259 par un nombre, ou par une valeur mn\'emonique du fichier /etc/services. Si un port 
260 n'est pas pr\'ecis\'e, celui par d\'efaut sera utilis\'e. Si une section ip est sp\'ecifi\'ee, 
261 la r\'esolution peut \^etre faite soit par IPv4, soit par IPv6. Si ip4 est sp\'ecifi\'e, 
262 seules les r\'esolutions IPv4 seront permises. Il en va de m\^eme avec ip6.
263
264 Notez que si vous utilisez la directive DirAddresses, vous ne devez utiliser ni la directive 
265 DirPort, ni la directive DirAddress dans la m\^eme ressource.
266
267 \item [DIRport = \lt{}num\'ero-de-port\gt{}]
268    \index[dir]{DIRport}
269    \index[dir]{Directive!DIRport}
270    Sp\'ecifie le port (un entier positif) sur lequel le Director est \`a l'\'ecoute 
271 de connections de Consoles Bacula. Ce m\^eme num\'ero de port doit \^etre sp\'ecifi\'e 
272 dans la ressource Director du fichier de configuration de la console. La 
273 valeur par d\'efaut est 9101, aussi, il n'est en principe pas n\'ecessaire 
274 de renseigner cette directive. Elle n'est pas requise si vous sp\'ecifiez des 
275 DirAdresses.
276
277 \item [DirAddress = \lt{}Adresse-IP\gt{}]
278    \index[dir]{DirAddress}
279    \index[dir]{Directive!DirAddress}
280    Cette directive est optionnelle. Lorsqu'elle est sp\'ecifi\'ee, le Director n'accepte 
281 de connections Console que de l'adresse sp\'ecifi\'ee {\bf Adresse-IP}, qui peut \^etre 
282 soit un nom de domaine, soit une adresse IP au format quadruplet point\'e ou cha\^ine quot\'ee.  
283 Si cette directive n'est pas sp\'ecifi\'ee, le Director acceptera des connections de Console 
284 de toute adresse valide. Notez que contrairement \`a la sp\'ecification DirAdresses d\'ecrite 
285 plus haut, cette directive ne permet de sp\'ecifier qu'une seule adresse. Cette directive 
286 n'est pas requise si vous utilisez la directive DirAdresses.
287
288 \end{description}
289
290 Voici un exemple d'une ressource Director valide :
291
292 \footnotesize
293 \begin{verbatim}
294 Director {
295   Name = HeadMan
296   WorkingDirectory = "$HOME/bacula/bin/working"
297   Password = UA_password
298   PidDirectory = "$HOME/bacula/bin/working"
299   QueryFile = "$HOME/bacula/bin/query.sql"
300   Messages = Standard
301 }
302 \end{verbatim}
303 \normalsize
304
305 \subsection*{La ressource Job}
306 \label{JobResource}
307 \index[general]{Resource!Job }
308 \index[general]{Job Resource }
309 \addcontentsline{toc}{subsection}{Job Resource}
310
311 La ressource Job d\'efinit un Job (sauvegarde, restauration,...) que Bacula doit 
312 ex\'ecuter. Chaque d\'efinition de ressource Job contient le nom d'un client, la 
313 liste des \'el\'ements \`a sauvegarder (FileSet), la planification (Schedule) pour 
314 ce Job, le lieu o\`u sauvegarder ces donn\'ees (Storage Device) et quel groupe de 
315 media utiliser (Pool). En effet, chaque ressource Job doit r\'epondre aux questions : 
316 "Quoi ?", "O\`u ?", "Quand ?" et "Comment ?" soit, respectivement Fileset, Storage, 
317 Schedule, Type et Niveau (Sauvegarde/Restauration - Full/Differentielle/Incr\'ementale).
318 Notez que le FileSet doit \^etre sp\'ecifi\'e lors des restaurations pour des raisons 
319 historiques, mais il n'est plus utilis\'e.
320
321 Un seul type ({\bf Backup}, {\bf Restore}, ...) peut \^etre sp\'ecifi\'e pour un Job donn\'e. 
322 Si vous voulez sauvegarder plusieurs FileSets sur le m\^eme client, vous devez d\'efinir un 
323 Job pour chacun d'entre eux.
324
325 \begin{description}
326
327 \item [Job]
328    \index[dir]{Job}
329    \index[dir]{Directive!Job}
330    D\'ebut de la ressource Job. Il faut d\'efinir au moins une ressource Job.
331
332 \item [Name = \lt{}name\gt{}]
333    \index[dir]{Name}
334     \index[dir]{Directive!Name}
335    Le nom du Job. Ce nom peut \^etre utilis\'e avec la commande {\bf Run} du 
336    programme Console pour lancer un Job. Si le nom contient des espaces, 
337    il doit \^etre plac\'e entre quotes. C'est g\'en\'eralement une bonne id\'ee de 
338    nommer vos Jobs du nom du Client qu'ils sauvegardent, afin de les 
339    identifier ais\'ement.
340
341    Lors de l'ex\'ecution d'un Job, son nom unique est compos\'e du nom que vous avez 
342    sp\'ecifi\'e ici suffix\'e avec la date et l'heure de sa planification.
343    Cette directive est requise.
344
345 \item [Enabled =  \lt{}yes|no\gt{}]
346    \index[dir]{Enable}
347    \index[dir]{Directive!Enable}
348    Cette directive permet d'activer ou d\'esactiver l'ex\'ecution automatique d'un job 
349    par le planificateur.
350
351 \item [Type = \lt{}job-type\gt{}]
352    \index[dir]{Type}
353    \index[dir]{Directive!Type}
354    La directive {\bf Type} sp\'ecifie le type de Job, qui peut \^etre l'un des 
355    suivants : {\bf Backup},  {\bf Restore}, {\bf Verify}, ou {\bf Admin}. 
356    Cette directive est requise. Pour chaque type de Job, il existe diff\'erents 
357    niveaux, qui seront d\'ecrits dans les prochains paragraphes.
358
359 \begin{description}
360
361 \item [Backup]
362    \index[dir]{Backup}
363    D\'efinit une sauvegarde. En principe, vous aurez au moins un job de type Backup 
364    par client sauvegard\'e. A moins que vous ne d\'esactiviez le catalogue, la 
365    plupart des donn\'ees et statistiques concernant les fichiers sauvegard\'ees 
366    seront \'ecrites dans le catalogue.
367
368 \item [Restore]
369    \index[dir]{Restore}
370    D\'efinit une restauration. En principe, vous ne cr\'eerez qu'un seul job de ce 
371    type, que vous utiliserez comme un prototype  que vous modifierez \`a l'aide 
372    de la console lorsque vous devrez restaurer. Bien que certaines informations 
373    basiques soient conserv\'ees dans le catalogue lors de restaurations, leur 
374    quantit\'e est infime en regard des informations stock\'ees pour une sauvegarde -- 
375    par exemple, aucune entr\'ee de nom de fichier n'est g\'en\'er\'ee, puisqu'aucun fichier 
376    n'est sauvegard\'e.
377
378 \item [Verify]
379    \index[dir]{Verify}
380    D\'efinit un Job de type Verify. Le Jobs de type {\bf verify}  permettent de 
381    comparer le catalogue au syst\`eme de fichiers ou \`a ce qui a \'et\'e sauvegard\'e. 
382    Vous pouvez l'utiliser pour vous assurer qu'une cartouche de donn\'ees est 
383    lisible, mais aussi comme un syst\`eme de d\'etection d'intrusion \`a la fa\ccon de 
384    Tripwire.
385
386 \item [Admin]
387    \index[dir]{Admin}
388    D\'efinit un Job de type Admin. Un  {\bf Admin} peut s'utiliser pour "\'elaguer" 
389    p\'eriodiquement le catalogue, si vous ne souhaitez pas que ceci soit fait \`a la fin 
390    de chaque sauvegarde. Bien que les Jobs de type admin soient enregistr\'es dans le 
391    catalogue, la quantit\'e de donn\'ees g\'en\'er\'ee est infime.
392    
393 \end{description}
394
395 \label{Level}
396
397 \item [Level = \lt{}job-level\gt{}]
398    \index[dir]{Directive!Level}
399    \index[dir]{Level}
400    La directive Level sp\'ecifie le niveau d'ex\'ecutiondu job  par d\'efaut. 
401    Chaque type de job a son propre jeu de niveaux qui peuvent \^etre sp\'ecifi\'es. 
402    Le niveau d'ex\'ecution est en g\'en\'eral surcharg\'e par une valeur diff\'erente 
403    sp\'ecifi\'ee dans la ressource {\bf Schedule}. Cette directive n'est pas 
404    requise mais doit \^etre sp\'ecifi\'ee soit ici, soit en tant que surcharge 
405    dans la ressource {\bf Schedule}.
406    
407 Pour un job de type {\bf Backup} le niveau doit \^etre l'un des suivants : 
408
409 \begin{description}
410
411 \item [Full]
412    \index[dir]{Full}
413    Tous les fichiers du FileSet, qu'ils aient \'et\'e modifi\'es ou non.
414
415 \item [Incremental]
416    \index[dir]{Incremental}
417    Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde valide du FileSet 
418    sp\'ecifi\'e pour le m\^eme job. Si le Director ne peut trouver une sauvegarde Full ant\'erieure, 
419    le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le Director 
420    recherche une Full valide dans le catalogue, il recherche un job avec 
421    les caract\'eristiques suivantes :
422
423 \begin{itemize}
424 \item le m\^eme nom de job ; 
425 \item le m\^eme nom de client ;  
426 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle 
427       que l'ajout ou la suppression de fichiers dans les sections Include ou 
428       Exclude constitue un changement de FileSet).
429 \item le niveau requis (Full, Differential ou Incremental)
430 \item le job s'est termin\'e normalement, c'est \`a dire un qu'il ne s'est pas termin\'e 
431       en \'echec, et n'a pas \'et\'e effac\'e.
432 \end{itemize}
433
434 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director 
435 augmentera la sauvegarde incr\'ementale en une sauvegarde Full. Dans le cas 
436 contraire, la sauvegarde incr\'ementale sera effectu\'ee normalement.
437
438 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une 
439 incr\'ementale par comparaison de l'heure de d\'emarrage du Job pr\'ec\'edent 
440 (Full, Diff\'erentiel ou Incr\'emental) avec les dates de derni\`ere modification 
441 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier 
442 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier 
443 sera sauvegard\'e.
444
445 Veuillez noter que certains logiciels anti-virus peuvent modifier la date 
446 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie 
447 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il 
448 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder 
449 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le 
450 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant 
451 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez 
452 leurs manuels.
453
454 Lorsque Bacula effectue une sauvegarde incr\'ementale, tous les fichiers modifi\'es 
455 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis 
456 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez 
457 une restauration \`a partir de sauvegardes incr\'ementales (et de la Full associ\'ee), 
458 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers 
459 n'appara\^itront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde 
460 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une 
461 incr\'ementale ralentirait fortement les sauvegardes incr\'ementales. Il n'est 
462 actuellement pas impl\'ement\'e dans Bacula.
463
464 De plus, si vous d\'eplacez un r\'epertoire plut\^ot que de le copier, les fichiers qu'il 
465 contient voient leurs dates de derni\`ere modification (st\_mtime) et de dernier acc\`es 
466 (st\_ctime) inchang\'es. Par cons\'equent, ces fichiers ne seront probablement 
467 sauvegard\'es par aucune incr\'ementale ou diff\'erentielle, puisque ces derni\`eres 
468 ne se r\'ef\`erent qu'\`a ces indicateurs. Aussi, il est pr\'ef\'erable de copier un dossier 
469 avant de supprimer l'original plut\^ot que de le d\'eplacer, si vous voulez qu'il soit 
470 correctement sauvegard\'e.
471
472 \item [Differential]
473    \index[dir]{Differential}
474    Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde Full valide du FileSet
475    sp\'ecifi\'e pour le m\^eme job. Si le Director ne peut trouver une sauvegarde Full 
476    ant\'erieure, le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le 
477    Director recherche une Full valide dans le catalogue, il recherche un job avec 
478    les caract\'eristiques suivantes :
479
480 \begin{itemize}
481 \item le m\^eme nom de job ;
482 \item le m\^eme nom de client ;
483 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle
484       que l'ajout ou la suppression de fichiers dans les sections Include ou
485       Exclude constitue un changement de FileSet).
486 \item le Job \'etait une sauvegarde FULL
487 \item le Job s'est termin\'e normalement, c'est \`a dire qu'il ne s'est pas termin\'e
488       en \'echec, et n'a pas \'et\'e effac\'e.
489 \end{itemize}
490
491 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director
492 augmentera la sauvegarde diff\'erentielle en une sauvegarde Full. Dans le cas
493 contraire, la sauvegarde diff\'erentielle sera effectu\'ee normalement.
494
495 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une
496 diff\'erentielle par comparaison de l'heure de d\'emarrage de la derni\`ere 
497 sauvegarde Full avec les dates de derni\`ere modification
498 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier
499 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier
500 sera sauvegard\'e. La date de d\'emarrage utilis\'ee est affich\'e apr\`es le {\bf Since} 
501 du rapport de Job. Dans de rares cas, certains fichiers sont sauvegard\'es deux fois 
502 \`a cause de l'utilisation de la date de d\'emarrage de la sauvegarde pr\'ec\'edente, 
503 mais ceci assure qu'aucun changement n'est perdu. Comme pour les incr\'ementales, 
504 vous devriez vous assurer que les horloges de votre serveur Bacula et de vos clients 
505 sont synchronis\'ees, ou aussi proches que possible, pour \'eviter le risque d'omission 
506 d'un fichier. Notez qu'\`a partir de la version 1.33, Bacula effectue automatiquement 
507 ces ajustements de sorte que les horloges utilis\'ees par Bacula soient synchrones.
508
509 Veuillez noter que certains logiciels anti-virus peuvent modifier la date
510 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie
511 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il
512 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder
513 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le
514 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant
515 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez
516 leurs manuels.
517
518 Lorsque Bacula effectue une sauvegarde diff\'erentielle, tous les fichiers modifi\'es
519 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis
520 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez
521 une restauration \`a partir de sauvegardes diff\'erentielles (et de la Full associ\'ee),
522 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers
523 n'appara\^itront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde
524 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une
525 incr\'ementale ralentirait fortement les sauvegardes diff\'erentielles. Il n'est
526 actuellement pas impl\'ement\'e dans Bacula, mais plannifi\'e pour une future version 
527 de Bacula.
528
529 Comme not\'e ci-dessus, si vous d\'eplacez un r\'epertoire plut\^ot que de le copier, les fichiers 
530 qu'il contient voient leurs dates de derni\`ere modification (st\_mtime) et de dernier acc\`es
531 (st\_ctime) inchang\'es. Par cons\'equent, ces fichiers ne seront probablement
532 sauvegard\'es par aucune incr\'ementale ou diff\'erentielle, puisque ces derni\`eres
533 ne se r\'ef\`erent qu'\`a ces indicateurs. Aussi, il est pr\'ef\'erable de copier un dossier
534 avant de supprimer l'original plut\^ot que de le d\'eplacer, si vous voulez qu'il soit
535 correctement sauvegard\'e.
536
537 R\'eguli\`erement, quelqu'un demande \`a quoi servent les sauvegardes diff\'erentielles 
538 du moment que les incr\'ementales r\'ecup\`erent tous les fichiers modifi\'es. Il existe 
539 plusieurs r\'eponses \`a cette question, mais la plus importante \`a mes yeux est de 
540 combiner toutes les incr\'ementales et diff\'erentielles depuis la derni\`ere full en 
541 une seule diff\'erentielle. Ceci a deux effets : 1. La redondance. 2. Plus important, 
542 la r\'eduction du nombre de volumes requis pour faire une restauration en 
543 \'eliminant la n\'ecessit\'e de lire tous les volumes des pr\'ec\'edentes incr\'ementales 
544 depuis la derni\`ere full.
545
546 \end{description}
547
548 Pour un Job de type {\bf Restore}, aucun niveau ne doit \^etre sp\'ecifi\'e.  
549
550 Pour un Job de type {\bf Verify}, le niveau peut \^etre l'un des suivants :   
551
552 \begin{description}
553
554 \item [InitCatalog]
555    \index[dir]{InitCatalog}
556    Examine le {\bf FileSet} sp\'ecifi\'e et stocke les attributs de fichiers dans le 
557    catalogue. Vous pouvez vous interroger sur l'int\'er\^et d'un Job qui ne 
558    sauvegarde aucun fichier. La r\'eponse est de pouvoir utiliser Bacula comme 
559    vous utiliseriez Tripwire, en d'autres termes, ce type de Jobs vous permet 
560    de sauvegarder l'\'etat d'un ensemble de fichiers d\'efini par un {\bf FileSet} 
561    afin de pouvoir ult\'erieurement contr\^oler si rien n'a \'et\'e modifi\'e, supprim\'e ou 
562    ajout\'e. Ceci peut \^etre utilis\'e pour d\'etecter une intrusion. Typiquement, 
563    vous sp\'ecifiez un {\bf FileSet} qui contient l'ensemble des fichiers qui ne 
564    devraient pas changer (par exemple /sbin, /boot, /lib, /bin,  ...). Ensuite, 
565    vous ex\'ecutez le Job verify de niveau {\bf InitCatalog} apr\`es l'installation 
566    de votre syst\`eme, puis apr\`es chaque modification (mise \`a jour). Ensuite, 
567    lorsque vous souhaitez contr\^oler l'\'etat de votre syst\`eme de fichiers, 
568    vous utilisez un Job {\bf Verify}, {\bf level = Catalog} afin de comparer 
569    le r\'esultat de votre {\bf InitCatalog} avec l'\'etat actuel de votre syst\`eme 
570    de fichiers.
571
572 \item [Catalog]
573    \index[dir]{Catalog}
574    Compare l'\'etat actuel des fichiers et l'\'etat pr\'ec\'edemment sauvegard\'e 
575    lors d'un {\bf InitCatalog}. Toutes les anomalies sont rapport\'ees. 
576    Les objets du rapport sont d\'etermin\'es par les options {\bf verify} 
577    sp\'ecifi\'ees dans la directive {\bf Include} du {\bf FileSet} sp\'ecifi\'e 
578    (voyez la ressource {\bf FileSet} ci-dessous pour plus de d\'etails). 
579    Typiquement, cette commande sera ex\'ecut\'ee quotidiennement pour 
580    contr\^oler toute modification de votre syst\`eme de fichier.
581    
582 Attention ! Si vous ex\'ecutez deux jobs Verify Catalog simultan\'ement sur le m\^eme client, 
583 les r\'esultats seront probablement erronn\'es. En effet, Verify Catalog modifie 
584 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
585
586 \item [VolumeToCatalog]
587    \index[dir]{VolumeToCatalog}
588    Ce niveau permet de lire les attributs de fichiers \'ecrits sur le Volume 
589    lors du dernier Job. Les attributs de fichiers sont compar\'es aux valeurs 
590    sauvegard\'ees dans le catalogue et toute diff\'erence est rapport\'ee. Ceci 
591    est similaire au niveau {\bf Catalog}, sauf que ce sont les 
592    attributs des fichiers du volume plut\^ot que ceux des fichiers du disque 
593    qui sont compar\'es aux attributs sauvegard\'es dans le catalogue. Bien que 
594    les attributs et signatures (MD5 ou SHA1) soient compar\'es, les donn\'ees 
595    r\'eelles ne le sont pas (elles ne figurent pas dans le catalogue).
596
597 Attention ! Si vous ex\'ecutez deux jobs Verify VolumeToCatalog simultan\'ement sur le m\^eme client,
598 les r\'esultats seront probablement erronn\'es. En effet, Verify VolumeToCatalog modifie
599 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
600
601 \item [DiskToCatalog]
602    \index[dir]{DiskToCatalog}
603    Ce niveau permet de lire les fichiers tels qu'ils sont actuellement sur le 
604    disque et de comparer leurs attributs actuels avec ceux stock\'es dans le 
605    catalogue lors de la derni\`ere sauvegarde pour le Job sp\'ecifi\'e par la 
606    directive {\bf VerifyJob}. Ce niveau diff\`ere du niveau {\bf Catalog} 
607    d\'ecrit plus haut en ce qu'il ne se r\'ef\`ere pas \`a un Job Verify ant\'erieur, 
608    mais \`a la derni\`ere sauvegarde. Lorsque vous utilisez ce niveau , vous devez 
609    renseigner les option Verify de la section Include. Ces options d\'eterminent 
610    quels attributs seront compar\'es.
611
612 Cette commande peut se r\'ev\'eler tr\`es utile si vous avez des probl\`emes de disque 
613 car elle comparera l'\'etat actuel de votre disque avec la derni\`ere sauvegarde 
614 valide, qui peut remonter \`a plusieurs jobs.
615
616 Notez que l'impl\'ementation actuelle (1.32c) n'identifie pas les fichiers qui 
617 ont \'et\'e supprim\'es.
618 \end{description}
619
620 \item [Verify Job = \lt{}Job-Resource-Name\gt{}]
621    \index[dir]{Verify Job}
622    \index[dir]{Directive!Verify Job}
623    Si vous ex\'ecutez un job verify sans cette directive, le dernier job 
624    ex\'ecut\'e sera compar\'e avec le catalogue, ce qui signifie que votre commande 
625    verify doit succ\'eder imm\'ediatement \`a une sauvegarde. Si vous sp\'ecifiez 
626    un {\bf Verify Job}, Bacula trouvera le dernier job ex\'ecut\'e avec ce nom. 
627    Ceci vous permet d'ex\'ecuter toutes vos sauvegardes, puis d'ex\'ecuter les jobs 
628    Verify sur les sauvegardes de votre choix (le plus souvent, un {\bf VolumeToCatalog} 
629    de sorte que la cartouche qui vient juste d'\^etre \'ecrite est relue).
630    
631 \item [JobDefs = \lt{}JobDefs-Resource-Name\gt{}]
632    \index[dir]{JobDefs}
633    \index[dir]{Directive!JobDefs}
634    Si un nom de JobDef est sp\'ecifi\'e dans la d\'efinition d'un Job, toutes les valeurs 
635    d\'efinies dans la ressource JobDef concern\'ee seront utilis\'ees en tant que valeurs 
636    par d\'efaut pour le Job. Toute valeur explicitement sp\'ecifi\'ee dans la 
637    d\'efinition du Job outrepasse la valeur par d\'efaut d\'efinie par le JobDef.
638    L'utilisation de cette directive permet d'\'ecrire des ressources Job plus 
639    compactes, o\`u la majeure partie des directives sont d\'efinies dans un ou 
640    plusieurs JobDefs. C'est particuli\`erement pratique si vous avez de nombreux 
641    Jobs similaires avec des variations mineures telles que diff\'erents clients.
642    Un exemple basique de l'utilisation d'un Jobdef est fourni dans le fichier 
643    bacula-dir.conf par d\'efaut.
644
645 \item [Bootstrap = \lt{}bootstrap-file\gt{}]
646    \index[dir]{Bootstrap}
647    \index[dir]{Directive!Bootstrap}
648    La directive Bootstrap sp\'ecifie un fichier bootstrap qui, s'il est fourni, 
649    sera utilis\'e lors des restaurations et ignor\'e par tout les autres Jobs. 
650    Le fichier {\bf bootstrap} contient la liste des cartouches n\'ecessaires 
651    pour la restauration ainsi que les index des fichiers \`a restaurer 
652    (localisation sur la cartouche). Cette directive 
653    est optionnelle, et n'est utilis\'ee que pour les restaurations. De plus, 
654    elle peut \^etre modifi\'ee lorsqu'une restauration est lanc\'ee depuis la console.
655    
656 Si vous utilisez la commande {\bf Restore} dans la console pour lancer une 
657 restauration, le fichier {\bf bootstrap} sera cr\'e\'e automatiquement \`a partir des 
658 fichiers que vous avez s\'electionn\'es pour la restauration.
659
660 Pour plus de d\'etails concernant les fichiers {\bf bootstrap}, veuillez 
661 consulter le chapitre \ilink{Restaurer des fichiers avec le fichier Bootstrap}{_ChapterStart43} 
662 de ce manuel.
663
664 \label{writebootstrap}
665 \item [Write Bootstrap =  \lt{}bootstrap-file-specification\gt{}]
666    \index[dir]{Write Bootstrap}
667    \index[dir]{Directive!Write Bootstrap}
668    La directive {\bf writebootstrap} sp\'ecifie le de fichier Bootstrap o\`u Bacula 
669    \'ecrira lors de chaque sauvegarde. Ainsi, cette directive s'applique 
670    exclusivement aux jobs de type sauvegarde. Si la sauvegarde est une Full, 
671    Bacula \'ecrase le contenu du fichier sp\'ecifi\'e. Sinon, Bacula ajoute les 
672    nouveaux enregistrements Bootstrap \`a la fin du fichier.
673
674 En utilisant cette fonction, vous aurez constamment un fichier bootstrap 
675 capable de recouvrer l'\'etat le plus r\'ecent de votre syst\`eme. Le fichier 
676 bootstrap devrait \^etre \'ecrit sur un disque mont\'e sur une autre machine, de 
677 sorte que vous puissiez en disposer imm\'ediatement en cas de d\'efaillance 
678 de votre disque dur. Une alternative consiste \`a copier le fichier sur une autre 
679 machine apr\`es chaque mise \`a jour.
680
681 Si la {\bf sp\'ecification de fichier bootstrap} d\'ebute par une barre verticale (|), 
682 Bacula consid\`ere la sp\'ecification comme un nom de programme vers lequel les 
683 les enregistrement bootstrap seront redirig\'es. Ce peut \^etre, par exemple, un 
684 script qui vous envoie par e-mail les enregistrements bootstrap.
685
686 Pour plus de d\'etails sur l'utilisation de fichiers bootstrap, veuillez 
687 consulter le chapitre intitul\'e \ilink{Le Fichier Bootstrap}{_ChapterStart43} 
688 de ce manuel.
689
690
691 \item [ Client = \lt{}client-resource-name\gt{}]
692    \index[dir]{Client}
693    \index[dir]{Directive!Client}
694    La directive Client sp\'ecifie le Client (File Daemon) \`a utiliser dans le Job.
695    Le client est ex\'ecut\'e sur la machine \`a sauvegarder. Il exp\'edie les fichiers requis
696    au Storage Daemon lors des sauvegardes, et re\\ 3oit les fichiers du Storage Daemon
697    lors des restaurations. Pour plus de d\'etails, consultez la section
698    \ilink{Ressource Client}{ClientResource2} de ce chapitre. Cette deirective est requise.
699
700
701 \item [ FileSet = \lt{}FileSet-resource-name\gt{}]
702    \index[dir]{FileSet}
703    \index[dir]{FileSet}
704    La directive FileSet sp\'ecifie le FileSet \`a utiliser dans le Job concern\'e. Le
705    FileSet d\'efinit les r\'epertoires et fichiers \`a sauvegarder, ainsi que les options
706    \`a utiliser pour les sauvegarder (par exemple la compression,...). Un Job ne peut
707    contenir qu'un seul FileSet. Pour plus de d\'etails, consultez la section
708    \ilink{Ressource FileSet}{FileSetResource} de ce chapitre.
709    Cette directive est requise.
710
711 \item [ Messages = \lt{}messages-resource-name\gt{}]
712    \index[dir]{Messages}
713    \index[dir]{Directive!Messages}
714    La directive Messages d\'efinit la ressource Message qui doit \^etre utilis\'ee
715    pour le job concern\'e. Ainsi, elle d\'etermine le comment et o\`u seront
716    d\'elivr\'es les diff\'erents messages de Bacula. Par exemple, vous pouvez diriger
717    certains messages vers un fichier de logs, tandis que d'autres seront
718    envoy\'es par e-mail. Pour plus de d\'etails, consultez le chapitre
719    \ilink{Ressource Messages}{_ChapterStart15} de ce manuel. Cette directive
720    est requise.
721
722 \item [ Pool = \lt{}pool-resource-name\gt{}]
723    \index[dir]{Pool}
724    \index[dir]{Directive!Pool}
725    La directive Pool sp\'ecifie le jeu de volumes qui doit \^etre utilis\'e pour
726    sauvegarder vos donn\'ees. De nombreuses installations de Bacula
727    n'utiliseront que le pool d\'efini par d\'efaut {\bf Default}. Toutefois,
728    si vous voulez sp\'ecifier diff\'erents jeux de volumes pou diff\'erents clients
729    ou diff\'erents jobs, vous voudrez probablement utiliser les Pools.
730    Pour plus de d\'etails, consultez la section \ilink{Ressource Pool}{PoolResource}
731    de ce chapitre. Cette directive est requise
732
733 \item [ Full Backup Pool = \lt{}pool-resource-name\gt{}]
734    \index[dir]{Full Backup Pool}
735    \index[dir]{Directive!Full Backup Pool}
736    La directive {\it Full Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
737    sauvegardes Full. Cette directive outrepasse toute autre sp\'ecification
738    de Pool lors d'une sauvegarde Full. Cette directive est optionnelle.
739
740 \item [ Differential Backup Pool = \lt{}pool-resource-name\gt{}]
741    \index[dir]{Differential Backup Pool}
742    \index[dir]{Directive!Differential Backup Pool}
743    La directive {\it Differential Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
744    sauvegardes Diff\'erentielles. Cette directive outrepasse toute autre sp\'ecification
745    de Pool lors d'une sauvegarde Diff\'erentielle. Cette directive est optionnelle.
746
747 \item [ Incremental Backup Pool = \lt{}pool-resource-name\gt{}]
748    \index[dir]{Incremental Backup Pool}
749    \index[dir]{Directive!Differential Backup Pool}
750    La directive {\it Incremental Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
751    sauvegardes Incr\'ementales. Cette directive outrepasse toute autre sp\'ecification
752    de Pool lors d'une sauvegarde Incr\'ementale. Cette directive est optionnelle.
753
754 \item [ Schedule = \lt{}schedule-name\gt{}]
755    \index[dir]{Schedule}
756    \index[dir]{Directive!Schedule}
757    La directive Schedule d\'efinit la planification du job. Le {\it schedule} d\'etermine 
758    la date et l'instant o\`u le job doit \^etre lanc\'e automatiquement, et le niveau 
759    (Full, Diff\'erentiel, Incr\'emental...) du job en question. Cette directive est 
760    optionnelle. Si elle est omise, le job ne pourra \^etre ex\'ecut\'e que manuellement via 
761    la Console. Bien que vous puissiez vous contenter d'une ressource Schedule simple
762    pour tout job, vous pouvez aussi d\'efinir des ressources Schedule avec plusieurs 
763    directives {\bf Run}, afin de lancer le job \`a diff\'erentes heures. Chacune de ces 
764    directives {\bf Run} permet d'outrepasser les valeurs par d\'efaut de Level, Pool, 
765    Storage et Messages ressources. Ceci autorise une grande souplesse d'utilisation 
766    d'un simple job.
767    Pour plus de d\'etails, consultez le chapitre. 
768    \ilink{Ressource Schedule}{ScheduleResource} de ce manuel. 
769
770 \item [ Storage = \lt{}storage-resource-name\gt{}]
771    \index[dir]{Storage}
772    \index[dir]{Directive!Storage}
773    La directive Storage d\'efinit le nom du service storage que vous souhaitez 
774    utiliser pour sauvegarder les donn\'ees du FileSet. Pour plus de d\'etails, consultez le 
775    chapitre \ilink{Ressource Storage}{StorageResource2} de ce manuel.
776    Cette directive est requise.
777    
778 \item [ Max Start Delay = \lt{}time\gt{}]
779    \index[sd]{Max Start Delay}
780     \index[dir]{Directive!Max Start Delay}
781    La directive Max Start Delay sp\'ecifie le d\'elai maximal entre l'horaire 
782    planifi\'e (dans le schedule) et l'horaire effectif de d\'emarrage du job. 
783    Par exemple, un job peut \^etre programm\'e pour d\'emarrer \`a 1h, mais \^etre 
784    mis en attente \`a cause d'autres jobs en cours d'ex\'ecution. Si le 
785    Max Start Delay a \'et\'e r\'egl\'e \`a 3600, le job sera supprimm\'e s'il n'a pas 
786    d\'emarr\'e \`a 2h. Ceci peut se r\'ev\'eler utile pour, par exemple, \'eviter qu'un job 
787    s'ex\'ecute duant les heures ouvrables. La valeur par d\'efaut est 0 (pas de limite).
788
789 \item [ Max Run Time = \lt{}time\gt{}]
790    \index[sd]{Max Run Time}
791    \index[dir]{Directive!Max Run Time}
792    La directive Max Run Time sp\'ecifie le d\'elai allou\'e pour l'ex\'ecution 
793    compl\`ete d'un job depuis son lancement (pas n\'ecessairement \`a l'heure 
794    de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee 
795    depuis la version 1.33.
796
797 \item [ Max Wait Time = \lt{}time\gt{}]
798    \index[sd]{Max Wait Time}
799    \index[dir]{Directive!Max Wait Time}
800    La directive Max Wait Time sp\'ecifie le d\'elai maximum durant lequel un 
801    job peut rester bloqu\'e en attente d'une ressource (par exemple, en attente du 
802    montage d'une cartouche ou encore en attente des Storage ou File Daemon occup\'es 
803    \`a d'autres tâches) depuis son lancement (pas n\'ecessairement \`a l'heure
804    de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee
805    depuis la version 1.33. 
806    
807 \item [Incremental Max Wait Time = \lt{}time\gt{}]
808    \index[dir]{Incremental Max Wait Time}
809    \index[dir]{Directive!Incremental Max Wait Time}
810    Cette directive sp\'ecifie le temps maximum durant lequel une sauvegarde 
811    incr\'ementale peut rester bloqu\'ee en attente d'une ressource (par exemple, en 
812    attente d'une cartouche ou des File ou Storage daemons), compt\'e \`a partir 
813    du d\'emarrage du job, ({\bf pas n\'ecessairement} l'heure \`a laquelle le job 
814    a \'et\'e programm\'e). Notez que si un {\bf Max Wait Time} a \'et\'e sp\'ecifi\'e, 
815    il peut aussi s'appliquer au job.
816
817 \item [Differential Max Wait Time = \lt{}time\gt{}]
818    \index[dir]{Differential Max Wait Time}
819    \index[dir]{Directive!Differential Max Wait Time}
820    Cette directive sp\'ecifie le temps maximum durant lequel une sauvegarde
821    diff\'erentielle peut rester bloqu\'ee en attente d'une ressource (par exemple, en
822    attente d'une cartouche ou des File ou Storage daemons), compt\'e \`a partir
823    du d\'emarrage du job, ({\bf pas n\'ecessairement} l'heure \`a laquelle le job
824    a \'et\'e programm\'e). Notez que si un {\bf Max Wait Time} a \'et\'e sp\'ecifi\'e,
825    il peut aussi s'appliquer au job.
826
827 \item [Prefer Mounted Volumes = \lt{}yes|no\gt{}]
828     \index[dir]{Prefer Mounted Volumes}
829     \index[dir]{Directive!Differential Max Wait Time}
830     Si cette directive est activ\'ee (c'est le cas par d\'efaut), le Director 
831     ordonne au Storage daemon de s\'electionner de pr\'ef\'erence soit une 
832     librairie, soit un lecteur avec un volume valide d\'ej\`a mont\'e, plut\^ot qu'un 
833     lecteur pas pr\`et. Si aucun lecteur n'est pr\`et, c'est le premier lecteur 
834     pr\`et qui sera s\'electionn\'e.
835
836     Si cette directive est d\'esactiv\'ee, le Storage daemon privil\'egiera 
837     les lecteurs inutilis\'es. Ce mode de fonctionnement peut \^etre tr\`es utile 
838     pour ces sites avec de nombreux lecteurs qui o\`u il peut \^etre pr\'ef\'erable 
839     de maximiser le flux des sauvegardes au prix d'une utilisation d'un plus 
840     grand nombre de lecteurs et de cartouches. Afin d'optimiser l'utilisation 
841     de plusieurs lecteurs, vous voudrez probablement lancer chacun de vos 
842     jobs l'un apr\`es l'autre avec un intervalle de 5 secondes environ. Ceci 
843     aidera \`a assurer que chaque nuit, le m\^eme lecteur (volume) est 
844     s\'electionn\'e pour le m\^eme job. Autrement, lors d'une restauration, vous 
845     pourriez trouver vos fichiers dispers\'es sur beaucoup plus de volumes que 
846     n\'ecessaire.
847
848 \item [ Prune Jobs = \lt{}yes|no\gt{}]
849    \index[dir]{Prune Jobs}
850    \index[dir]{Directive!Prune Jobs}
851    En principe, l'\'elagage des jobs du catalogue est sp\'ecifi\'e pour chaque client 
852    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette 
853    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes}, 
854    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur 
855    par d\'efaut est {\bf no}.
856
857 \item [ Prune Files = \lt{}yes|no\gt{}]
858    \index[dir]{Prune Files}
859    \index[dir]{Directive!Prune Jobs}
860    En principe, l'\'elagage des fichiers du catalogue est sp\'ecifi\'e pour chaque client
861    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
862    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
863    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
864    par d\'efaut est {\bf no}.
865  
866 \item [ Prune Volumes = \lt{}yes|no\gt{}]
867    \index[dir]{Prune Volumes}
868    \index[dir]{Directive!Prune Jobs}
869    En principe, l'\'elagage des volumes du catalogue est sp\'ecifi\'e pour chaque client
870    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
871    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
872    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
873    par d\'efaut est {\bf no}.
874
875 \item [RunScript \{...\}]
876    \index[dir]{RunScript}
877    \index[dir]{Directive!Run Script}
878
879    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe avant le
880    lancement du job. Cette directive est optionnelle.
881    Vous disposez des options suivantes :
882
883 \begin{tabular}{|c|c|c|l}
884 Options         & Valeur  & Defaut & Informations  \\
885 \hline
886 \hline
887 Runs On Success & Yes/No & {\it Yes} & La commande est exécutée si le job s'est terminé avec succès\\
888 \hline
889 Runs On Failure & Yes/No & {\it No} & La commande est exécutée si le job a Ã©choué\\
890 \hline
891 Runs On Client  & Yes/No & {\it Yes} & La commande est exécutée sur le client\\
892 \hline
893 Runs When       & Before|After|Always & {\it Never} & Le moment où la commande doit Ãªtre exécutée\\
894 \hline
895 Abort Job On Error & Yes/No & {\it Yes} & Abandonne le job si le script retourne 
896                                         un résultat non nul\\
897 \hline
898 Command          &       &          & Le chemin vers votre script\\
899 \hline
900 \end{tabular}
901    Tout retour de la commande sur la sortie standard est
902    incluse dans le rapport de job de Bacula. La cha\^ine {bf command} doit \^etre
903    un nom de programme valide ou un script shell
904
905    D'autre part,
906    la cha\^ine {bf command} est parcourue puis envoy\'ee vers la fonction execvp(), ce qui
907    signifie que le chemin de la commande est recherch\'e pour son ex\'ecution, mais
908    qu'il n'y a aucune interpr\'etation shell. Par cons\'equent, si vous voulez utiliser
909    des commandes complexes ou toute fonctionnalit\'e du shell telle que la
910    redirection, vous devez appeler un script shell o\`u vous mettrez vos commandes.
911   
912    Avant de soumettre la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula
913    effectue les substitutions suivantes :
914
915 \footnotesize
916 \begin{verbatim}
917     %% = %
918     %c = Nom du client
919     %d = Nom du Director
920     %e = Statut de sortie du job
921     %i = JobId
922     %j = Nom unique du job
923     %l = Niveau du job
924     %n = Nom du job
925     %s = Temps Depuis (NDT : Since Time)
926     %t = Type de job (Backup,...)
927     %v = Nom de volume
928 \end{verbatim}
929 \normalsize
930
931 Le code de statut de fin de job peut prendre les valeurs suivantes :
932
933 \index[dir]{Exit Status}
934 \begin{itemize}
935 \item OK
936 \item Error
937 \item Fatal Error
938 \item Canceled
939 \item Differences
940 \item Unknown term code
941 \end{itemize}
942
943    Aussi, si vous l'utilisez dans une ligne de commande, il vous faudra l'encadrer
944    de quotes.
945
946 Vous disposez des raccourcis suivants :
947 \begin{tabular}{|c|c|c|c|c|c}
948 Mot clef & RunsOnSuccess & RunsOnFailure  & AbortJobOnError & Runs On Client & RunsWhen  \\
949 \hline
950 Run Before Job         &        &       & Yes     & No     & Before \\
951 \hline
952 Run After Job          &  Yes   &   No  &         & No     & After  \\
953 \hline
954 Run After Failed Job   &  No    &  Yes  &         & No     & After  \\
955 \hline
956 Client Run Before Job  &        &       & Yes     & Yes    & Before \\
957 \hline
958 Client Run After Job   &  Yes   &   No  &         & Yes    & After  \\
959 \hline
960 Client Run After Failed Job   &  No    &  Yes  &         & Yes     & After  \\
961 \end{tabular}
962
963 Exemple :
964 \begin{verbatim}
965 RunScript {
966     RunsWhen = Before
967     AbortJobOnError = No
968     Command = "/etc/init.d/apache stop"
969 }
970
971 RunScript {
972     RunsWhen = After
973     RunsOnFailure = yes
974     Command = "/etc/init.d/apache start"
975 }
976 \end{verbatim}
977
978 {\bf Consid\'erations particuli\`eres \`a Windows}
979    D'autre part, pour les clients Windows \`a partir de la version 1.33, notez bien 
980    que vous devez fournir un chemin correct pour votre script, et que le script 
981    peut avoir l'extension .com, .exe, ou .bat. Si vous sp\'ecifiez un chemin, 
982    vous devez aussi sp\'ecifier l'extension compl\`ete. Les commandes \`a la fa\c{c}on 
983    d'Unix ne fonctionneront pas, \`a moins que vous n'ayez install\'e et 
984    correctement configur\'e Cygwin en plus (et s\'epar\'ement) de Bacula.
985
986 La commande peut \^etre n'importe quel programme reconnu par cmd.exe ou command.com 
987 comme un fichier ex\'ecutable. Sp\'ecifier une extension de fichier ex\'ecutable 
988 est optionnel, \`a moins qu'il y ait une ambigu\"it\'e (par exemple ls.bat, ls.exe).
989
990 Bacula cherche la commande dans le r\'epertoire "System \%Path\%" (Dans la
991 bo\^ite de dialogue des variables d'environnement vous avez les variables
992 "syst\`eme" et "utilisateurs". Si bacula-fd fonctionne en tant que
993 service, seules les variables d'environnement syst\`emes sont accessibles.)
994
995 Les variables d'environnement syst\`eme peuvent \^etre invoqu\'ees avec la
996 syntaxe \%var\% et utilis\'ees comme portion du nom de la commande ou des
997 arguments.
998
999 Lorsque la sp\'ecification du chemin absolu d'un ex\'ecutable ou le nom de 
1000 l'ex\'ecutable contient des espaces ou des caract\`eres sp\'eciaux, ils doivent 
1001 \^etre quot\'es. Il en va de m\^eme pour les arguments.
1002
1003 \footnotesize
1004 \begin{verbatim}
1005 ClientRunBeforeJob = "\"C:/Program Files/Software
1006      Vendor/Executable\" /arg1 /arg2 \"foo bar\""
1007 \end{verbatim}
1008 \normalsize
1009
1010 Les caract\`eres sp\'eciaux \&()[]\{\}\^{}=;!'+,`\~{} devront \^etre quot\'es s'ils font 
1011 partie d'un nom de fichier ou d'un argument.
1012
1013
1014 If someone is logged in a blank ``command'' window running the  commands will
1015 be present during the execution of the command.  
1016
1017 Quelques suggestions de Phil Stracchino pour l'ex\'ecution sur les machines 
1018 Win32 avec le File Daemon Win32 natif :
1019
1020 \begin{enumerate}
1021 \item Vous pourriez utiliser la directive ClientRunBeforeJob pour sp\'ecifier 
1022       un fichier .bat qui ex\'ecute les commandes cot\'e client plut\^ot que 
1023       d'essayer d'ex\'ecuter (par exemple) regedit /e directement.
1024 \item Le fichier batch devrait retourner explicitement 0 lors des ex\'ecutions correctes.
1025 \item Le chemin vers le fichier batch devrait \^etre sp\'ecifi\'e au format Unix :
1026
1027    ClientRunBeforeJob = ``c:/bacula/bin/systemstate.bat''  
1028
1029 plut\^ot qu'au format DOS/Windows :  
1030
1031 ClientRunBeforeJob =
1032 ``c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}systemstate.bat''
1033 INCORRECT 
1034 \end{enumerate}
1035
1036 L'exemple suivant d'utilisation de la directive Client Run Before Job a \'et\'e soumis 
1037 par un utilisateur :\\
1038 Vous pourriez \'ecrire un script shell pour sauvegarder une base DB2 dans un FIFO. Voici 
1039 le script en question :
1040
1041 \footnotesize
1042 \begin{verbatim}
1043  #!/bin/sh
1044  # ===== backupdb.sh
1045  DIR=/u01/mercuryd
1046
1047  mkfifo $DIR/dbpipe
1048  db2 BACKUP DATABASE mercuryd TO $DIR/dbpipe WITHOUT PROMPTING &
1049  sleep 1
1050 \end{verbatim}
1051 \normalsize
1052
1053 La ligne suivante dans la ressource Job du fichier bacula-dir.conf :
1054 \footnotesize
1055 \begin{verbatim}
1056  Client Run Before Job = "su - mercuryd -c \"/u01/mercuryd/backupdb.sh '%t'
1057 '%l'\""
1058 \end{verbatim}
1059 \normalsize
1060
1061 Lorsque le job est ex\'ecut\'e, vous obtiendrez un message de sortie du script 
1062 annon\c{c}ant que la sauvegarde a d\'emarr\'e. M\^eme si la commande est ex\'ecut\'ee en 
1063 arri\`ere plan avec \&, le job bloquera jusqu'\`a la commande "db2 BACKUP DATABASE", et 
1064 la sauvegarde se fige. 
1065
1066 Pour rem\'edier \`a cette situation, la ligne "db2 BACKUP DATABASE" 
1067 devrait \^etre modifi\'ee en :
1068
1069 \footnotesize
1070 \begin{verbatim}
1071  db2 BACKUP DATABASE mercuryd TO $DIR/dbpipe WITHOUT PROMPTING > $DIR/backup.log
1072 2>&1 < /dev/null &
1073 \end{verbatim}
1074 \normalsize
1075
1076 Il est important de rediriger l'entr\'ee et la sortie d'une commande en arri\`ere plan 
1077 vers /dev/null pour \'eviter le bloquage du script.
1078
1079 \item [ Run Before Job = \lt{}command\gt{}]
1080    \index[dir]{Run Before Job}
1081    \index[dir]{Directive!Run Before Job}
1082    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe avant le
1083    lancement du job. Cette directive n'est pas requise,mais si elle est d\'efinie, 
1084    et si le code retour d'ex\'ecution du programme est diff\'erent de z\'ero, le job qui 
1085    a lanc\'e le programme est effac\'e. 
1086
1087 \begin{verbatim}
1088 Run Before Job = "echo test"
1089 \end{verbatim}
1090    est Ã©quivalent Ã  :
1091 \begin{verbatim}
1092 RunScript {
1093  Command = "echo test"
1094  RunsOnClient = No
1095  RunsWhen = Before
1096 }
1097 \end{verbatim}
1098
1099 Lutz Kittler a fait remarquer que ceci peut \^etre un moyen ais\'e pour modifier
1100 vos schedules pour les vacances. Par exemple, supposons que vous fassiez
1101 habituellement des sauvegardes Full le vendredi, mais que jeudi et vendredi
1102 soient f\'eri\'es. Pour \'eviter d'avoir \`a changer les cartouches entre jeudi et vendredi
1103 alors que personne n'est au bureau, vous pouvez cr\'eer un RunBeforeJob qui retourne
1104 un statut non nul jeudi et z\'ero les autres jours. Ainsi, le job de jeudi ne sera pas
1105 ex\'ecut\'e, et la cartouche que vous avez ins\'er\'e mercredi sera disponible pour la Full
1106 de vendredi.
1107
1108 \item [ Run After Job = \lt{}command\gt{}]
1109    \index[dir]{Run After Job}
1110    \index[dir]{Directive!Run After Job}
1111    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe apr\`es la fin
1112    du job. La cha\^ine {bf command} doit \^etre un nom de programme valide ou un
1113    script shell. Cette directive n'est pas requise. Si le code de sortie du
1114    programme est non nul, Bacula affiche un message d'avertissement (warning).
1115    Avant de soumettre
1116    la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula effectue les
1117    substitutions de caract\`eres d\'ecrites au paragraphe {\bf RunScript}
1118
1119 Un exemple d'utilisation de cette directive est donn\'e au chapitre
1120 \ilink{Astuces}{JobNotification} de ce manuel.
1121 Lisez le paragraphe {\bf Run After Failed Job} si vous voulez ex\'ecuter
1122 une commande lorqu'un job se termine avec un statut anormal.
1123
1124 \item [Run After Failed Job = \lt{}command\gt{}]
1125    \index[dir]{Run After Job}
1126    \index[dir]{Directive!Run After Job}
1127    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe apr\`es la fin
1128    du job lorqu'il se termine avec un statut d'erreur. Cette directive est optionnelle.
1129    La cha\^ine {\bf command} doit \^etre le nom d'un programme ou d'un script shell.
1130    Si le code de sortie du programme est non nul, Bacula affiche un mesage d'avertissement
1131    (warning). Avant de soumettre
1132    la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula effectue les
1133    substitutions de caract\`eres d\'ecrites au paragraphe {\bf RunScript}. Notez que
1134    vous pouvez, si vous souhaitez que 
1135    votre programme soit ex\'ecut\'e quel que soit l'issue du job, utiliser une définition 
1136    telle que :
1137
1138 RunScript {
1139    Command = "echo test"
1140    RunsWhen = After
1141    RunsOnFailure = yes
1142    RunsOnClient  = no
1143    RunsOnSuccess = yes    # default, you can drop this line
1144 }
1145
1146    Le chapitre \ilink{Trucs et astuces}{JobNotification} de ce manuel propose un
1147    exemple d'utilisation de cette directive.
1148
1149 \item [ Client Run Before Job = \lt{}command\gt{}]
1150    \index[dir]{Client Run Before Job}
1151     \index[dir]{Directive!Client Run Before Job}
1152    Cette directive est similaire \`a {\bf Run Before Job} except\'e que la
1153    commande est ex\'ecut\'ee sur la machine cliente. Les m\^emes restrictions
1154    s'appliquent aux syt\`emes Unix que celles signal\'ees pour {\bf Run Before Job}.
1155
1156 \item [ Client Run After Job = \lt{}command\gt{}]
1157    \index[dir]{Client Run After Job}
1158    \index[dir]{Directive!Client Run After Job}
1159    Cette directive est similaire \`a {\bf Run After Job} sauf qu'elle est ex\'ecut\'ee 
1160    sur la machine cliente. Veuillez consulter les notes concernant les clients 
1161    Windows dans le paragraphe {\bf RunScript} ci-dessus.
1162
1163 \item [ Rerun Failed Levels = \lt{}yes|no\gt{}]
1164    \index[dir]{Rerun Failed Levels}
1165    \index[dir]{Directive!Rerun Failed Levels}
1166    Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), et si 
1167    Bacula d\'etecte qu'un job ant\'erieur d'un niveau plus \'elev\'e (Full ou 
1168    diff\'erentiel), alors le job est \'elev\'e au niveau le plus haut. Ceci est 
1169    particuli\`erement utile pour sauvegarder les pc portables qui peuvent 
1170    \^etre fr\'equemment inaccessibles. En effet, apr\`es l'\'echec d'une Full, vous 
1171    souhaiterez probablement que la prochaine sauvegarde soit de niveau  Full 
1172    plut\^ot qu'Incremental ou Diff\'erentiel.
1173
1174 \item [ Spool Data = \lt{}yes|no\gt{}]
1175    \index[dir]{Spool Data}
1176    \index[dir]{Directive!Spool Data}
1177    Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), le 
1178    Storage Daemon aura pour consigne de stocker les donn\'ees dans un  
1179    fichier spoule sur disque plut\^ot que de les \'ecrire directement sur bande.
1180    Lorsque toutes les donn\'ees sont dans le spoule ou lorsque la taille 
1181    maximale fix\'ee pour le fichier spoule est atteinte, les donn\'ees sont 
1182    d\'echarg\'ees du spoule vers les bandes. Lorsque la valeur de cette directive 
1183    est {\bf yes}, la directive Spool Attributes est aussi automatiquement 
1184    mise \`a la valeur {\bf yes}. L'utilisation de cette fonctionnalit\'e 
1185    pr\'evient les arr\^ets et red\'emarrage incessants lors des incr\'ementales.
1186    Elle ne doit pas \^etre utilis\'ee si vous sauvegardez sur disque.
1187
1188
1189 \item [ Spool Attributes = \lt{}yes|no\gt{}]
1190    \index[dir]{Spool Attributes}
1191     \index[dir]{Directive!Spool Attributes}
1192    \index[dir]{lenteur}
1193    \index[general]{lent}
1194    \index[dir]{Sauvegardes!lent}
1195    \index[general]{Sauvegardes!lent}
1196    La valeur par d\'efaut est {\bf no}, ce qui signifie que le Storage Daemon 
1197    envoie les attributs de fichiers au Director au moment o\`u ils (les fichiers) 
1198    sont ecrits sur la bande. Cependant, si vous souhaitez \'eviter le risque 
1199    de ralentissement d\^u aux mises \`a jour du catalogue, vous pouvez r\'egler  
1200    cette directive \`a {\bf yes}, dans ce cas, le Storage Daemon stockera les 
1201    attributs de fichiers dans un fichier tampon du Working Directory pour ne les 
1202    transmettre au Director qu'\`a la fin de l'\'ecriture sur bande des donn\'ees du job.
1203
1204 \item [ Where = \lt{}directory\gt{}]
1205    \index[dir]{Where}
1206    \index[dir]{Directive!Where}
1207    Cette directive ne concerne que les jobs de type Restauration. Elle permet 
1208    de sp\'ecifier un pr\'efixe au nom du r\'epertoire o\`u tous les fichiers sont 
1209    restaur\'es. Ceci permet de restaurer les fichiers en un emplacement 
1210    diff\'erent de celui o\`u ils ont \'et\'e sauvegard\'es. Si {\bf Where} n'est pas 
1211    renseign\'e, ou si sa valeur est backslash ({\bf /}), les fichiers sont 
1212    restaur\'es \`a leur emplacement d'origine. Par d\'efaut, nous avons donn\'e \`a 
1213    {\bf Where} la valeur {\bf /tmp/bacula-restores} dans les fichiers de 
1214    configuration fournis en exemple, ceci afin d'\'eviter l'\'ecrasement 
1215    accidentel de vos fichiers.
1216
1217 \item [ Replace = \lt{}replace-option\gt{}]
1218    \index[dir]{Replace}
1219    \index[dir]{Directive!Replace}
1220    Cette directive ne concerne que les jobs de type Restauration. Elle pr\'ecise 
1221    la conduite \`a adopter dans l'\'eventualit\'e o\`u Bacula serait conduit \`a restaurer 
1222    un fichier ou un r\'epertoire qui existe d\'ej\`a. Les options suivantes sont 
1223    disponibles :
1224
1225 \begin{description}
1226
1227 \item [always]
1228    \index[dir]{always }
1229    Lorsque le fichier \`a restaurer existe d\'ej\`a, il est supprim\'e et remplac\'e par la 
1230    copie sauvegard\'ee.
1231
1232 \item [ifnewer]
1233    \index[dir]{ifnewer }
1234    Si le fichier sauvegard\'e (sur bande) est plus r\'ecent que le fichier existant, 
1235    le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
1236
1237 \item [ifolder]
1238    \index[dir]{ifolder }
1239    Si le fichier sauvegard\'e (sur bande) est plus ancien que le fichier existant,
1240       le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
1241
1242 \item [never]
1243    \index[dir]{never }
1244    Si le fichier sauvegard\'e existe d\'ej\`a, Bacula renonce \`a restaurer ce fichier.
1245 \end{description}
1246
1247 \item [ Prefix Links=\lt{}yes|no\gt{}]
1248    \index[dir]{Prefix Links}
1249    \index[dir]{Directive!Prefix Links}
1250    Si la valeur de cette directive est {\bf Yes} et si un pr\'efixe de chemin 
1251    {\bf Where} est sp\'ecifi\'e, alors ce dernier s'applique aussi aux liens 
1252    absolus. La valeur par d\'efaut est {\bf No}. Lorsque cette directive est \`a 
1253    {\bf Yes}, tous les liens absolus seront aussi modifi\'es pour 
1254    pointer vers le nouveau r\'epertoire. En principe, c'est ce qui est souhait\'e : 
1255    l'ensemble du r\'epertoire restaur\'e conserve sa coh\'erence interne. Cependant, 
1256    si vous voulez replacer les fichiers ult\'erieurement \`a leurs emplacements 
1257    d'origine, tous les liens absolus seront bris\'es.
1258
1259 \item [ Maximum Concurrent Jobs = \lt{}number\gt{}]
1260    \index[dir]{Maximum Concurrent Jobs}
1261    \index[dir]{Directive!Maximum Concurrent Jobs}
1262    O\`u \lt{}number\gt{} est le nombre maximum de jobs de la ressource Job courrante 
1263    qui peuvent \^etre ex\'ecut\'es simultan\'ement. Notez que cette directive ne limite 
1264    que les jobs avec le m\^eme nom que la ressource dans laquelle elle 
1265    figure. Toute autre restriction du nombre maximum de jobs simultan\'es, que ce soit au 
1266    niveau du Director, du Client ou de la ressource Storage, s'applique en plus de 
1267    de la limite stipul\'ee ici. La valeur par d\'efaut est 1, mais vous pouvez utiliser 
1268    une valeur plus grande. Nous vous recommandons fortement de lire 
1269    attentivement le paragraphe WARNING sous \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} 
1270    dans la section concernant la ressource Director.
1271
1272 \item [ Reschedule On Error = \lt{}yes|no\gt{}]
1273    \index[dir]{Reschedule On Error}
1274    \index[dir]{Directive!Reschedule On Error}
1275    Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera 
1276    reprogramm\'e en accord avec les directives {\bf Reschedule Interval} et 
1277    {\bf Reschedule Times}. Si vous supprimez le job, il ne sera pas reprogramm\'e.
1278    La valeur par d\'efaut est {\bf no}.
1279
1280 Cette sp\'ecification peut se r\'ev\'eler utile pour les pc portables ainsi que pour toutes 
1281 les machines qui ne sont pas connect\'ees au r\'eseau en permanence.
1282
1283 \item [ Reschedule Interval = \lt{}time-specification\gt{}]
1284    \index[dir]{Reschedule Interval}
1285     \index[dir]{Directive!Reschedule Interval}
1286    Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera
1287    reprogramm\'e apr\`es l'intervalle de temps stipul\'e par {\bf time-specification}. 
1288    Consultez la section \ilink{ the time specification formats}{Time} du chapitre 
1289    Configurer Bacula pour plus de d\'etails sur les sp\'ecifications de temps. Si 
1290    aucun intervalle n'est sp\'ecifi\'e, le job ne sera pas reprogramm\'e en cas d'erreur.
1291
1292 \item [ Reschedule Times = \lt{}count\gt{}]
1293    \index[dir]{Reschedule Times}
1294    \index[dir]{Directive!Reschedule Times}
1295    Cette directive pr\'ecise le nombre maximal de tentatives d'ex\'ecution du job.
1296    S'il est fix\'e \`a z\'ero (valeur par d\'efaut), le job sera reprogramm\'e 
1297    ind\'efiniment.
1298
1299 \item [Run = \lt{}job-name\gt{}]
1300    \index[dir]{Run}
1301    \index[dir]{Directive!Run}
1302    \index[dir]{Cloner un Job}
1303     La directive Run (\`a ne pas confondre avec l'option Run dans un 
1304     Schedule) vous permet de d\'emarrer ou de cloner des jobs. En utilisant les 
1305     mots-clef de clonage (voir ci dessous), vous pouvez sauvegarder les m\^emes 
1306     donn\'ees (ou presque les m\^emes) vers deux (ou plus) lecteurs en m\^eme temps. 
1307     Le nom de job {\bf job-name} est en principe le m\^eme que celui de la 
1308     ressource job courante (cr\'eant ainsi un clone). Cependant, ce peut \^etre 
1309     n'importe quel nom de job, de sorte qu'un job peut d\'emarrer d'autre jobs li\'es. 
1310     La partie apr\`es le signe \'egale doit \^etre encadr\'ee de double quotes, et peut 
1311     contenir toute cha\^ine ou jeu d'options (surcharges) qui pourraient \^etre 
1312     sp\'ecifi\'ees \`a l'utilisation de la commande Run dans la Console. Par exemple, 
1313     {\bf storage=DDS-4 ...}. De plus, deux mots-clef sp\'eciaux vous permettent de 
1314     cloner le job courant : {\bf level=\%l} et {\bf since=\%s}. le \%l du mot clef 
1315     level permet d'entrer le niveau r\'eel du job courant et le \%s du mot clef since 
1316     permet d'imposer la m\^eme date pour la comparaison que celle utilis\'ee par le job courant.a
1317     Notez que dans le cas du mot-clef since, le \%s doit \^etre encadr\'e de double quotes, 
1318     qui doivent \^etre elles m\^emes pr\'ec\'ed\'ees de barres obliques arri\`eres puisque elles sont 
1319     d\'ej\`a entre double quotes. Par exemple :
1320
1321     \begin{verbatim}
1322        run = "Nightly-backup level=%s since=\"%s\" storage=DDS-4"
1323     \end{verbatim}
1324     Un job clon\'e ne d\'emarrera pas de nouveaux clones, aussi il n'est pas possible de les cascader.
1325     
1326 \label{Priority}
1327 \item [ Priority = \lt{}number\gt{}]
1328    \index[dir]{Priority}
1329    \index[dir]{Directive!Priority}
1330    Cette directive vous permet de contr\^oler l'ordre d'ex\'ecution des jobs en 
1331    sp\'ecifiant un entier positif non nul. Plus grand est ce nombre, plus basse 
1332    est la priorit\'e du job. En supposant que vous n'ex\'ecutiez pas de jobs 
1333    simultan\'es, tous les jobs en file d'attente avec la priorit\'e 1 seront 
1334    ex\'ecut\'es avant ceux avec la priorit\'e 2, et ainsi de suite, sans prise en 
1335    compte de l'ordre original de planification.
1336    
1337    La priorit\'e affecte seulement les jobs en file d'attente, et non les jobs d\'eja 
1338    en cours d'ex\'ecution. Si un ou plusieurs jobs de priorit\'e 2 sont d\'ej\`a en cours 
1339    d'ex\'ecution, et si un nouveau job est programm\'e avec la priorit\'e 1, les jobs 
1340    en cours d'ex\'ecution doivent se terminer pour que le job de priorit\'e 1 puisse 
1341    d\'emarrer.
1342
1343    La priorit\'e par d\'efaut est 10.
1344
1345 Si vous voulez ex\'ecutez plusieurs jobs simultan\'es,  
1346 vous devriez garder les points suivants \`a l'esprit :
1347
1348 \begin{itemize}
1349 \item Pour ex\'ecuter plusieurs jobs simultan\'es, vous devez ajuster la directive 
1350       {\bf Maximum Concurrent Jobs} (utiliser une valeur supérieure Ã  1) 
1351       en cinq ou six endroits diff\'erents : dans le 
1352       fichier bacula-dir.conf, les ressources {\bf Job}, {\bf Client}, {\bf Storage};
1353       dans le fichier bacula-fd, la ressource {\bf FileDaemon}; et dans le fichier 
1354       bacula-sd.conf, la ressource {\bf Storage}. Si vous omettez l'un d'entre eux, 
1355       les jobs seront ex\'ecut\'es un par un.
1356 \item Bacula n'ex\'ecute pas simultan\'ement les jobs de priorit\'es distinctes. 
1357 \item Si Bacula ex\'ecute un job de priorit\'e 2 et si un nouveau job de priorit\'e 
1358       1 est programm\'e, il attendra la fin du job de priorit\'e 1, m\^eme si les 
1359       param\`etres {\bf Maximum Concurrent Jobs} pourraient permettre l'ex\'ecution 
1360       simultan\'ee de deux jobs.
1361 \item Supposons que Bacula soit en train d'ex\'ecuter un job de priorit\'e 2 et qu'un 
1362       job de priorit\'e 1 soit programm\'e et mis en queue en attente de la fin du 
1363       job de priorit\'e 2. Si vous d\'emarrez alors un second job de priorit\'e 2, le job 
1364       en attente de priorit\'e 1 emp\`echera le nouveau job de priorit\'e 2 de s'ex\'ecuter 
1365       en parall\`ele au premier. Ainsi : tant qu'il reste un job de priorit\'e sup\'erieure 
1366       \`a ex\'ecuter, aucun nouveau job de priorit\'e inf\'erieure ne pourra d\'emarrer, m\^eme si 
1367       les param\`etres {\bf Maximum Concurrent Jobs} devraient le permettre. Ceci permet 
1368       d'assurer que les jobs de priorit\'e sup\'erieure seront ex\'ecut\'es d\`es que possible.
1369 \end{itemize}
1370
1371 Si vous avez plusieurs jobs de priorit\'es diff\'erentes, il est pr\'ef\'erable de ne pas les 
1372 d\'emarrer exactement \`a la m\^eme heure, car Bacula doit les examiner un \`a la fois. Si, 
1373 par hazard, Bacula commence par traiter un job de priorit\'e inf\'erieure, il sera 
1374 ex\'ecut\'e avant votre job de priorit\'e \'elev\'e. Pour \'eviter cette situation, 
1375 d\'emarrez l'un quelconque des jobs de priorit\'e \'elev\'ee quelques secondes avant 
1376 ceux de basse priorit\'e. Ainsi, vous serez assur\'e que Bacula examine les jobs 
1377 dans l'ordre voulu et que votre sch\'ema de priorit\'es sera respect\'e.
1378
1379 \label{WritePartAfterJob}
1380
1381 \item [ Write Part After Job = \lt{}yes|no\gt{}]
1382    \index[sd]{Write Part After Job}
1383    \index[dir]{Directive!Write Part After Job}
1384 Cette directive est impl\'ement\'ee depuis la version 1.37.
1385 Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), un nouveau 
1386 "fichier partition" (ndt : part file) sera cr\'e\'e apr\`es la fin du job. 
1387
1388 Cette directive devrait \^etre activ\'ee lors de l'\'ecriture sur des p\'eriph\'erique 
1389 qui requi\`erent un montage (par exemple, les DVDs), afin de vous assurer que 
1390 le fichier partition courant, celui qui contient les donn\'ees de ce job, est 
1391 envoy\'e vers le p\'eriph\'erique, et qu'aucune donn\'ee n'est laiss\'ee dans le fichier 
1392 temporaire sur le disque dur. Quoi qu'il en soit, avec certains supports tels 
1393 que les DVD+R et DVD-R, beaucoup d'espace (environ 10 Mb) est perdu \`a chaque fois 
1394 qu'un fichier partition est \'ecrit. Aussi, si vous ex\'ecutez plusieurs jobs \`a la 
1395 suite, vous devriez r\'egler cette directive \`a {\bf no} pour tous ces jobs sauf 
1396 le dernier, pour \'eviter un gaspillage important d'espace, tout en ayant la certitude 
1397 que les donn\'ees sont bien \'ecrites sur le m\'edium lorsque tous les jobs sont 
1398 achev\'es.
1399
1400 Cette directive est ignor\'ee avec les bandes et les p\'eriph\'eriques FIFO.
1401 \end{description}
1402
1403 Voici un exemple de d\'efinition de ressource Job valide.
1404
1405 \footnotesize
1406 \begin{verbatim}
1407 Job {
1408   Name = "Minou"
1409   Type = Backup
1410   Level = Incremental                 # default
1411   Client = Minou
1412   FileSet="Minou Full Set"
1413   Storage = DLTDrive
1414   Pool = Default
1415   Schedule = "MinouWeeklyCycle"
1416   Messages = Standard
1417 }
1418 \end{verbatim}
1419 \normalsize
1420
1421 \subsection*{La ressource JobDefs}
1422 \label{JobDefsResource}
1423 \index[general]{JobDefs Resource }
1424 \index[general]{Resource!JobDefs }
1425 \addcontentsline{toc}{subsection}{JobDefs Resource}
1426
1427 La ressource Jobdefs admet toutes les directives qui peuvent appara\^itre dans 
1428 une ressource Job. Une ressource Jobdefs ne cr\'e\'e en aucun cas un Job, son r\^ole 
1429 est de pouvoir \^etre d\'esign\'ee dans une ressource Job comme un ensemble de 
1430 param\`etres par d\'efaut. Ceci permet de d\'efinir plusieurs jobs similaires avec 
1431 concision, en ne mentionnant, pour chaque job, que les diff\'erences avec les 
1432 valeurs par d\'efaut sp\'ecifi\'ees dans la ressource Jobdefs.
1433
1434 \subsection*{La ressource Schedule}
1435 \label{ScheduleResource}
1436 \index[general]{Resource!Schedule }
1437 \index[general]{Schedule Resource }
1438 \addcontentsline{toc}{subsection}{Schedule Resource}
1439
1440 La ressource Schedule offre un moyen pour planifier automatiquement un Job, 
1441 mais aussi la possibilit\'e de surcharger les param\`etres par d\'efaut de Level, 
1442 Pool, Storage, et Messages ressources. Si une ressource Schedule n'est pas 
1443 sp\'ecifi\'ee dans un job, ce job ne peut \^etre ex\'ecut\'e que manuellement. 
1444 En g\'en\'eral, vous sp\'ecifierez une action et le moment de son lancement.
1445
1446 \begin{description}
1447
1448 \item [Schedule]
1449    \index[dir]{Schedule}
1450    \index[dir]{Directive!Schedule}
1451    D\'ebut des directives Schedule. La ressource {\bf Schedule} n'est pas requise, 
1452    mais il vous en faudra au moins une si vous souhaitez que vos jobs soient 
1453    ex\'ecut\'es automatiquement.
1454    
1455 \item [Name = \lt{}name\gt{}]
1456    \index[dir]{Name}
1457    \index[dir]{Directive!Name}
1458    Le nom du Schedule d\'efini. Cette directive est requise.
1459
1460 \item [Run = \lt{}Job-overrides\gt{} \lt{}Date-time-specification\gt{}  ]
1461    \index[dir]{Run}
1462    \index[dir]{Directive!Run}
1463    La directive Run d\'efinit quand un job doit \^etre ex\'ecut\'e, et les \'eventuelles 
1464    surcharges \`a appliquer. Il est possible de sp\'ecifier plusieurs directives 
1465    {\bf run} au sein d'une ressource {\bf Schedule}, elles seront toutes 
1466    appliqu\'ees. Si vous avez deux directives {\bf Run} qui d\'emarrent au m\^eme 
1467    moment, deux jobs seront lanc\'es simultan\'ement (en fait, avec une seconde d'\'ecart).
1468    
1469
1470 La directive {\bf Job-overrides} permet d'outrepasser les sp\'ecifications de 
1471 Level, Storage, Messages et Pool \'ecrites dans la ressource Job. De plus, 
1472 les sp\'ecifications FullPool, DifferentialPool et IncrementalPool permettent 
1473 de passer outre les sp\'ecification de Pool, en accord avec le niveau (level) 
1474 effectif d'ex\'ecution du job.
1475
1476 L'utilisation de surcharges permet de peaufiner le param\'etrage d'un job 
1477 particulier. Par exemple, vous pourriez surcharger une sp\'ecification 
1478 Messages qui enverrait vos logs de backups vers un fichier, de fa\\ 3on \`a ce qu'ils 
1479 vous soient envoy\'es par mails pour les Fulls hebdomadaires ou mensuelles.
1480
1481 Les directives {\bf Job-overrides} sont sp\'ecifi\'ees en tant que {\bf mot-clef=valeur} 
1482 o\`u le mot-clef est l'un des suivants : Level, Storage,  Messages, Pool, FullPool, 
1483 DifferentialPool ou IncrementalPool, et la {\bf valeur} est d\'efinie selon le format 
1484 adapt\'e \`a la directive. Vous pouvez sp\'ecifier plusieurs surcharges {\bf Job-overrides} 
1485 en une seule directive {\bf Run} en les s\'eparant par des espaces ou des 
1486 trailing comas (traduction ?). Par exemple :
1487
1488 \begin{description}
1489
1490 \item [Level=Full]
1491    \index[dir]{Level}
1492    \index[dir]{Directive!Level}
1493    Tous les fichiers du FileSet qu'ils aient ou non chang\'e.
1494
1495 \item [Level=Incremental]
1496    \index[dir]{Level}
1497    \index[dir]{Directive!Level}
1498    Tous les fichiers qui ont chang\'e depuis la derni\`ere sauvegarde.
1499
1500 \item [Pool=Weekly]
1501    \index[dir]{Pool}
1502    \index[dir]{Directive!Pool}
1503    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Weekly}.
1504
1505 \item [Storage=DLT\_Drive]
1506    \index[dir]{Storage }
1507    \index[dir]{Directive!Storage}
1508    Sp\'ecifie l'utilisation du lecteur {\bf DLT\_Drive} pour p\'eriph\'erique de stockage.
1509
1510 \item [Messages=Verbose]
1511    \index[dir]{Messages }
1512    \index[dir]{Directive!Messages}
1513    Sp\'ecifie l'utilisation de la ressource messages {\bf Verbose} pour le job.
1514
1515 \item [FullPool=Full]
1516    \index[dir]{FullPool}
1517    \index[dir]{Directive!FullPool}
1518
1519    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Full} si le job est une sauvegarde Full, 
1520    ou s'il a \'et\'e \'elev\'e en Full bien qu'ayant \'et\'e lanc\'e en tant que diff\'erentiel ou 
1521    incr\'emental.
1522
1523 \item [DifferentialPool=Differential]
1524    \index[dir]{DifferentialPool }
1525     \index[dir]{Directive!DifferentialPool}
1526     Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Differential} si le job est une 
1527     sauvegarde diff\'erentielle.
1528
1529 \item [IncrementalPool=Incremental]
1530    \index[dir]{IncrementalPool}
1531    \index[dir]{Directive!IncrementalPool}
1532    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Incremental} si le job est une 
1533    sauvegarde incr\'ementale.
1534
1535 \item [SpoolData=yes|no]
1536    \index[dir]{SpoolData}
1537    \index[dir]{Directive!SpoolData}
1538    Indique \`a Bacula d'ordonner au Storage Daemon de placer les donn\'ees sur un 
1539    spool disque avant de les envoyer vers les cartouches.
1540
1541 \item [WritePartAfterJob=yes|no]
1542    \index[dir]{WritePartAfterJob}
1543    \index[dir]{Directive!WritePartAfterJob}
1544    Indique \`a Bacula d'ordonner au Storage Daemon d'\'ecrire le fichier partition 
1545    courant vers le p\'eriph\'erique lorsque le job s'ach\`eve (voir 
1546 \ilink{la directive Write Part After Job dans la ressource Job}{WritePartAfterJob}).  
1547 \end{description}
1548
1549 {\bf Date-time-specification} D\'etermine la planification d'ex\'ecution du job.
1550 La sp\'ecification est une r\'ep\'etition, et, par d\'efaut, Bacula est param\'etr\'e 
1551 pour ex\'ecuter un job au d\'ebut de chaque heure de chaque jour de chaque semaine 
1552 de chaque mois de chaque ann\'ee. Ce n'est probablement pas ce que vous souhaitez, 
1553 aussi vous devez pr\'eciser ou limiter les moments o\`u vous souhaitez voir vos jobs 
1554 ex\'ecut\'es. Toute sp\'ecification est suppos\'ee cyclique et servira \`a limiter le 
1555 cycle par d\'efaut. Ceci se fait en sp\'ecifiant des masques ou des horaires,  
1556 jours de la semaine, jours du mois, semaines du mois, semaines de l'ann\'ee et 
1557 mois de l'ann\'ee o\`u vous voulez ex\'ecuter le job. En combinant ces possibilit\'es, 
1558 vous pouvez d\'efinir une planification qui se r\'ep\`ete \`a presque n'importe quelle 
1559 fr\'equence.
1560
1561 Concr\`etement, vous devez d\'efinir les {\bf mois}, {\bf jour}, {\bf heure} et 
1562 {\bf minute} o\`u le job est \`a ex\'ecuter. Parmis ces quatre objets, le {\bf jour} 
1563 est particulier en ce qu'il peut sp\'ecifier un jour du mois (1,2,...31) ou de la 
1564 semaine (Monday, Tuesday,...Sunday). Enfin, vous pouvez aussi sp\'ecifier un 
1565 jour de la semaine pour restreindre la planification \`a la premi\`ere, deuxi\`eme, 
1566 troisi\`eme, quatri\`eme ou cinqui\`eme semaine du mois.
1567
1568 Par exemple, si vous sp\'ecifiez seulement un jour de la semaine, disons {\bf Mardi}, 
1569 le job sera ex\'ecut\'e toutes les heures de chaque mardi de chaque mois. La raison 
1570 en est que les param\`etres {\bf Mois} et {\bf Heure} sont rest\'es \`a leurs valeurs 
1571 par d\'efaut : chaque mois et chaque heure.
1572
1573 Notez que, par d\'efaut, sans autre sp\'ecification, votre job s'ex\'ecutera au 
1574 d\'ebut de chaque heure. Si vous souhaitez que votre job s'ex\'ecute plus souvent 
1575 qu'une fois par heure, il vous faudra d\'efinir plusieurs sp\'ecifications {\bf run} 
1576 avec pour chacune une minut diff\'erente.
1577
1578 Les dates et horaires d'ex\'ecutions des jobs peuvent \^etre sp\'ecifi\'es comme suit, 
1579 en pseudo-BNF :
1580
1581 \footnotesize
1582 \begin{verbatim}
1583 <void-keyword>    = on
1584 <at-keyword>      = at
1585 <week-keyword>    = 1st | 2nd | 3rd | 4th | 5th | first |
1586                     second | third | forth | fifth
1587 <wday-keyword>    = sun | mon | tue | wed | thu | fri | sat |
1588                     sunday | monday | tuesday | wednesday |
1589                     thursday | friday | saturday
1590 <week-of-year-keyword> = w00 | w01 | ... w52 | w53
1591 <month-keyword>   = jan | feb | mar | apr | may | jun | jul |
1592                     aug | sep | oct | nov | dec | january |
1593                     february | ... | december
1594 <daily-keyword>   = daily
1595 <weekly-keyword>  = weekly
1596 <monthly-keyword> = monthly
1597 <hourly-keyword>  = hourly
1598 <digit>           = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
1599 <number>          = <digit> | <digit><number>
1600 <12hour>          = 0 | 1 | 2 | ... 12
1601 <hour>            = 0 | 1 | 2 | ... 23
1602 <minute>          = 0 | 1 | 2 | ... 59
1603 <day>             = 1 | 2 | ... 31
1604 <time>            = <hour>:<minute> |
1605                     <12hour>:<minute>am |
1606                     <12hour>:<minute>pm
1607 <time-spec>       = <at-keyword> <time> |
1608                     <hourly-keyword>
1609 <date-keyword>    = <void-keyword>  <weekly-keyword>
1610 <day-range>       = <day>-<day>
1611 <month-range>     = <month-keyword>-<month-keyword>
1612 <wday-range>      = <wday-keyword>-<wday-keyword>
1613 <range>           = <day-range> | <month-range> |
1614                           <wday-range>
1615 <date>            = <date-keyword> | <day> | <range>
1616 <date-spec>       = <date> | <date-spec>
1617 <day-spec>        = <day> | <wday-keyword> |
1618                     <day-range> | <wday-range> |
1619                     <week-keyword> <wday-keyword>
1620                     <day-range> | <wday-range> |
1621                     <daily-keyword>
1622 <month-spec>      = <month-keyword> | <month-range> |
1623                     <monthly-keyword>
1624 <date-time-spec>  = <month-spec> <day-spec> <time-spec>
1625 \end{verbatim}
1626 \normalsize
1627
1628 \end{description}
1629
1630 Notez que les sp\'ecifications de semaine et d'ann\'ee suivent les d\'efinitions ISO 
1631 standard de semaine et ann\'ee, o\`u la semaine 1 est la semaine qui contient le 
1632 premier jeudi de l'ann\'ee, ou alternativement, la semaine qui contient le 
1633 quatri\`eme jour de janvier. Les semaines sont num\'erot\'ees w01 \`a w53. w00 est 
1634 pour Bacula la semaine qui pr\'ec\`ede la premi\`ere semaine ISO (c'est \`a dire celle 
1635 qui contient les quelques premiers jours de l'ann\'ee si aucun n'est un jeudi). 
1636 w00 n'est pas d\'efinie dans les sp\'ecifications ISO. Une semaine commence le Lundi 
1637 et se termine le Dimanche.
1638
1639 Voici un exemple de ressource Schedule nomm\'ee {\bf WeeklyCycle} qui ex\'ecute 
1640 un job de niveau Full chaque Dimanche \`a 1h05 et un job de niveau incr\'emental 
1641 du Lundi au Samedi \`a 1h05 :
1642
1643 \footnotesize
1644 \begin{verbatim}
1645 Schedule {
1646   Name = "WeeklyCycle"
1647   Run = Level=Full sun at 1:05
1648   Run = Level=Incremental mon-sat at 1:05
1649 }
1650 \end{verbatim}
1651 \normalsize
1652
1653 Voici un exemple de cycle mensuel :
1654
1655 \footnotesize
1656 \begin{verbatim}
1657 Schedule {
1658   Name = "MonthlyCycle"
1659   Run = Level=Full Pool=Monthly 1st sun at 1:05
1660   Run = Level=Differential 2nd-5th sun at 1:05
1661   Run = Level=Incremental Pool=Daily mon-sat at 1:05
1662 }
1663 \end{verbatim}
1664 \normalsize
1665
1666 Le premier de chaque mois :
1667
1668 \footnotesize
1669 \begin{verbatim}
1670 Schedule {
1671   Name = "First"
1672   Run = Level=Full on 1 at 1:05
1673   Run = Level=Incremental on 2-31 at 1:05
1674 }
1675 \end{verbatim}
1676 \normalsize
1677
1678 Toutes les dix minutes :
1679
1680 \footnotesize
1681 \begin{verbatim}
1682 Schedule {
1683   Name = "TenMinutes"
1684   Run = Level=Full hourly at 0:05
1685   Run = Level=Full hourly at 0:15
1686   Run = Level=Full hourly at 0:25
1687   Run = Level=Full hourly at 0:35
1688   Run = Level=Full hourly at 0:45
1689   Run = Level=Full hourly at 0:55
1690 }
1691 \end{verbatim}
1692 \normalsize
1693
1694 \subsection*{Notes techniques sur les Schedules}
1695 \index[general]{Schedules!Technical Notes on }
1696 \index[general]{Technical Notes on Schedules }
1697 \addcontentsline{toc}{subsection}{Notes techniques sur les Schedules}
1698 Au niveau interne, Bacula consid\`ere un schedule en tant que bit masque. 
1699 Il y a six masques et un champ minute pour chaque schedule. Les masques sont 
1700 heure, jour du mois (mday), jour de la semaine (wday), semaine du mois (wom), 
1701 et semaine de l'ann\'ee (woy). Le schedule est initialis\'e de fa\\ 3on \`a avoir les 
1702 bits de chacun de ces masques positionn\'es, ce qui signifie qu'au d\'ebut de chaque 
1703 heure, le job sera ex\'ecut\'e. Quand vous sp\'ecifiez un mois pour la premi\`ere 
1704 fois, le masque est effac\'e et le bit correspondant au mois s\'electionn\'e est 
1705 ajout\'e au masque. Si vous sp\'ecifiez un second mois, le bit correspondant 
1706 est aussi ajout\'e. Ainsi, lorsque Bacula examine le masque pour voir si 
1707 les bits plac\'es correspondent \`a la date courante, votre job ne sera ex\'ecut\'e 
1708 que pendant les deux mois que vous avez sp\'ecifi\'es. De m\^eme, si vous sp\'ecifiez 
1709 un horaire, le masque Heure est effac\'e et le bit correspondant \`a l'heure que 
1710 vous avez sp\'ecifi\'ee est plac\'e, les minutes sont quant \`a elles stock\'ees dans le 
1711 champ Minutes.
1712
1713 Pour chacun de vos schedules, vous pouvez visualiser le masque associ\'e 
1714 grâce \`a la commande  {\bf show schedules} du programme Console. 
1715 Notez que le bit masque est "zero based", et que Dimanche est le premier 
1716 jour de la semaine (bit 0)
1717
1718 \subsection*{La ressource FileSet }
1719 \label{FileSetResource}
1720 \index[general]{Resource!FileSet }
1721 \index[general]{FileSet Resource }
1722 \addcontentsline{toc}{subsection}{FileSet Resource}
1723
1724 La ressource FileSet d\'efinit les fichiers \`a inclure dans une sauvegarde. Pour 
1725 chaque job de type sauvegarde, il est n\'ecessaire de d\'efinir au moins une 
1726 ressource {\bf FileSet}. Un {\bf FileSet} consiste en une liste de fichiers 
1727 ou r\'epertoires \`a inclure, une liste de fichiers ou r\'epertoires \`a exclure, et 
1728 diverses options de sauvegardes telles que compression, chiffrement et 
1729 signatures qui doivent \^etre appliqu\'ees \`a chaque fichier.
1730
1731 Toute modification de la liste des fichiers inclus provoque la cr\'eation par Bacula 
1732 d'un nouveau FileSet (d\'efini par le nom et la somme de contr\^ole MD5 du contenu 
1733 du paragraphe Include). Chaque fois qu'un nouveau FileSet est cr\'e\'e, Bacula 
1734 s'assure que la premi\`ere sauvegarde est une Full.
1735
1736 \begin{description}
1737
1738 \item [FileSet]
1739    \index[dir]{FileSet }
1740    D\'ebut de la ressource FileSet. Au moins une ressource {\bf FileSet} doit 
1741    \^etre d\'efinie.
1742
1743 \item [Name = \lt{}name\gt{}]
1744    \index[dir]{Name  }
1745    Le nom de la ressource FileSet. Cette directive est requise.
1746
1747 \item [Ignore FileSet Changes = \lt{}yes|no\gt{}]
1748    \index[dir]{Ignore FileSet Changes  }
1749 Si cette directive est activ\'ee ({\bf yes}), toute modification des listes 
1750 d'inclusion ou d'exclusion du FileSet sera ignor\'ee et Bacula n'\'el\`evera 
1751 pas la prochaine sauvegarde en Full. La valeur par d\'efaut est {\bf no}, ainsi, 
1752 si vous modifiez une des listes d'inclusion ou d'exclusion du FileSet, Bacula 
1753 forcera une sauvegarde Full pour assurer que tout soit bien sauvegard\'e 
1754 proprement. Il n'est pas recommand\'e d'activer cette directive. Cette directive 
1755 est disponible \`a partir de Bacula 1.35.4.
1756
1757 \item [{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1758    \lt{}file-list\gt{} \} 
1759    }]
1760 \index[dir]{Include \  \{ [ Options \{\lt{}file-options\gt{}\} ...]
1761 \lt{}file-list\gt{} \}  }
1762
1763 \item [Options \ \{ \lt{}file-options\gt{} \} 
1764    ]
1765    \index[dir]{Options \  \{ \lt{}file-options\gt{} \}  }
1766
1767 \item [Exclude \ \{ \lt{}file-list\gt{} \}]
1768    \index[dir]{Exclude \  \{ \lt{}file-list\gt{} \} }
1769 \end{description}
1770 La ressource Include doit contenir une liste de r\'epertoires et/ou fichiers 
1771 \`a traiter lors de la sauvegarde. Normalement, tous les fichiers trouv\'es dans 
1772 tous les sous-r\'epertoires de tout r\'epertoire de la liste d'inclusion des 
1773 fichiers seront sauvegard\'es. La ressource Include peut aussi comporter une 
1774 ou plusieurs ressources Options qui sp\'ecifient des param\`etres tels que 
1775 la compression \`a appliquer \`a tous les fichiers ou \`a n'importe quel sous ensemble 
1776 de fichiers \`a sauvegarder.
1777
1778 Le nombre de ressources {\bf Include} par FileSet n'est pas limit\'e, chacune ayant 
1779 sa propre liste de r\'epertoires et/ou fichiers \`a sauvegarder et ses propres 
1780 param\`etres d\'efinis par une ou plusieurs ressources Options. La liste de fichiers 
1781 {\bf file-list} consiste en un nom de fichier ou r\'epertoire par ligne.
1782 Les noms de r\'epertoire doivent \^etre sp\'ecifi\'es sans slash final.
1783
1784 Vous devez toujours sp\'ecifier des chemins absolus pour tout fichier ou 
1785 r\'epertoire que vous placez dans un FileSet. De plus, sur les machines Windows, 
1786 vous devez {\bf toujours} pr\'efixer le r\'epertoire ou nom de fichier d'une 
1787 sp\'ecification de disque (par exemple : {\bf c:/xxx}) en utilisant le s\'eparateur 
1788 de r\'epertoire Unix (slash /).
1789
1790 Le comportement par d\'efaut de Bacula en ce qui concerne le traitement des 
1791 r\'epertoires est de descendre r\'ecursivement dans chaque r\'epertoire 
1792 et de sauvegarder tous les fichiers et sous-r\'epertoires. Par d\'efaut, Bacula 
1793 ne suit pas les syst\`emes de fichiers transverses (en terminologie Unix, les 
1794 points de montage). Ceci signifie que si vous sp\'ecifiez la partition racine 
1795 ( par exemple /), Bacula sauvegardera seulement la partition racine, et aucun 
1796 des syst\`emes de fichiers mont\'es. De fa\\ 3on analogue, sur les syst\`emes Windows, 
1797 vous devez expliciter chacun des disques que vous souhaitez sauvegarder (par 
1798 exemple {\bf c:/} et {\bf d:/}...). De plus, au moins pour les syst\`emes 
1799 Windows, il sera la plupart du temps n\'ecessaire d'encadrer chaque sp\'ecification 
1800 de doubles quotes, particuli\`erement si le nom du r\'epertoire (ou du fichier) 
1801 comporte des espaces. La commande {\bf df} des syst\`emes Unix vous fournira 
1802 la liste des r\'epertoires qu'il vous faudra sp\'ecifier pour tout sauvegarder.
1803 Voyez ci-dessous pour un exemple.
1804
1805 Soyez attentif \`a ne pas inclure un r\'epertoire deux fois, car il serait 
1806 sauvegard\'e deux fois, ce qui gaspillerait l'espace sur votre p\'eriph\'erique 
1807 de sauvegarde. Cette erreur est facile \`a commettre. Par exemple :
1808
1809 \footnotesize
1810 \begin{verbatim}
1811   Include {
1812     File = /
1813     File = /usr
1814     Options { compression=GZIP }
1815   }
1816 \end{verbatim}
1817 \normalsize
1818
1819 Sur un syst\`eme Unix o\`u /usr est un sous r\'epertoire (plut\^ot qu'un syst\`eme de 
1820 fichiers mont\'e), cette ressource Include sauvegarderait /usr deux fois.
1821 Dans ce cas, sur les versions ant\'erieures \`a 1.32f-5-09Mar04, en raison 
1822 d'un bug, vous ne pourriez restaurer les fichiers li\'es physiquement sauvegard\'es 
1823 deux fois.
1824
1825 Si vous avez utilis\'e des versions de Bacula ant\'erieures \`a 1.34.3, vous noterez 
1826 ces modifications dans la syntaxe des FileSets :
1827
1828 \begin{enumerate}
1829 \item il n'y a pas de signe \'egale (=) apr\`es le "include" et avant l'accolade 
1830 ouvrante (\{) ;
1831 \item chaque r\'epertoire (ou nom de fichier) \`a sauvegarder est pr\'ec\'ed\'e de 
1832 "{\bf File =}" ;
1833 \item les options qui apparaissaient pr\'ec\'edemmant sur la ligne Include doivent 
1834 d\'esormais \^etre sp\'ecifi\'ees dans leur propre ressource Options.
1835 \end{enumerate}
1836
1837 La ressource Options est optionnelle, mais lorsqu'elle est sp\'ecifi\'ee, elle doit 
1838 contenir une liste de lignes "{\bf mot-clef=valeur}" relatives aux options \`a appliquer 
1839 \`a la liste de fichiers/r\'epertoires. Plusieurs ressources Options peuvent \^etre 
1840 sp\'ecifi\'ees l'une apr\`es l'autre. Lorsqu'un fichier se trouve dans un dossier 
1841 sp\'ecifi\'e, les options sont appliqu\'ees au nom de fichier pour savoir s'il doit 
1842 \^etre sauvegard\'e, et comment. Les ressources Options sont appliqu\'ees dans l'ordre 
1843 o\`u elles appara\^issent dans le FileSet jusqu'\`a ce qu'il y en ait une qui corresponde. 
1844 Une ressource Options qui ne contient pas de directive  {\bf wild} (sp\'ecification 
1845 de caract\`ere joker, voir ci-dessous) est consid\'er\'ee comme concernant tous les 
1846 fichiers. Il est important de bien comprendre ceci, car une fois que Bacula a 
1847 d\'etermin\'e que des Options s'appliquent \`a un fichier donn\'e, ce fichier sera 
1848 sauvegard\'e sans tenir compte d'aucunes des \'eventuelles autres ressources Options. 
1849 Ceci signifie que toute ressource Options avec caract\`eres joker doit appara\^itre 
1850 avant une ressource Options sans caract\`eres joker. 
1851
1852 Si, pour quelque raison, Bacula applique toutes les ressources Options \`a un 
1853 fichier sans qu'aucune ne corresponde (en g\'en\'eral \`a cause de caract\`eres joker 
1854 qui ne correspondent pas), par d\'efaut Bacula sauvegardera le fichier. Ceci est 
1855 assez logique si vous consid\'erez la situation sans options, o\`u vous souhaitez 
1856 que tout soit sauvegard\'e. De plus, dans le cas ou aucune correspondance n'est  
1857 trouv\'ee, Bacula utilise les options de la derni\`ere ressource Options. Par cons\'equent, 
1858 si vous souhaitez d\'efinir un jeu d'options par d\'efaut, vous devriez les placer 
1859 dans la derni\`ere ressource Options.
1860
1861 Les directives disponibles pour les ressources Options sont les suivantes :
1862
1863 \begin{description}
1864    \item [compression=GZIP]
1865    \index[dir]{compression }
1866    Tous les fichiers sauvegard\'es sont compress\'es (NDT : compression logicielle, 
1867    par opposition \`a la compression mat\'erielle effectu\'ee par le lecteur) au 
1868    format GNU ZIP. Chaque fichier est compress\'e individuellement par le File 
1869    Daemon. S'il y a un probl\`eme \`a la lecture d'une cartouche au niveau de 
1870    l'enregistrement d'un fichier, il affectera tout au plus ce fichier et aucun 
1871    des autres fichiers de la cartouche. La plupart du temps, cette option n'est 
1872    pas n\'ecessaire si vous avez un lecteur de bandes moderne qui applique sa 
1873    propre compression. En fait, si vous activez les deux compressions 
1874    simultan\'ement, il se peut que vos fichiers occupent plus d'espace sur le 
1875    volume qu'avec une seule.
1876
1877    La compression logicielle est particuli\`erement int\'eressante lorsque vous 
1878    sauvegardez sur disque, et peut \^etre d'un grand secours si vous avez un 
1879    ordinateur rapide mais un r\'eseau lent.
1880
1881    La sp\'ecification {\bf GZIP}  utilise le niveau de compression six par d\'efaut 
1882    (i.e. {\bf GZIP} est \'equivalent \`a {\bf GZIP6}). Si vous voulez utiliser un 
1883    niveau diff\'erent (de 1 \`a 9), vous pouvez le sp\'ecifier en ajoutant le num\'ero 
1884    du niveau voulu \`a la fin du mot {\bf GZIP}, sans espace. Ainsi, {\bf compression=GZIP1} 
1885    d\'esigne la compression la moins efficace, mais l'algorithme le plus rapide, 
1886    tandis que {\bf compression=GZIP9} est le niveau de compression le plus \'elev\'e, 
1887    mais requi\`ere plus de puissance de calcul. Selon la documentation GZIP, les 
1888    niveaux de compression sup\'erieurs \`a 6 ne procurent g\'en\'eralement que peu 
1889    de compression suppl\'ementaire alors qu'ils sont plut\^ot exigeants en puissance 
1890    de calcul.
1891
1892    \item [signature=SHA1]
1893    \index[dir]{signature }
1894    La signature SHA1 est calcul\'ee pour tous les fichiers sauvegard\'es. 
1895    L'algorithme SHA1 est 
1896    r\'eput\'e plus lent que MD5, mais bien meilleur d'un point de vue cryptographique 
1897    (i.e. beaucoup moins de collisions et probabilit\'e de piratage bien inf\'erieure.). 
1898    Nous recommandons fortement d'activer l'une ou l'autre des options SHA1 ou MD5 
1899    par d\'efaut pour tous les fichiers. Notez que seule l'une de ces deux options 
1900    peut \^etre activ\'ee pour tout fichier.
1901    
1902    \item [signature=MD5]
1903    \index[dir]{signature }
1904    La signature MD5 est calcul\'ee pour tous les fichiers sauvegard\'es. Activer cette 
1905    option r\'esulte en une charge CPU suppl\'ementaire de l'ordre de 5\% pour chaque 
1906    fichier sauvegard\'e. D'autre part, la signature MD5 ajoute 16 octets 
1907    suppl\'ementaires au catalogue pour chaque fichier sauvegard\'e. Nous recommandons 
1908    fortement d'activer l'une ou l'autre des options SHA1 ou MD5 par d\'efaut pour tous
1909    les fichiers. 
1910
1911    \item [verify=\lt{}options\gt{}]
1912    \index[dir]{verify }
1913    Les "options-lettres" sont utilis\'ees lors de l'ex\'ecution de jobs de type {\bf Verify}
1914    de niveau {\bf Level=Catalog} et de niveau {\bf Level=DiskToCatalog}. Les options
1915    peuvent \^etre n'importe quelle combinaison de ces lettres.
1916
1917 \begin{description}
1918
1919 \item [i]
1920    compare les inodes  
1921
1922 \item [p]
1923    compare bits de permissions  
1924
1925 \item [n]
1926    compare le nombre de liens  
1927
1928 \item [u]
1929    compare les user ids  
1930
1931 \item [g]
1932    compare les group ids  
1933
1934 \item [s]
1935    compare les tailles  
1936
1937 \item [a]
1938    compare les date d'acc\`es (access time)  
1939
1940 \item [m]
1941    compare les dates de modification (st\_mtime)  
1942
1943 \item [c]
1944    compare les dates de changement (st\_ctime)  
1945
1946 \item [s]
1947    signale tout fichier dont la taille a diminu\'e  
1948
1949 \item [5]
1950    compare les signatures MD5  
1951
1952 \item [1]
1953    compare les signatures SHA1  
1954 \end{description}
1955
1956 Le jeu d'options {\bf pins5} (qui compare les bits de permissions, les inodes, 
1957 les nombres de liens, la taille des fichiers et les signatures MD5) est tr\`es 
1958 utile pour des jobs de type verify de niveaux {\bf Level=Catalog} ou 
1959 {\bf Level=DiskToCatalog}.
1960
1961 \item [{\bf onefs=yes|no}]
1962    \index[dir]{onefs }
1963    Si cette option est activ\'ee (valeur {\bf yes}, par d\'efaut), Bacula ne 
1964    changera pas de syst\`eme de fichiers. Autrement dit, il ne sauvegardera pas 
1965    les syst\`emes de fichiers mont\'es sur des sous-r\'epertoires. Si vous souhaitez 
1966    sauvegarder plusieurs syst\`emes de fichiers, vous pouvez les \'enum\'erer 
1967    explicitement. Une autre possibilit\'e consiste \`a d\'esactiver l'option onefs 
1968    ({\bf onefs=no}) afin que Bacula sauvegarde les syst\`emes de fichiers mont\'es 
1969    trouv\'es dans les r\'epertoires list\'es dans votre FileSet. Ainsi, si vous avez 
1970    des syst\`emes de fichiers NFS ou Samba mont\'es sur un r\'epertoire list\'e dans le 
1971    FileSet, ils seront aussi sauvegard\'es. En principe, il est pr\'ef\'erable 
1972    d'activer cette option et de nommer explicitement chaque syst\`eme de fichier 
1973    que vous voulez sauvegarder. Ce nommage explicite \'evite le risque de tomber 
1974    dans une boucle infinie de syst\`emes de fichiers. Voyez l'exemple ci-dessous 
1975    pour plus de d\'etails.
1976
1977 \label{portable}
1978
1979 \item [{\bf portable=yes|no}]
1980    \index[dir]{portable }
1981    Si cette option est activ\'ee (la valeur par d\'efaut est {\bf no}), le File Daemon 
1982    sauvegarde les fichiers win32 dans un format portable, mais tous les attributs 
1983    de fichiers win32 ne seront pas sauvegard\'es ni restaurables. La valeur par 
1984    d\'efaut est {\bf no}, ce qui signifie que sur les syst\`emes Win32, les donn\'ees 
1985    sont sauvegard\'ees en utilisant les appels Windows API et sur les WinNT/2k/XP, 
1986    tous les attributs de s\'ecurit\'e et de propri\'et\'e sont correctement sauvegard\'es 
1987    et restaur\'es. Cependant, ce format n'est pas portable aux autres syst\`emes 
1988    -- par exemple UNIX, Win95/98/Me. Lors de la sauvegarde de syst\`emes Unix, 
1989    cette option est ignor\'ee, et \`a moins que vous n'ayez un besoin sp\'ecifique de 
1990    portabilit\'e de vos sauvegardes, nous recommandons d'accepter la valeur par 
1991    d\'efaut ({\bf no}) de sorte qu'un maximum d'informations concernant vos 
1992    fichiers soit sauvegard\'e.
1993
1994 \item [{\bf recurse=yes|no}]
1995    \index[dir]{recurse }
1996    Si cette option est activ\'ee (la valeur par d\'efaut est {\bf yes}), Bacula 
1997    descend r\'ecursivement dans tout sous-r\'epertoire trouv\'e, \`a moins qu'il ne soit 
1998    explicitement exclu par une d\'efinition {\bf exclude}. Si vous d\'esactivez cette 
1999    option ({\bf recurse=no}), Bacula sauvegardera toutes les entr\'ees de sous-
2000    r\'epertoires, mais n'entrera pas dans ces sous-r\'epertoires, et ainsi ne 
2001    sauvegardera pas les fichiers ou \'epertoires contenus dans ces sous-r\'epertoires.
2002    En principe, vous pr\'ef\`ererez la valeur par d\'efaut ({\bf yes}).
2003
2004 \item [{\bf sparse=yes|no}]
2005    \index[dir]{sparse }
2006    Cette option active un code sp\'ecial qui d\'etecte les fichiers clairsem\'es tels 
2007    ceux cr\'e\'es par ndbm. Elle est d\'esactiv\'ee par d\'efaut ({\bf sparse=no}), de sorte 
2008    qu'aucun contr\^ole n'est fait pour rechercher les fichiers clairsem\'es. Vous 
2009    pouvez l'activer sans danger sur des fichiers non clairsem\'es, cependant elle 
2010    entra\^ine une l\'eg\`ere charge suppl\'ementaire pour la d\'etection de tampons remplis 
2011    de z\'eros (buffers of all zero), et un l\'eger surplus d'espace sur l'archive 
2012    de sortie sera utilis\'e pour ssauver les adresses de recherche de chaque 
2013    enregistrement non-nul trouv\'e.
2014
2015 {\bf Restrictions:} Bacula lit les fichiers dans des tampons de 32K. Si le tampon 
2016 entier est rempli de z\'eros, il sera trait\'e en tant que bloc clairsem\'e, et ne sera pas 
2017 \'ecrit sur la cartouche. En revanche, si une partie quelconque du tampon est 
2018 non-nulle, le tampon sera int\'egralement copi\'e sur la cartouche, avec \'eventuellement 
2019 des secteurs de disque (g\'en\'eralement 4098 octets) enti\`erement nuls. La d\'etection par 
2020 Bacula des blocs clairsem\'es a lieu sur des blocs de 32K plut\^ot que sur des blocs de 
2021 taille d\'etermin\'ee par le syst\`eme. Si quelqu'un consid\`ere ceci comme un r\'eelle 
2022 probl\`eme, merci d'envoyer une demande de modification en exposant les raisons.
2023 Ce code est apparu avec la version 1.27 de Bacula. 
2024
2025 Si vous n'\^etes pas familier avec les notions de fichiers clairsem\'es, prenons 
2026 pour exemple un fichier o\`u vous \'ecrivez 512 octets \`a l'adresse 0, puis 512 octets 
2027 \`a l'adresse 1 million. Le syst\`eme d'exploitation n'allouera que deux blocs, et 
2028 rien n'est allou\'e pour l'espace vide. Pourtant, lorsque vous lisez le fichier 
2029 clairsem\'e, le syst\`eme retourne tous les z\'eros comme si l'espace \'etait allou\'e, 
2030 et si vous sauvegardez un tel fichier, vous utiliserez beaucoup d'espace 
2031 sur le volume pour \'ecrire des z\'eros. Pire encore, lorsque vous restaurez ce 
2032 fichier \`a son emplacement initial, tous les emplacements pr\'ec\'edemment vides 
2033 seront cette fois allou\'es, occupant ainsi beaucoup plus d'espace disque.
2034 En activant l'option {\bf sparse}, Bacula recherchera sp\'ecifiquement l'espace 
2035 vide dans les fichiers afin d'\'eviter ces inconv\'enients. Le prix \`a payer est que 
2036 Bacula doit d'abord examiner chaque bloc lu avant de l'\'ecrire. Sur un syst\`eme lent, 
2037 ceci peut-\^etre important. Si vous suspectez certains de vos fichiers d'\^etre 
2038 clairsem\'es, vous devriez mesurer les performances et gains d'espace avec et 
2039 sans l'options, ou ne l'activer que pour les fichiers effectivement 
2040 clairsem\'es.
2041
2042 \label{readfifo}
2043
2044 \item [{\bf readfifo=yes|no}]
2045    \index[dir]{readfifo }
2046 Cette option, si elle est activ\'ee, indique au client de lire les donn\'ees 
2047 (lors d'une sauvegarde) et de les \'ecrire (lors d'une restauration) sur 
2048 un FIFO (pipe) explicitement explicitement mentionn\'e dans le FileSet.
2049 Dans ce cas, vous devez avoir un programme actif qui \'ecrit sur ce FIFO 
2050 dans le cas d'une sauvegarde, ou qui le lit dans le cas d'une restauration.
2051 (Ceci peut \^etre accompli par la directive {\bf RunBeforeJob}). Si cette 
2052 condition n'est pas satisfaite, Bacula demeurera en suspens ind\'efiniment 
2053 en lecture/\'ecriture du FIFO. Lorsque cette option est d\'esactiv\'ee (par d\'efaut), 
2054 le Client sauvegarde simplement l'entr\'ee du r\'epertoire pour le FIFO.
2055
2056 \item [{\bf mtimeonly=yes|no}]
2057    \index[dir]{mtimeonly }
2058 Cette option, si elle est activ\'ee, indique au client que la s\'election de fichiers 
2059 lors d'une sauvegarde incr\'ementale ou diff\'erentielle ne doit se r\'ef\'erer qu'aux valeurs 
2060 de  st\_mtime du paquet stat(). La valeur par d\'efaut est {\bf no}, ce qui signifie 
2061 que la s\'election de fichiers \`a sauvegarder se base sur les deux valeurs st\_mtime et 
2062 st\_ctime. En g\'en\'eral, il n'est pas recommand\'e d'activer cette option.
2063    
2064 \item [{\bf keepatime=yes|no}]
2065    \index[dir]{keepatime }
2066 Avec cette option activ\'ee, Bacula r\'etablit le champ st\_atime (date d'acc\`es) des 
2067 fichiers qu'il sauvegarde \`a leur valeur d'avant la sauvegarde. Cette option 
2068 n'est g\'en\'eralement pas recommand\'ee car il existe peu de programmes qui utilisent 
2069 st\_atime, et la charge de la sauvegarde se trouve augment\'ee par les appels 
2070 syst\`emes n\'ecessaires pour r\'etablir les dates. (Je ne suis pas sur que ceci 
2071 fonctionne sous Win32).
2072
2073 \item [{\bf wild=\lt{}string\gt{}}]
2074    \index[dir]{wild }
2075 Sp\'ecifie une cha\^ine de caract\`eres jokers \`a appliquer aux fichiers. Notez 
2076 que si {\bf Exclude} n'est pas activ\'ee, cette cha\^ine s\'electionnera les fichiers 
2077 \`a sauvegarder. Si au contraire {\bf Exclude=yes} est sp\'ecifi\'e, la cha\^ine 
2078 s\'electionnera les fichiers \`a exclure de la sauvegarde. Plusieurs directives 
2079 wild-card peuvent \^etre sp\'ecifi\'ees et sont appliqu\'ees s\'equentiellement 
2080 jusqu'\`a ce que l'une d'elles corresponde.
2081
2082 \item [{\bf regex=\lt{}string\gt{}}]
2083    \index[dir]{regex }
2084 Sp\'ecifie une expression r\'eguli\`ere \'etendue POSIX \`a appliquer aux fichiers.
2085 Cette directive est disponible \`a partir de Bacula 1.35. Si {\bf Exclude} n'est 
2086  pas activ\'ee, cette expression r\'eguli\`ere s\'electionnera les fichiers \`a 
2087  sauvegarder. Si au contraire {\bf Exclude=yes} est sp\'ecifi\'e, elle s\'electionnera 
2088  les fichiers \`a exclure de la sauvegarde. Plusieurs directives regex  peuvent \^etre 
2089  sp\'ecifi\'ees et sont appliqu\'ees s\'equentiellement jusqu'\`a ce que l'une d'elles corresponde.
2090
2091 \item [{\bf exclude=yes|no}]
2092    \index[dir]{exclude }
2093 Lorsque cette option est activ\'ee, tout fichier qui correspond aux options est exclu de 
2094 la sauvegarde. La valeur par d\'efaut est {\bf no}.
2095
2096 \label{ACLSupport}
2097
2098 \item [{\bf aclsupport=yes|no}]
2099    \index[dir]{aclsupport }
2100    Si cette option est activ\'ee, et si vous avez install\'e la librarie POSIX {\bf libacl} 
2101    sur votre syst\`eme, Bacula sauvegardera Listes de Contr\^oles d'Acc\`es (ACL) UNIX des 
2102    fichiers et r\'epertoires telles que d\'efinies dans IEEE Std 1003.1e version 17 et 
2103    "POSIX.1e" (abandonn\'e). Cette fonction n'est disponible que sur UNIX et d\'epend de 
2104    la librairie ACL. Bacula est automatiquement compil\'e avec le support ACL si la 
2105    librairie {\bf libacl} est install\'ee sur votre syst\`eme (ceci est report\'e dans 
2106    le fichier config.out). Lors de la restauration, Bacula tentera de restaurer les 
2107    ACLs. S'il n'y a pas de support ACL sur le syst\`eme cible, Bacula ne restaurera que les 
2108    fichiers et r\'epertoires sans les informations ACL. Veuillez noter que si vous 
2109    sauvegardez un syst\`eme de fichiers EXT3 ou XFS avec le support des ACLs, et que vous 
2110    restaurez vers un syst\`eme de fichiers sans ACLs (tel , peut-\^etre reiserfs), les 
2111    ACLs seront ignor\'ees.
2112
2113 \end{description}
2114
2115 {\bf \lt{}file-list\gt{}} est une liste de r\'epertoires et/ou noms de fichiers sp\'ecifi\'es 
2116 avec la directive  {\bf File =}. Pour inclure des noms contenant des espaces, 
2117 entourez-les de guillemets (doubles quotes).
2118
2119 Il existe quelques notations particuli\`eres pour sp\'ecifier des fichiers et r\'epertoires 
2120 dans une liste de fichiers {\bf file-list}. Les voici :
2121
2122 \begin{itemize}
2123 \item Tout nom pr\'ec\'ed\'e d'un signe "at" (@) est compris comme le nom d'un fichier, 
2124    lequel contient une liste de fichiers, chacun pr\'ec\'ed\'e d'une directive "File=". 
2125    Ce fichier est lu lorsque le fichier de configuration est parcouru au d\'emarrage 
2126    du Director. Notez bien que le fichier est lu sur sur la machine qui h\'eberge le 
2127    Director (autrement dit, le serveur de sauvegardes) et non sur le Client.
2128    En fait, le "@NomDeFichier" peut appara\^itre n'importe o\`u dans le fichier de 
2129    configuration o\`u un objet pourrait \^etre lu, le contenu du fichier d\'esign\'e sera 
2130    logiquement ins\'er\'e \`a l'emplacement du "@NomDeFichier". Ce qui doit figurer dans le 
2131    fichier d\'epend de l'emplacement du "@NomDeFichier" au sein du fichier de 
2132    configuration.
2133 \item Tout nom pr\'ec\'ed\'e d'une barre verticale (|) est compris comme le nom d'un 
2134    programme. Ce programme sera ex\'ecut\'e sur la machine qui h\'eberge le Director au 
2135    moment o\`u le job d\'emarre (et non lorsque le Director lit son fichier de 
2136    configuration), et toute sortie de ce programme sera per\\ 3u en tant que liste 
2137    de fichiers ou r\'epertoires, un par ligne, \`a inclure. Ceci vous permet d'avoir un 
2138    job qui, par exemple, inclue toutes les partitions locales m\^eme si vous changez le 
2139    partitionnement en ajoutant des disques. En g\'en\'eral, il vous faudra pr\'ec\'eder 
2140    votre commande d'un "{\bf sh -c}" afin qu'elle soit invoqu\'ee par un shell. 
2141    Ce ne sera pas le cas si vous invoquez un script comme dans le second exemple 
2142    ci-dessous.  Vous devez aussi prendre soin d'\'echapper (pr\'ec\'eder d'un \textbackslash{}) 
2143    les caract\`eres jokers, les caract\`eres du shell, ainsi que toute espace dans votre 
2144    commande. Si vous utilisez des simples quotes (') dans des doubles quotes (``), 
2145    Bacula traitera tout ce qui est entre simples quotes comme un seul champ, et il ne 
2146    dera donc pas n\'ecessaire d'\'echapper les espaces. En g\'en\'eral, parvenir \`a avoir 
2147    toutes les quotes et \'echappements corrects est un calvaire, comme vous pouvez 
2148    le constater dans le prochain exemple. Par cons\'equent, il est souvent plus facile 
2149    de tout mettre dans un fichier et d'utiliser simplement le nom de fichier dans 
2150    Bacula. Dans ce cas le "{\bf sh -c}" ne sera plus n\'ecessaire, pourvu que la 
2151    premi\`ere ligne du fichier soit {\bf \#!/bin/sh}.
2152
2153
2154 Par exemple : 
2155
2156 \footnotesize
2157 \begin{verbatim}
2158  
2159 Include {
2160    Options { signature = SHA1 }
2161    File = "|sh -c 'df -l | grep \"^/dev/hd[ab]\" | grep -v \".*/tmp\" \
2162       | awk \"{print \\$6}\"'"
2163 }
2164 \end{verbatim}
2165 \normalsize
2166
2167 produira une liste de toutes les partitions locales sur un syst\`eme RedHat Linux. 
2168 Notez que la ligne si dessus a \'et\'e coup\'ee, mais devrait normalement \^etre \'ecrite 
2169 sur une seule ligne. Quoter est un r\'eel probl\`eme car vous devez d'une part le faire 
2170 pour Bacula - ce qui consiste \`a pr\'ec\'eder tout \textbackslash{} et tout '' avec un 
2171 \textbackslash{} - et d'autre part pour les commandes shell. En d\'efinitive, il est 
2172 probablement plus ais\'e d'ex\'ecuter un petit fichier tel que :
2173
2174 \footnotesize
2175 \begin{verbatim}
2176 Include {
2177   Options {
2178     signature=MD5
2179   }
2180   File = "|my_partitions"
2181 }
2182 \end{verbatim}
2183 \normalsize
2184
2185 o\`u le fichier my\_partitions contient :
2186
2187 \footnotesize
2188 \begin{verbatim}
2189 #!/bin/sh
2190 df -l | grep "^/dev/hd[ab]" | grep -v ".*/tmp" \
2191       | awk "{print \$6}"
2192 \end{verbatim}
2193 \normalsize
2194
2195 Si la barre verticale (|) devant "my\_partitions" est pr\'ec\'ed\'ee d'une barre oblique 
2196 (\textbackslash{}), le programme sera ex\'ecut\'e sur la machine cliente plut\^ot que sur 
2197 la machine h\'ebergeant le Director -- (ceci est impl\'ement\'e, mais n'est pas compl\`etement 
2198 test\'e, et a \'et\'e rapport\'e fonctionner sous Windows). Veuillez noter que si le nom de 
2199 fichier est donn\'e entre quotes, vous devrez utiliser deux barres obliques. Voci un 
2200 exemple, fourni par John Donagher, qui sauvegarde toutes les partitions UFS locales 
2201 sur un syst\`eme distant :
2202
2203 \footnotesize
2204 \begin{verbatim}
2205 FileSet {
2206   Name = "All local partitions"
2207   Include {
2208     Options { signature=SHA1; onefs=yes; }
2209     File = "\\|bash -c \"df -klF ufs | tail +2 | awk '{print \$6}'\""
2210   }
2211 }
2212 \end{verbatim}
2213 \normalsize
2214
2215 Notez que deux barres obliques \textbackslash{} sont requises apr\`es les doubles quotes 
2216 (l'une pr\'eserve l'autre). Si vous utilisez Linux, changez simplement {\bf ufs} en {\bf ext3} 
2217 (ou votre syst\`eme de fichiers pr\'ef\'er\'e) et l'affaire sera dans le sac.
2218
2219 \item Tout \'el\'ement de la liste de fichiers file-list pr\'ec\'ed\'e par un signe "inf\'erieur" (\lt{}) 
2220 est interpr\'et\'e comme un fichier qui sera lu sur la machine qui h\'eberge le Director 
2221 au moment o\`u le job d\'emarre. Son contenu est suppos\'e \^etre une liste de r\'epertoires ou 
2222 fichiers, un par ligne, \`a inclure dans la sauvegarde. Les noms ne doivent pas \^etre quot\'es, m\^eme 
2223 s'ils comportent des espaces. Cette fonction vous permet de modifier le fichier externe, 
2224 et ainsi ce qui est sauvegard\'e sans avoir \`a red\'emarrer Bacula comme il le faudrait avec 
2225 le modificateur @ d\'ecrit plus haut.
2226
2227 Si vous pr\'ec\'edez le signe "inf\'erieur" (\lt{}) d'une barre oblique \textbackslash{}\lt{}, le 
2228 fichier mentionn\'e sera lu sur la machine cliente au lieu de celle h\'ebergeant le Director. 
2229 Veullez noter que si le nom de fichier est donn\'e entre quotes, il vous faudra utiliser deux 
2230 barres obliques.
2231
2232 \item Si vous sp\'ecifiez explicitement un block device (NDT ?) tel que {\bf /dev/hda1}, alors 
2233 Bacula consid\`erera ceci comme une partition raw \`a sauvegarder. Dans ce cas, vous \^etes 
2234 fortement invit\'e \`a utiliser l'option {\bf sparse=yes}, faute de quoi vous sauvegarderez 
2235 la partition enti\`ere plut\^ot que seulement les donn\'ees r\'eellement contenues dans la 
2236 partition. Par exemple :
2237
2238 \footnotesize
2239 \begin{verbatim}
2240 Include {
2241   Options { signature=MD5; sparse=yes }
2242   File = /dev/hd6
2243 }
2244 \end{verbatim}
2245 \normalsize
2246
2247 va sauvegarder les donn\'ees de la partition /dev/hd6.
2248
2249 will backup the data in device /dev/hd6.  
2250
2251 Ludovic Strappazon a fait remarquer que cette fonction pouvait servir \`a sauvegarder 
2252 un disque Microsoft Windows. Il suffit de booter avec un Linux Rescue Disk, puis de 
2253 charger un client Bacula statiquement li\'e comme d\'ecrit dans le chapitre 
2254 \ilink{ Disaster Recovery avec Bacula}{_ChapterStart38} de ce manuel. Sauvegardez alors 
2255 la partition compl\`ete. En cas de d\'esastre, vous pouvez alors restaurer la partition 
2256 d\'esir\'ee en bootant une fois encore sur le Linux Rescue Disk et en utilisant le 
2257 client Bacula  statiquement li\'e.
2258
2259
2260 \item Si vous sp\'ecifiez explicitement un p\'eriph\'erique FIFO nomm\'e (cr\'e\'e avec mkfifo), 
2261 ets si vous ajoutez l'option {\bf readfifo=yes}, Bacula lira le FIFO et sauvegardera ses 
2262 donn\'ees sur le volume. Par exemple :
2263
2264 \footnotesize
2265 \begin{verbatim}
2266 Include {
2267   Options {
2268     signature=SHA1
2269     readfifo=yes
2270   }
2271   File = /home/abc/fifo
2272 }
2273 \end{verbatim}
2274 \normalsize
2275
2276 si {\bf /home/abc/fifo} est un FIFO, Bacula va l'ouvrir, le lire, et stocker 
2277 toutes les donn\'ees ainsi obtenues sur le volume. Notez qu'il faut que vous ayez 
2278 un processus qui \'ecrit sur le FIFO, faute de quoi Bacula restera en suspens, et 
2279 abandonnera au bout d'une minute pour passer au fichier suivant. Les donn\'ees 
2280 lues peuvent \^etre de nature quelconque puisque Bacula les traite comme un flux.
2281
2282 Cette fonction est un excellent moyen de faire une sauvegarde "\`a chaud" d'une 
2283 tr\`es grosse base de donn\'ees. Vous pouvez utiliser la directive {\bf RunBeforeJob} 
2284 pour cr\'eer le FIFO et d\'emarrer un programme qui lit dynamiquement votre base de 
2285 donn\'ees et l'\'ecrit sur le FIFO. Bacula l'\'ecrira alors sur le volume.
2286
2287 Lors de l'op\'eration de restauration, l'inverse se produit : apr\`es que Bacula ait cr\'e\'e 
2288 le FIFO, s'il y avait des donn\'ees stock\'ees par son biais (inutile de les lister 
2289 explicitement ni d'ajouter aucune option), elles seront renvoy\'ees vers le FIFO. 
2290 Par cons\'equent, s'il existe un tel FIFO \`a restaurer, vous devez vous assurer 
2291 qu'il y a un programme lecteur ou Bacula se bloquera et passera au fichier suivant 
2292 apr\`es une minute.
2293
2294 \end{itemize}
2295
2296 \end{description}
2297
2298 Voici un exemple de d\'efinition de ressource FileSet valide. Notez que le premier 
2299 Include  ins\`ere le contenu du fichier {\bf /etc/backup.list} lors du d\'emarrage 
2300 de Bacula (i.e. le @). 
2301
2302 \footnotesize
2303 \begin{verbatim}
2304 FileSet {
2305   Name = "Full Set"
2306   Include {
2307     Options {
2308       Compression=GZIP
2309       signature=SHA1
2310       Sparse = yes
2311     }
2312     File = @/etc/backup.list
2313   }
2314   Include {
2315      Options {
2316         wild = *.o
2317         Exclude = yes
2318      }
2319      File = /root/myfile
2320      File = /usr/lib/another_file
2321   }
2322 }
2323 \end{verbatim}
2324 \normalsize
2325
2326 Notez que dans l'exemple ci-dessus, tous les fichiers mentionn\'es dans 
2327 /etc/backup.list seront compress\'e avec GZIP, qu'une signature SHA1 sera 
2328 calcul\'ee sur le contenu des fichiers (leurs donn\'ees), et que la prise en 
2329 charge particuli\`ere des fichiers clairsem\'es (sparse) s'appliquera.
2330
2331 Les deux r\'epertoires /root/myfile et /usr/lib/another\_file seront aussi 
2332 sauvegard\'es sans aucune option, mais tous les fichiers \`a extension  {\bf .o} 
2333 de ces r\'epertoires seront exlus de la sauvegarde.  
2334
2335 Supposons que vous vouliez sauvegarder tout sauf {\bf /tmp} sur votre syst\`eme.
2336 La commande {\bf df} vous fournit le r\'esultat suivant :
2337
2338 \footnotesize
2339 \begin{verbatim}
2340 [kern@rufus k]$ df
2341 Filesystem      1k-blocks      Used Available Use% Mounted on
2342 /dev/hda5         5044156    439232   4348692  10% /
2343 /dev/hda1           62193      4935     54047   9% /boot
2344 /dev/hda9        20161172   5524660  13612372  29% /home
2345 /dev/hda2           62217      6843     52161  12% /rescue
2346 /dev/hda8         5044156     42548   4745376   1% /tmp
2347 /dev/hda6         5044156   2613132   2174792  55% /usr
2348 none               127708         0    127708   0% /dev/shm
2349 //minimatou/c$   14099200   9895424   4203776  71% /mnt/mmatou
2350 lmatou:/          1554264    215884   1258056  15% /mnt/matou
2351 lmatou:/home      2478140   1589952    760072  68% /mnt/matou/home
2352 lmatou:/usr       1981000   1199960    678628  64% /mnt/matou/usr
2353 lpmatou:/          995116    484112    459596  52% /mnt/pmatou
2354 lpmatou:/home    19222656   2787880  15458228  16% /mnt/pmatou/home
2355 lpmatou:/usr      2478140   2038764    311260  87% /mnt/pmatou/usr
2356 deuter:/          4806936     97684   4465064   3% /mnt/deuter
2357 deuter:/home      4806904    280100   4282620   7% /mnt/deuter/home
2358 deuter:/files    44133352  27652876  14238608  67% /mnt/deuter/files
2359 \end{verbatim}
2360 \normalsize
2361
2362 Si vous vous contentez de sp\'ecifier {\bf /} dans votre liste d'inclusions, 
2363 Bacula ne sauvegardera que le syst\`eme de fichiers {\bf /dev/hda5}. Pour 
2364 sauvegarder tous vos syst\`emes de fichiers sans inclure les syst\`emes de fichiers 
2365 mont\'es Samba ou NFS et en excluant /tmp, /proc, .journal, et .autofsck, que 
2366 vous ne voulez ni sauvegarder ni restaurer, vous pouvez utiliser ce qui suit :
2367
2368 \footnotesize
2369 \begin{verbatim}
2370 FileSet {
2371   Name = Include_example
2372   Include {
2373     Options {
2374        wild = /proc
2375        wild = /tmp
2376        wild = \.journal
2377        wild = \.autofsck
2378        exclude = yes
2379     }
2380     File = /
2381     File = /boot
2382     File = /home
2383     File = /rescue
2384     File = /usr
2385   }
2386 }
2387 \end{verbatim}
2388 \normalsize
2389
2390 /tmp \'etant sur son propre syst\`eme de fichiers et n'\'etant pas explicitement nomm\'e 
2391 dans la liste d'inclusion, il n'est pas n\'ecessaire de le sp\'ecifier dans la liste 
2392 d'exclusion. Cependant, il peut \^etre pr\'ef\'erable de le faire malgr\'e tout par 
2393 souci de clart\'e et au cas o\`u il ne serait plus sur sa propre partition apr\`es un 
2394 remplacement de disques.
2395
2396 Ayez conscience qu'il peut \^etre {\bf tr\`es} dangereux de permettre \`a Bacula de traverser ou 
2397 changer de syst\`eme de fichiers au gr\'e des ppoints de montage. Par exemple, avec ce qui suit : 
2398
2399 \footnotesize
2400 \begin{verbatim}
2401 FileSet {
2402   Name = "Bad example"
2403   Include {
2404     Options { onefs=no }
2405     File = /mnt/matou
2406   }
2407 }
2408 \end{verbatim}
2409 \normalsize
2410
2411 vous sauvegardez une partition NFS mont\'ee ({\bf /mnt/matou}), et puisque 
2412 {\bf onefs} est d\'esactiv\'ee, Bacula traverse les syst\`emes de fichiers. 
2413 Si jamais {\bf /mnt/matou} contient lui m\^eme un point de montage o\`u le syst\`eme 
2414 de fichiers de la machine sauvegard\'ee est mont\'e, ce qui est souvent le cas, 
2415 vous vous retrouvez pris dans un boucle r\'ecursive, et la sauvegarde ne se 
2416 terminera jamais.
2417
2418 Le FileSet suivant sauvegarde une partition raw :
2419
2420 \footnotesize
2421 \begin{verbatim}
2422 FileSet {
2423   Name = "RawPartition"
2424   Include {
2425     Options { sparse=yes }
2426     File = /dev/hda2
2427   }
2428 }
2429 \end{verbatim}
2430 \normalsize
2431
2432 Lorsque vous sauvegardez et restaurez une partition raw, vous devriez vous 
2433 assurer qu'aucun autre processus, y compris le syst\`eme, n'\'ecrit sur cette 
2434 partition. En guise de pr\'ecaution, nous recommandons ardemment de ne sauvegarder 
2435 en mode raw que des partitions non mont\'ees, ou mont\'ees en lecture seule. Ceci peut 
2436 \^etre fait si n\'ecessaire avec la directive {\bf RunBeforeJob}.
2437
2438 \label{win32}
2439
2440 \subsection*{Consid\'erations sur les FileSets Windows}
2441 \index[general]{FileSets!Windows Considerations for }
2442 \index[general]{Windows Considerations for FileSets }
2443 \addcontentsline{toc}{subsection}{Windows Considerations for FileSets}
2444
2445 Si vous saisissez des noms de fichiers Windows, les chemins des r\'epertoires devraient 
2446 \^etre pr\'ec\'ed\'es de double-points (comme dans "c:"). Cependant, les s\'eparateurs de 
2447 champs doivent \^etre sp\'ecifi\'es selon la convention Unix (c'est \`a dire, la barre oblique 
2448 avant : "/"). Si vous souhaitez inclure une apostrophe dans un nom de fichier, pr\'ec\'edez-la 
2449 d'une barre oblique arri\`ere (\textbackslash{}\textbackslash{}). Par exemple, vous pourriez 
2450 utiliser ce qui suit pour sauvegarder le r\'epertoire "My Documents" d'une machine Windows :
2451
2452 \footnotesize
2453 \begin{verbatim}
2454 FileSet {
2455   Name = "Windows Set"
2456   Include {
2457     Options {
2458        wild = *.obj
2459        wild = *.exe
2460        exclude = yes
2461      }
2462      File = "c:/My Documents"
2463   }
2464 }
2465 \end{verbatim}
2466 \normalsize
2467
2468 Pour que les listes d'exclusion fonctionnent correctement sous Windows, vous devez 
2469 observer les r\`egles suivante :
2470
2471 \begin{itemize}
2472 \item les noms de fichiers sont sensibles \`a la casse, aussi vous devez utilise la 
2473 casse correcte ;
2474 \item vous ne devez pas sp\'ecifier de barre oblique finale pour exclure un r\'epertoire ;
2475 \item si vos noms de fichiers comportent des espaces, vous devez les encadrer de 
2476 quillemets. Les barres obliques arri\`eres (\textbackslash{}\textbackslash{}) ne 
2477 fonctionnent pas ;
2478 \item si vous utilisez l'ancienne syntaxe des listes d'exclusion (mentionn\'ee ci-dessous), 
2479 vous ne devriez pas sp\'ecifier la lettre r\'ef\'eren\\ 3ant le disque dans une liste d'exclusion. 
2480 La nouvelle syntaxe d\'ecrite ci-dessus devrait fonctionner correctement en incluant la lettre 
2481 du disque.
2482 \end{itemize}
2483
2484 Merci \`a Thiago Lima pour nous avoir r\'esum\'e les points ci-dessus. Si vous rencontrez 
2485 des difficult\'es pour faire fonctionner vos listes d'inclusion ou d'exclusion, 
2486 songez \`a utiliser la commande {\bf estimate job=xxx listing} document\'ee 
2487 dans le chapitre \ilink{Console chapter}{estimate} de ce manuel.
2488
2489 Sur les syst\`emes Win32, si vous d\'eplacez un r\'epertoire ou si vous renommez 
2490 un fichier de la liste \`a sauvegarder, et si une Full a d\'ej\`a eu lieu, Bacula 
2491 ne saura reconna\^itre qu'il existe de nouveaux fichiers \`a sauvegarder lors d'une 
2492 incr\'ementale ou d'une diff\'erentielle (faites-en le reproche \`a Microsoft, pas \`a moi !). 
2493 Pour pallier \`a ce probl\`eme, veuillez copier tout r\'epertoire ou fichier de la 
2494 zone sauvegard\'ee. Si vous ne disposez pas de suffisamment d'espace disque, 
2495 d\'eplacez-les, mais lancez alors une sauvegarde Full.
2496
2497 \subsubsection*{Exclusion de fichiers et r\'epertoires}
2498 \index[general]{Directories!Excluding Files and }
2499 \index[general]{Excluding Files and Directories }
2500 \addcontentsline{toc}{subsubsection}{Exclusion de fichiers et r\'epertoires}
2501
2502 Vous pouvez aussi inclure des noms de fichiers ou chemins absolus, en plus 
2503 de l'utilisation de caract\`eres jokers et de la directive {\bf Exclude=yes} dans 
2504 les ressources Options comme expos\'e ci-dessus, en ajoutant simplement 
2505 les fichiers \`a exclure dans une ressource Exclude du FileSet. Par exemple :
2506
2507 \footnotesize
2508 \begin{verbatim}
2509 FileSet {
2510   Name = Exclusion_example
2511   Include {
2512     Options {
2513       Signature = SHA1
2514     }
2515     File = /
2516     File = /boot
2517     File = /home
2518     File = /rescue
2519     File = /usr
2520   }
2521   Exclude {
2522     File = /proc
2523     File = /tmp
2524     File = .journal
2525     File = .autofsck
2526   }
2527 }
2528 \end{verbatim}
2529 \normalsize
2530
2531 \subsection*{Un exemple de FileSet Windows}
2532 \index[general]{FileSet!Windows Example }
2533 \index[general]{Un exemple de FileSet Windows}
2534 \addcontentsline{toc}{subsection}{Un exemple de FileSet Windows}
2535
2536 Cet exemple est une contribution de Phil Stracchino :
2537
2538 \footnotesize
2539 \begin{verbatim}
2540 This is my Windows 2000 fileset:
2541 FileSet {
2542   Name = "Windows 2000 Full Set"
2543   Include {
2544     Options {
2545        signature=MD5
2546     }
2547     File = c:/
2548   }
2549   Exclude {
2550 # Most of these files are excluded not because we don't want
2551 #  them, but because Win2K won't allow them to be backed up
2552 #  except via proprietary Win32 API calls.
2553     File = "/Documents and Settings/*/Application Data/*/Profiles/
2554            */*/Cache/*"
2555     File = "/Documents and Settings/*/Local Settings/Application Data/
2556            Microsoft/Windows/[Uu][Ss][Rr][Cc][Ll][Aa][Ss][Ss].*"
2557     File = "/Documents and Settings/*/[Nn][Tt][Uu][Ss][Ee][Rr].*"
2558     File = "/Documents and Settings/*/Cookies/*"
2559     File = "/Documents and Settings/*/Local Settings/History/*"
2560     File = "/Documents and Settings/*/Local Settings/
2561            Temporary Internet Files/*"
2562     File = "/Documents and Settings/*/Local Settings/Temp/*"
2563     File = "/WINNT/CSC"
2564     File = "/WINNT/security/logs/scepol.log"
2565     File = "/WINNT/system32/config/*"
2566     File = "/WINNT/msdownld.tmp/*"
2567     File = "/WINNT/Internet Logs/*"
2568     File = "/WINNT/$Nt*Uninstall*"
2569     File = "/WINNT/Temp/*"
2570     File = "/temp/*"
2571     File = "/tmp/*"
2572     File = "/pagefile.sys"
2573   }
2574 }
2575 \end{verbatim}
2576 \normalsize
2577
2578 Remarque : les trois lignes coup\'ees de cette liste d'exclusion ne l'ont \'et\'e 
2579 que pour des motifs de mise en page, elles doivent en r\'ealit\'e \^etre \'ecrites 
2580 sur une seule ligne.
2581
2582 \subsection*{L'ancienne ressource FileSet}
2583 \index[general]{Resource!Old FileSet }
2584 \index[general]{L'ancienne ressource FileSet}
2585 \addcontentsline{toc}{subsection}{L'ancienne ressource FileSet}
2586
2587 L'ancienne Ressource FileSet des versions ant\'erieures \`a 1.34.3 est obsol\`ete, 
2588 mais fonctionne encore. Nous vous encourageons \`a utiliser la nouvelle forme, 
2589 car le code correspondant sera supprim\'e \`a partir de la version 1.37.
2590
2591 \subsection*{Tester vos FileSets}
2592 \index[general]{FileSet!Testing Your }
2593 \index[general]{Tester vos FileSets }
2594 \addcontentsline{toc}{subsection}{Tester vos FileSets}
2595
2596 Si vous voulez vous faire une id\'ee pr\'ecise de ce qui sera effectivement 
2597 sauvegard\'e par un FileSet, ou si vous voulez vous assurer de l'efficacit\'e  
2598 d'une liste d'exclusion, vous pouvez utiliser la commande {\bf estimate} 
2599 du programme Console. Voyez \ilink{estimate command}{estimate} dans le 
2600 chapitre Console de ce manuel.
2601
2602 \subsection*{Considerations sur le nommage Windows NTFS}
2603 \index[general]{Considerations sur le nommage Windows NTFS}
2604 \index[general]{Considerations!Windows NTFS Naming }
2605 \addcontentsline{toc}{subsection}{Considerations sur le nommage Windows NTFS}
2606
2607 Les noms de fichiers NTFS contenant des caract\`eres Unicode (i.e. \gt{} 0xFF) ne 
2608 peuvent, pour le moment, \^etre nomm\'e eplicitement. Vous devez inclure de tels 
2609 fichiers en d\'esignant un r\'epertoire de niveau sup\'erieur ou une lettre de disque 
2610 ne contenant pas de caract\`ere Unicode.
2611
2612 \subsection*{La ressource Client}
2613 \label{ClientResource2}
2614 \index[general]{Resource!Client }
2615 \index[general]{La ressource Client}
2616 \addcontentsline{toc}{subsection}{La ressource Client} 
2617
2618 La ressource Client d\'efinit les attributs des clients servis (sauvegard\'es) 
2619 par ce Director. Il faut une ressource Client par machine sauvegard\'ee.
2620
2621 \begin{description}
2622
2623 \item [Client (ou FileDaemon)]
2624    \index[dir]{Client (ou FileDaemon)}
2625    \index[dir]{Directive!Client (or FileDaemon)}
2626    D\'ebut des directives Client.
2627
2628 \item [Name = \lt{}name\gt{}]
2629    \index[dir]{Name}
2630    \index[dir]{Directive!Name}
2631 Le nom du client qui sera utilis\'e dans la directive Job de la ressource ou 
2632 dans une commande run de la Console. Cette directive est requise.
2633
2634 \item [Address = \lt{}address\gt{}]
2635    \index[dir]{Address}
2636    \index[dir]{Directive!Address}
2637 L'adresse d'un File Daemon Bacula est un nom d'h\^ote, un nom pleinement qualifi\'e 
2638 ou une adresse r\'eseau au format quatre octets point\'es. Cette directive est requise.
2639
2640 \item [FD Port = \lt{}port-number\gt{}]
2641    \index[dir]{FD Port}
2642    \index[dir]{Directive!FD Port}
2643 O\`u le port est le num\'ero de port auquel le le File Daemon peut \^etre contact\'e. 
2644 La valeur par d\'efaut est 9102.
2645
2646
2647 \item [Catalog = \lt{}Catalog-resource-name\gt{}]
2648    \index[dir]{Catalog}
2649    \index[dir]{Directive!Catalog}
2650 Cette directive sp\'ecifie le nom de la ressource catalog \`a utiliser pour ce 
2651 client. Cette directive est requise.
2652
2653 \item [Password = \lt{}password\gt{}]
2654    \index[dir]{Password}
2655    \index[dir]{Directive!Password}
2656 Il s'agit ici du mot de passe \`a utiliser lors de la connection avec le 
2657 File Daemon, aussi le fichier de configuration de la machine \`a sauvegarder 
2658 doit d\'efinir le m\^eme mot de passe pour \^etre connect\'e par ce Director. 
2659 Cette directive est requise. Si vous disposez de {\bf /dev/random} ou de {\bf bc} 
2660 sur votre machine, Bacula g\'en\`ere des mots de passe al\'eatoires lors du processus 
2661 de configuration. Dans le cas contraire, le mot de passe est laiss\'e blanc.
2662
2663 \label{FileRetention}
2664
2665 \item [File Retention = \lt{}time-period-specification\gt{}  ]
2666    \index[dir]{File Retention  }
2667    \index[dir]{Directive!Password}
2668 La directive File Retention d\'efinit la p\'eriode pendant laquelle Bacula conservera 
2669 les enregistrements File dans le catalogue. Lors de l'expiration de cette p\'eriode, 
2670 si la directive {\bf AutoPrune} est active ({\bf yes}), Bacula \'elague le catalogue 
2671 des enregistrements File dont l'âge est sup\'erieur \`a la p\'eriode de r\'etention. 
2672 Notez que ceci n'affecte que les enregistrements du catalogue, et non vos 
2673 sauvegardes archiv\'ees.
2674
2675 Les enregistrements File peuvent en fait \^etre conserv\'es pour une p\'eriode inf\'erieure 
2676 \`a celle affect\'ee \`a cette directive dans les cas o\`u vous avez sp\'ecifi\'e des p\'eriodes 
2677 plus courtes pour les directives  {\bf Job Retention} ou {\bf Volume Retention}. 
2678 La plus courte des trois prend le pas sur les autres. Les dur\'ees peuvent \^etre exprim\'ees 
2679 en secondes, minutes, heures, jours, semaines, mois, trimestres ou ann\'ees. Consultez 
2680 le chapitre \ilink{Adapter les fichiers de configuration}{Time} de ce manuel pour plus de d\'etails sur les 
2681 sp\'ecifications de dur\'ees.
2682
2683 La valeur par d\'efaut est de 60 jours.
2684 \label{JobRetention}
2685
2686 \item [Job Retention = \lt{}time-period-specification\gt{}  ]
2687    \index[dir]{Job Retention}
2688    \index[dir]{Directive!Job Retention}
2689 La directive Job Retention d\'efinit la p\'eriode pendant laquelle Bacula conservera
2690 les enregistrements Job dans le catalogue. Lors de l'expiration de cette p\'eriode,
2691 si la directive {\bf AutoPrune} est active ({\bf yes}), Bacula \'elague le catalogue
2692 des enregistrements File dont l'âge est sup\'erieur \`a la p\'eriode de r\'etention.
2693 Notez que ceci n'affecte que les enregistrements du catalogue, et non vos
2694 sauvegardes archiv\'ees.
2695    
2696 Si un enregistrement de Job est s\'electionn\'e pour \'elagage, tous les enregistrements File 
2697 et JobMedia associ\'es seront aussi \'elagu\'es du catalogue, sans qu'il ne soit tenu compte 
2698 de la p\'eriode File Retention d\'efinie. Par cons\'equent, vous utiliserez, en principe, 
2699 une p\'eriode File Retention inf\'erieure \`a la p\'eriode Job retention. La p\'eriode 
2700 Job retention peut en fait s'av\'erer inf\'erieure \`a la valeur que vous avez sp\'ecifi\'ee 
2701 si vous avez affect\'e une valeur inf\'erieure \`a la directive {\bf Volume Retention} dans 
2702 la ressource Pool. Les p\'eriodes Job retention et  Volume retention sont appliqu\'ees 
2703 ind\'ependamment, la plus petite prend le pas sur l'autre.
2704
2705 Les dur\'ees peuvent \^etre exprim\'ees
2706 en secondes, minutes, heures, jours, semaines, mois, trimestres ou ann\'ees. Consultez
2707 le chapitre \ilink{Adapter les fichiers de configuration}{Time} de ce manuel pour plus de d\'etails sur les
2708 sp\'ecifications de dur\'ees.
2709
2710 La valeur par d\'efaut est 180 jours.  
2711 \label{AutoPrune}
2712
2713 \item [AutoPrune = \lt{}yes|no\gt{}]
2714    \index[dir]{AutoPrune}
2715    \index[dir]{Directive!AutoPrune}
2716 Si AutoPrune est r\'egl\'e \`a {\bf yes} (valeur par d\'efaut), Bacula (dans les versions au del\`a 
2717 de 1.20) applique automatiquement les p\'eriodes File retention et Job  retention pour le 
2718 client \`a la fin du job. Si vous sp\'ecifiez {\bf AutoPrune = no}, l'\'elagage ne se fera pas 
2719 et votre catalogue grossira \`a chaque job. L'\'elagage n'affecte que les donn\'ees du catalogue, 
2720 et non les donn\'ees stock\'ees sur les volumes.
2721
2722 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2723    \index[dir]{Maximum Concurrent Jobs}
2724    \index[dir]{Directive!Maximum Concurrent Jobs}
2725 \lt{}number\gt{} d\'esigne le nombre maximum de jobs qui peuvent \^etre lanc\'es simultan\'ement 
2726 sur le client concern\'e. Notez que cette directive ne limite que les jobs pour les clients 
2727 qui ont le m\^eme nom que la ressource dans laquelle elle appara\^it. Toutes les autres restrictions 
2728 du nombre maximum de jobs simultan\'es telles que celles sp\'ecifi\'ees dans les ressources 
2729 Director, Job, ou Storage s'appliquent aussi en plus de toute limite fix\'ee ici. La valeur 
2730 par d\'efaut est 1, mais vous pouvez sp\'ecifier une valeur plus grande. Nous recommandons 
2731 fortement de lire les MISES EN GARDE de la section \ilink{ Maximum Concurrent 
2732 Jobs}{DirMaxConJobs} du chapitre Configurer le Director.
2733
2734
2735 \item [Priority = \lt{}number\gt{}]
2736    \index[dir]{Priority}
2737    \index[dir]{Directive!Priority}
2738 \lt{}number\gt{} sp\'ecifie la priorit\'e de ce client par rapport aux autres clients 
2739 que le Director sauvegarde simultan\'ement. La priorit\'e admet une valeur entre 1 et 1000.
2740 Les clients sont ordonn\'es de sorte que ceux dont la valeur de priorit\'e sont les plus petites 
2741 sont trait\'es les premiers (Ceci n'est pas encore impl\'ement\'e).
2742 \end{description}
2743
2744 Voici un exemple d'une d\'efinition de ressource Client valide :
2745
2746 \footnotesize
2747 \begin{verbatim}
2748 Client {
2749   Name = Minimatou
2750   Address = minimatou
2751   Catalog = MySQL
2752   Password = very_good
2753 }
2754 \end{verbatim}
2755 \normalsize
2756
2757 \subsection*{La ressource Storage}
2758 \label{StorageResource2}
2759 \index[general]{Resource!Storage }
2760 \index[general]{Storage Resource }
2761 \addcontentsline{toc}{subsection}{Storage Resource}
2762
2763 La ressource Storage d\'efinit les Storage Daemons disponibles pour le Director.
2764
2765 \begin{description}
2766
2767 \item [Storage]
2768    \index[dir]{Storage}
2769    \index[dir]{Directive!Storage}
2770 D\'ebut des ressources Storage. Il faut en sp\'ecifier au moins une.
2771
2772 \item [Name = \lt{}name\gt{}]
2773    \index[dir]{Name}
2774    \index[dir]{Directive!Name}
2775 Le nom de la ressource Storage. Ce nom appara\^it au niveau de la directive 
2776 Storage sp\'ecifi\'ee dans la ressource Job et est requise.
2777
2778 \item [Address = \lt{}address\gt{}]
2779    \index[dir]{Address}
2780    \index[dir]{Directive!Address}
2781 O\`u l'adresse est un nom d'h\^ote, une {\bf adresse pleinement qualifi\'ee}, ou une 
2782 {\bf adresse IP}. Notez bien que l'adresse sp\'ecifi\'ee ici sera transmise au 
2783 File Daemon qui l'utilisera alors pour contacter le Storage Daemon. Aussi, ce 
2784 n'est {\bf pas} une bonne id\'ee d'utiliser {\bf localhost} en tant que nom, 
2785 il vaut mieux utiliser un nom de machine pleinement qualifi\'e, ou une adresse IP.
2786 Cette directive est requise.
2787
2788 \item [SD Port = \lt{}port\gt{}]
2789    \index[dir]{SD Port}
2790    \index[dir]{Directive!SD Port}
2791 O\`u "port" est le port \`a utiliser pour contacter le Storage Daemon pour les 
2792 informations et pour ex\'ecuter les jobs. Ce m\^eme num\'ero de port doit 
2793 appara\^itre dans la ressource Storage du fichier de configuration du 
2794 Storage Daemon. Le port par d\'efaut est 9103.
2795
2796 \item [Password = \lt{}password\gt{}]
2797    \index[dir]{Password}
2798    \index[dir]{Directive!Password}
2799 Il s'agit du mot de passe \`a utiliser lors de l'\'etablissement de la connection 
2800 avec les services Storage. Ce m\^eme mot de passe doit aussi appara\^itre dans la 
2801 ressource Director du fichier de configuration du Storage Daemon. Cette 
2802 directive est requise. Si vous avez soit {\bf /dev/random}, soit {\bf bc} 
2803 sur votre machine, Bacula g\'en\`erera un mot de passe al\'eatoire lors du processus 
2804 de configuration. Dans le cas contraire, ce champ sera laiss\'e blanc.
2805
2806 \item [Device = \lt{}device-name\gt{}]
2807    \index[dir]{Device}
2808    \index[dir]{Directive!Device}
2809 Cette directive sp\'ecifie le nom (pour le Storage Daemon) du p\'eriph\'erique \`a 
2810 utiliser pour le stockage. 
2811 Ce nom n'est pas le nom de p\'eriph\'erique physique, mais le nom de p\'eriph\'erique 
2812 logique qui a \'et\'e d\'efini par la directive {\bf Name} de la ressource {\bf Device} 
2813 du fichier de configuration du Storage Daemon. Si le p\'eriph\'erique est une librairie, vous 
2814 devez utiliser le nom d\'efini au niveau de la directive {\bf Name} d\'efini dans la d\'efinition 
2815 de la ressource  {\bf Autochanger} du Storage Daemon. Vous pouvez utiliser le nom de 
2816 votre choix (y compris le nom de p\'eriph\'erique physique) \`a concurrence de 
2817 127 caract\`eres. Le nom de p\'eriph\'erique physique associ\'e \`a ce p\'eriph\'erique est 
2818 sp\'ecifi\'e dans le fichier de configuration du Storage Daemon 
2819 (en tant qu'{\bf Archive  Device}). Prenez garde \`a ne pas d\'efinir deux directives 
2820 Storage Resource dans le Director qui pointent vers le m\^eme p\'eriph\'erique du 
2821 Storage Daemon. Il pourrait en r\'esulter un blocage du Storage Daemon si celui-ci 
2822 tente d'utiliser le m\^eme p\'eriph\'erique deux fois. Cette directive est requise.
2823
2824 \item [Media Type = \lt{}MediaType\gt{}]
2825    \index[dir]{Media Type}
2826    \index[dir]{Directive!Media Type}
2827 Cette directive sp\'ecifie le type de m\'edia \`a utiliser pour stocker les donn\'ees. 
2828 Il s'agit d'une cha\^ine de caract\`eres arbitraire n'exc\'edant pas 127 caract\`eres. 
2829 Ce peut \^etre ce que vous voulez, cependant, il est pr\'ef\'erable de la choisir de 
2830 mani\`ere \`a d\'ecrire le m\'edium de stockage utilis\'e (par exemple : Fichier, DAT, 
2831 ''HP  DLT8000``, 8mm,...). D'autre part, il est esentiel d'avoir une sp\'ecification 
2832 {\bf Media Type} unique pour chaque type de m\'edia de stockage. Si vous avez deux 
2833 lecteurs DDS-4 avec des formats incompatibles et une librairie DDS-4, vous devriez 
2834 certainement sp\'ecifier des {\bf Media Types} distincts. Lors d'une restauration, 
2835 supposons qu'un Media Type {\bf DDS-4} est associ\'e avec le le job, Bacula peut 
2836 d\'ecider d'utiliser tout Storage Daemon qui supporte le Media Type {\bf DDS-4} sur 
2837 tout lecteur qui le supporte. 
2838
2839 Actuellement, Bacula n'autorise qu'un seul type de media. Par cons\'equent, si vous 
2840 disposez d'un lecteur qui en supporte plusieurs, vous pouvez utiliser une cha\^ine 
2841 unique pour d\'esigner les volumes de l'un ou l'autre type, par exemple Media Type = DDS-3-4 
2842 pour les types DDS-3 et DDS-4, mais ces volumes ne seront mont\'es que sur les lecteurs 
2843 sp\'ecifi\'es comme acceptant les deux types : DDS-3-4
2844
2845 Si vous voulez contraindre Bacula \`a utiliser un 
2846 seul Storage Daemon ou un seul lecteur, vous devez sp\'ecifier un Media Type unique 
2847 pour ce lecteur. C'est un point important qui devrait \^etre bien compris. Notez que 
2848 ceci s'applique \'egalement aux volumes disque. Si vous d\'efinissez plus d'une ressource 
2849 Device disque dans votre fichier de configuration du Storage Daemon, les volumes sur ces 
2850 deux devices seront en fait incompatibles car l'un ne pourra \^etre mont\'e sur l'autre 
2851 puisqu'ils se trouvent dans des r\'epertoires diff\'erents. C'est pourquoi vous devriez 
2852 probablement plut\^ot utiliser deux Media Types distincts pour vos deux devices disque 
2853 (m\^eme si vous pensez \`a eux comme ayant l'un et l'autre le type File).
2854
2855 Vous trouverez pus de d\'etails \`a ce sujet dans le chapitre 
2856 \ilink{Gestion des volumes : fondements (NDT:basic volumes management)}
2857 {_ChapterStart39} de ce manuel.
2858
2859 Le {\bf MediaType} sp\'ecifi\'e ici {\bf doit} correspondre au {\bf MediaType} 
2860 sp\'ecifi\'e dans la ressource {\bf Device} du fichier de configuration du 
2861 Storage Daemon. Cette directive est requise, et est utilis\'ee par le Director 
2862 et le Storage Daemon pour s'assurer qu'un volume s\'electionn\'e automatiquement 
2863 dans un Pool correspond \`a un p\'eriph\'erique physique. Si un Storage Daemon 
2864 g\`ere plusieurs p\'eriph\'eriques (par exemple, s'il \'ecrit sur plusieurs volumes 
2865 de type File sur diff\'erentes partitions), cette directive vous permet de 
2866 pr\'eciser exactement quel p\'eriph\'erique utiliser.
2867
2868 Comme mentionn\'e ci-dessus, la valeur sp\'ecifi\'ee dans la ressource Storage du 
2869 Director doit s'accorder avec celle sp\'ecifi\'ee dans la ressource Device du 
2870 fichier de configuration du Storage Daemon. Ceci repr\'esente aussi un contr\^ole 
2871 suppl\'ementaire pour assurer que vous n'essayez pas d'\'ecrire les donn\'ees destin\'ees 
2872 \`a un lecteur DLT sur un lecteur 8mm.
2873
2874 \label{Autochanger1}
2875
2876 \item [Autochanger = \lt{}yes|no\gt{}  ]
2877    \index[dir]{Autochanger  }
2878    \index[dir]{Directive!Autochanger}
2879 Si vous sp\'ecifiez {\bf yes} pour cette commande (la valeur par d\'efaut est {\bf no}), 
2880 alors Bacula requ\'erira un num\'ero de Slot lorsque vous utiliserez les commandes 
2881 {\bf label} et {\bf add} pour cr\'eer un nouveau volume. Ceci simplifie la cr\'eation 
2882 des enregistrements de Volumes dans le catalogue si vous disposez d'une librairie. 
2883 Si vous omettez de sp\'ecifier le Slot, la robotique ne sera pas utilis\'ee. Cependant, 
2884 vous pouvez modifier le Slot associ\'e \`a un volume \`a tout moment grâce \`a la commande 
2885 {\bf update volume} du programme Console. Lorqu'{\bf autochanger} est activ\'ee, 
2886 l'algorithme utilis\'e par Bacula pour rechercher des volumes utilisables est 
2887 modifi\'e de fa\\ 3on \`a prendre en compte tout volume suppos\'e contenu dans la librairie. 
2888 Si aucun volume {\bf in changer} n'est trouv\'e, Bacula tente de recycler, \'elaguer..., 
2889 et s'il ne trouve toujours aucun volume, Bacula recherche un volume pr\'esent ou non 
2890 dans la librairie. Privil\'egier les volumes pr\'esents dans la librairie permet de 
2891 minimiser les interventions d'un op\'erateur. 
2892
2893 Pour que la robotique soit utilis\'ee, vous devez aussi sp\'ecifier {\bf Autochanger = yes} 
2894 dans la ressource \ilink{La Ressource Device}{Autochanger} du fichier de configuration du 
2895 Storage Daemon, ainsi que d'autres param\`etres importants du Storage Daemon. Vous 
2896 trouverez plus d'information \`a ce sujet dans le chapitre 
2897 \ilink{ Utiliser une librairie}{_ChapterStart18} de ce manuel.
2898
2899 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2900    \index[dir]{Maximum Concurrent Jobs}
2901    \index[dir]{Directive!Maximum Concurrent Jobs}
2902 O\`u \lt{}number\gt{} est le nombre maximum de jobs utilisant la 
2903 ressource Storage courante qui peuvent \^etre ex\'ecut\'es simultan\'ement. Notez que cette 
2904 directive ne limite que les jobs qui utilisent ce Storage Daemon. Toute autre 
2905 limitation du nombre maximum de jobs simultan\'es au niveau des ressources 
2906 Director, Job ou Client est aussi appliqu\'ee en plus de celle fix\'ee ici. La valeur 
2907 par d\'efaut est 1, mais vous pouvez utiliser une valeur plus importante. Nous vous 
2908 recommandons fortement de lire les MISES EN GARDE de la section \ilink{ Maximum Concurrent
2909 Jobs}{DirMaxConJobs} du chapitre Configurer le Director.
2910
2911 Alors qu'il est possible de d\'efinir des nombres maximum de jobs simultan\'es sup\'erieurs 
2912 \`a 1 dans les ressource Director, Job et Client, vous devriez porter une attention 
2913 particuli\`ere au param\'etrage de cette directive pour le Storage Daemon. En conservant 
2914 la valeur 1, vous \'evitez que deux jobs \'ecrivent simultan\'ement sur le m\^eme volume ce qui, 
2915 quoique support\'e, n'est pas recommand\'e actuellement.
2916 \end{description}
2917
2918 Voici un exemple de ressource Storage valide :
2919
2920 \footnotesize
2921 \begin{verbatim}
2922 # Definition of tape storage device
2923 Storage {
2924   Name = DLTDrive
2925   Address = lpmatou
2926   Password = storage_password # password for Storage daemon
2927   Device = "HP DLT 80"    # same as Device in Storage daemon
2928   Media Type = DLT8000    # same as MediaType in Storage daemon
2929 }
2930 \end{verbatim}
2931 \normalsize
2932
2933 \subsection*{La ressource Pool}
2934 \label{PoolResource}
2935 \index[general]{Resource!Pool }
2936 \index[general]{Pool Resource }
2937 \addcontentsline{toc}{subsection}{Pool Resource}
2938 La ressource Pool d\'efinit l'ensemble des volumes de stockage (cartouches ou fichiers) 
2939 \`a la disposition de Bacula pour \'ecrire les donn\'ees. En configurant diff\'erents 
2940 Pools, vous pouvez d\'eterminer quel ensemble de volumes (ou m\'edia) re\\ 3oit les 
2941 donn\'ees sauvegard\'ees. Ceci permet, par exemple, de stocker toutes les sauvegardes 
2942 Full sur un ensemble de volumes, et les sauvegardes diff\'erentielles et 
2943 incr\'ementales sur un autre. De m\^eme, vous pouvez assigner un ensemble de volumes 
2944 \`a chaque machine sauvegard\'ee. Tout ceci peut \^etre r\'ealis\'e ais\'ement en d\'efinissant 
2945 plusieurs pools.
2946
2947 Un autre aspect important d'un pool est qu'il contient des attributs par d\'efaut 
2948 (Nombre maximum de jobs, p\'eriode de r\'etention, drapeau de recyclage,...) qui sont 
2949 conf\'er\'es \`a tout volume lui appartenant lors de sa cr\'eation. Ceci vous \'evite d'avoir 
2950 \`a r\'epondre \`a un grand nombre de questions lorsque vous \'etiquettez (label) un nouveau 
2951 volume. Chacun de ces attributs peut ensuite \^etre modifi\'e sur chaque volume 
2952 individuellement avec la commande {\bf update} du programme Console. Notez que 
2953 vous devez pr\'eciser explicitement quel pool est \`a utiliser avec chaque job. Bacula 
2954 ne recherche pas automatiquement le pool correct.
2955
2956 Dans la plupart des installations de Bacula, toutes les sauvegardes de toutes 
2957 les machines vont vers un unique jeu de volumes. Dans ce cas, vous n'utiliserez 
2958 probablement que le pool par d\'efaut {\bf Default}. Si votre strat\'egie de 
2959 sauvegarde vous impose \`a monter chaque jour une cartouche diff\'erente, vous voudrez 
2960 probablement d\'efinir des pools distincts pour chaque jour. Pour plus d'informations 
2961 \`a ce sujet, consultez le chapitre \ilink{Strat\'egies de sauvegarde}{_ChapterStart3} 
2962 de ce manuel.
2963
2964 Pour utiliser un pool, vous devez suivre trois \'etapes :
2965
2966 D'abord, le pool doit 
2967 \^etre d\'efini dans le fichier de configuration du Director. Ensuite le pool doit 
2968 \^etre enregistr\'e dans le catalogue. Ceci est fait automatiquement par le Director 
2969 \`a chaque fois qu'il d\'emarre, ou peut \^etre r\'ealis\'e manuellement \`a l'aide de la 
2970 commande {\bf create} du programme Console. Enfin, si vous modifiez la d\'efinition 
2971 du pool dans le fichier de configuration du Director et red\'emarrez Bacula, 
2972 le pool sera mis \`a jour automatiquement, ce qui peut aussi \^etre r\'ealis\'e 
2973 manuellement avec la commande {\bf update pool} du programme Console pour 
2974 rafraichir l'image du catalogue. C'est cette image du catalogue plut\^ot 
2975 que l'image de la ressource du Director qui est utilis\'ee pour les attributs 
2976 de volume par d\'efaut. Notez que pour que le pool soit automatiquement 
2977 cr\'e\'e ou mis \`a jour, il doit \^etre r\'ef\'erenc\'e explicitement par une ressource Job.
2978
2979 Ensuite le m\'edium physique doit \^etre \'etiquett\'e. L'\'etiquettage peut \^etre r\'ealis\'e 
2980 soit par la commande {\bf label} du programme Console, soit en utilisant le 
2981 programme {\bf btape}. La m\'ethode \`a privil\'egier est la premi\`ere.
2982
2983 Finallement, vous devez ajouter des noms de volumes (et leurs attributs) au 
2984 pool. Pour que les volumes soient utilis\'es par Bacula, ils doivent \^etre 
2985 du m\^eme {\bf Media Type} que l'Archive Device sp\'ecifi\'ee pour le job. 
2986 (Autrement dit, si vous vous appr\'etez \`a sauvegarder vers un lecteur DLT, 
2987 le pool doit contenir des volumes DLT, puisque des volumes 8mm ne peuvent 
2988 \^etre mont\'es sur un lecteur DLT). Le {\bf Media Type} rev\^et une importance 
2989 particuli\`ere si vous sauvegardez vers des fichiers. Lorsque vous ex\'ecutez 
2990 un job, vous devez explicitement pr\'eciser le pool. Bacula s\'electionne d\`es lors 
2991 automatiquement le prochain volume du pool \`a utiliser, en s'assurant que le 
2992 {\bf Media Type} de tout volume s\'electionn\'e est bien celui requis par la 
2993 ressource Storage sp\'ecifi\'ee pour le job.
2994
2995 Si vous utilisez la commande {\bf label} du programme Console pour 
2996 \'etiquetter les volumes, il sont automatiquement ajout\'es au pool, aussi cette 
2997 derni\`ere \'etape n'est g\'en\'eralement pas requise.
2998
2999 Il est aussi possible d'ajouter des volumes au catalogue sans avoir 
3000 explicitement \'etiquett\'e les volumes physiques. Ceci s'effectue avec la commande 
3001 {\bf add} du programme Console.
3002
3003 Comme mentionn\'e plus haut, \`a chaque d\'emarrage, Bacula examine tous les pools 
3004 associ\'es \`a chaque catalogue, et si un enregistrement n'existe pas encore, il 
3005 est cr\'e\'e \`a partir de la d\'efinition du pool dans la ressource. Bacula devrait 
3006 probablement effectuer un {\bf update pool} si vous modifiez la d\'efinition 
3007 du pool mais, actuellement, vous devez le faire manuellement avec la 
3008 commande {\bf update pool} du programme Console.
3009
3010 La ressource Pool d\'efinie dans le fichier de configuration du Director peut 
3011 contenir les directives suivantes :
3012
3013
3014 \begin{description}
3015
3016 \item [Pool]
3017    \index[dir]{Pool}
3018    \index[dir]{Directive!Pool}
3019 D\'ebut de la ressource Pool. Il faut d\'efinir au moins une ressource Pool.
3020
3021 \item [Name = \lt{}name\gt{}]
3022    \index[dir]{Name}
3023    \index[dir]{Directive!Name}
3024 Le nom du pool. Pour la plupart des applications, vous utiliserez le pool 
3025 par d\'efaut nomm\'e {\bf Default}. Cette directive est requise.
3026
3027 \item [Number of Volumes = \lt{}number\gt{}]
3028    \index[dir]{Number of Volumes  }
3029 Cette directive sp\'ecifie le nombre de volumes (cartouches ou fichiers) contenus 
3030 dans le pool. En principe, il est d\'efini et mis \`a jour automatiquement par la 
3031 routine de maintenance du catalogue de Bacula.
3032 \label{MaxVolumes}
3033
3034 \item [Maximum Volumes = \lt{}number\gt{}]
3035    \index[dir]{Maximum Volumes}
3036     \index[dir]{Directive!Maximum Volumes}
3037 Cette directive sp\'ecifie le nombre maximum de volumes contenus dans le pool.
3038 Cette directive est optionnelle. Si elle est omise ou r\'egl\'ee \`a 0, tout nombre 
3039 de volumes est permis. En g\'en\'eral, cette directive est utile pour les librairies, 
3040 o\`u il y a un nombre fix\'e de volumes, ou pour le stockage sur fichier si vous voulez 
3041 vous assurer que les sauvegardes sur disque ne deviennent pas trop nombreuses ou ne 
3042 consomment pas trop d'espace.
3043
3044 \item [Pool Type = \lt{}type\gt{}]
3045    \index[dir]{Pool Type  }
3046    \index[dir]{Directive!Pool Type}
3047 Cette directive d\'efinit le type du pool, qui correspond au type du job 
3048 ex\'ecut\'e. Cette directive est requise et peut prendre l'une des valeurs suivantes :
3049
3050 \begin{itemize}
3051 \item [Backup]  
3052 \item [*Archive]  
3053 \item [*Cloned]  
3054 \item [*Migration]  
3055 \item [*Copy]  
3056 \item [*Save]  
3057    \end{itemize}
3058
3059 \item [Use Volume Once = \lt{}yes|no\gt{}]
3060    \index[dir]{Use Volume Once}
3061    \index[dir]{Directive!Use Volume Once}
3062 Cette directive, si elle est active (valeur {\bf yes}) stipule que chaque volume 
3063 ne doit \^etre utilis\'e qu'une seule fois. C'est particuli\`erement utile si le 
3064 volume est un fichier et si vous voulez un nouveau fichier pour chaque nouvelle 
3065 sauvegarde. La valeur par d\'efaut est {\bf no} (autrement dit, les volumes peuvent 
3066 \^etre utilis\'es plusieurs fois). Cette directive sera tr\`es certainement bient\^ot 
3067 obsol\`ete, aussi nous vous recommandons d'utiliser {\bf Maximum Volume Jobs = 1} 
3068 \`a la place.
3069    
3070 La valeur d\'efinie par cette directive dans le fichier de 
3071 configuration du Director est la valeur par d\'efaut utilis\'ee lorsqu'un nouveau 
3072 volume est cr\'e\'e. Modifier la valeur dans le fichier de configuration ne changera 
3073 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume 
3074 existant, vous devez utiliser la commande {\bf update} du programme Console.
3075
3076 \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}]
3077    \index[dir]{Maximum Volume Jobs}
3078    \index[dir]{Directive!Maximum Volume Jobs}
3079 Cette directive sp\'ecifie le nombre maximum de jobs qui peuvent \^etre \'ecrits sur le volume. 
3080 La valeur par d\'efaut est z\'ero, ce qui signifie que le nombre de jobs sur un volume 
3081 n'est pas limit\'e. Sinon, lorsque le nombre de jobs sauvegard\'es sur le volume atteint 
3082 la valeur {\bf positive-integer} sp\'ecifi\'ee, le volume est marqu\'e {\bf Used}. D\`es lors, 
3083 il ne peut plus \^etre utilis\'e pour y ajouter des jobs, tout comme dans le cas d'un volume 
3084 avec le statut {\bf Full}, mais il peut \^etre recycl\'e si le recyclage est activ\'e. En 
3085 sp\'ecifiant {\bf MaximumVolumeJobs = 1} vous obtenez le m\^eme effet que celui que vous 
3086 obtiendriez avec {\bf UseVolumeOnce = yes}.
3087
3088 Notez que la valeur d\'efinie par cette directive dans le fichier de configuration du 
3089 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois 
3090 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3091 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3092 existant, vous devez utiliser la commande {\bf update} du programme Console.
3093
3094 \item [Maximum Volume Files = \lt{}positive-integer\gt{}]
3095    \index[dir]{Maximum Volume Files}
3096    \index[dir]{Directive!Maximum Volume Files}
3097 Cette directive sp\'ecifie le nombre maximum de fichiers qui peuvent \^etre \'ecrits sur 
3098 le volume. La valeur par d\'efaut est z\'ero, ce qui signifie que le nombre de fichiers 
3099 sur un volume n'est pas limit\'e. Sinon, lorsque le nombre de fichiers sauvegard\'es sur 
3100 le volume atteint la valeur {\bf positive-integer} sp\'ecifi\'ee, le volume est marqu\'e 
3101 {\bf Used}. D\`es lors, il ne peut plus \^etre utilis\'e pour y ajouter des jobs, tout comme 
3102 dans le cas d'un volume avec le statut {\bf Full}, mais il peut \^etre recycl\'e si le 
3103 recyclage est activ\'e. Ce n'est qu'\`a la fin d'un job que Cette valeur est control\'ee, 
3104 et que le statut du volume est \'eventuellement chang\'e en {\bf Used}.
3105
3106 La valeur d\'efinie par cette directive dans le fichier de configuration du
3107 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois
3108 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3109 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3110 existant, vous devez utiliser la commande {\bf update} du programme Console.
3111
3112 \item [Maximum Volume Bytes = \lt{}size\gt{}]
3113    \index[dir]{Maximum Volume Bytes}
3114    \index[dir]{Directive!Maximum Volume Bytes}
3115 Cette directive sp\'ecifie le nombre maximum d'octets qui peuvent \^etre \'ecrits sur le 
3116 volume. La valeur par d\'efaut est z\'ero, ce qui signifie qu'il n'y a d'autre limite 
3117 que la capacit\'e physique du volume. Sinon, lorsque le nombre d'octets sauvegard\'es sur 
3118 le volume atteint la valeur {\bf size} sp\'ecifi\'ee, le volume est marqu\'e 
3119 {\bf Used}. D\`es lors, il ne peut plus \^etre utilis\'e pour y ajouter des jobs, tout comme 
3120 dans le cas d'un volume avec le statut {\bf Full}, mais il peut \^etre recycl\'e si le 
3121 recyclage est activ\'e. Ce n'est qu'\`a la fin d'un job que Cette valeur est control\'ee,
3122 et que le statut du volume est \'eventuellement chang\'e en {\bf Used}.
3123
3124 La valeur d\'efinie par cette directive dans le fichier de configuration du
3125 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois
3126 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3127 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3128 existant, vous devez utiliser la commande {\bf update} du programme Console.
3129
3130 \item [Volume Use Duration = \lt{}time-period-specification\gt{}]
3131    \index[dir]{Volume Use Duration}
3132    \index[dir]{Directive!Volume Use Duration}
3133 Cette directive d\'efinit la p\'eriode durant laquelle le volume peut \^etre utilis\'e en 
3134 \'ecriture, \`a compter de la premi\`ere op\'eration d'\'ecriture de donn\'ees. 
3135 La valeur par d\'efaut est z\'ero, ce qui signifie que le volume peut \^etre \'ecrit 
3136 ind\'efiniment . Sinon, lorsque la dur\'ee depuis la premi\`ere \'ecriture exc\`ede la p\'eriode 
3137 {\bf time-period-specification} sp\'ecifi\'ee, le volume est marqu\'e
3138 {\bf Used}. D\`es lors, il ne peut plus \^etre utilis\'e pour y ajouter des jobs, tout comme
3139 dans le cas d'un volume avec le statut {\bf Full}, mais il peut \^etre recycl\'e si le
3140 recyclage est activ\'e. L'usage de la commande {\bf status dir} applique des algorithmes 
3141 similaires \`a l'\'execution de jobs, aussi lors d'une telle commande, le statut du volume 
3142 peut \^etre modifi\'e. Lorsque le volume est recycl\'e, il peut \`a nouveau \^etre utilis\'e.
3143
3144 Vous pourriez utiliser cette directive, par exemple, si vous avez un volume d\'edi\'e 
3145 aux sauvegardes incr\'ementales, et un volume d\'edi\'e aux Fulls hebdomadaires. Une fois que 
3146 la Full est pass\'ee, vous pouvez pr\'ef\'erer utiliser un autre volume pour les incr\'ementales. 
3147 Ceci peut \^etre accompli en r\`eglant la p\'eriode {\bf Volume Use Duration} \`a six jours pour 
3148 les volumes des incr\'ementales. Autrement dit, celui-ci sera utilis\'e durant les six jours 
3149 qui suivent une full, puis un autre volume d'incr\'ementales sera utilis\'e. Veillez \`a utiliser 
3150 des p\'eriodes relativement courtes telles que 23 heures, ou vous pourriez placer Bacula en situation 
3151 de devoir attendre tout un week-end le montage d'une cartouche par l'op\'erateur pour pouvoir terminer 
3152 une sauvegarde.
3153
3154 Ce n'est qu'\`a la fin d'un job que Cette valeur est control\'ee,
3155 et que le statut du volume est \'eventuellement chang\'e en {\bf Used}, ce qui signifie que 
3156 bien que la p\'eriode {\bf Volume Use Duration} puisse avoir expir\'e, l'entr\'ee correspondante 
3157 du catalogue ne sera pas mise \`a jour jusqu'\`a ce que le prochain job utilisant ce 
3158 volume soit ex\'ecut\'e.
3159
3160 La valeur d\'efinie par cette directive dans le fichier de configuration du
3161 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois
3162 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3163 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3164 existant, vous devez utiliser la commande \ilink{\bf update volume}{UpdateCommand} du 
3165 programme Console.
3166
3167 \item [Catalog Files = \lt{}yes|no\gt{}]
3168    \index[dir]{Catalog Files}
3169    \index[dir]{Directive!Catalog Files}
3170 Cette directive pr\'ecise si les noms des fichiers sauvegard\'es doivent ou non \^etre 
3171 enregistr\'es dans le catalogue. La valeur par d\'efaut est {\bf yes}. L'avantage de 
3172 d\'esactiver cette option ({\bf Catalog Files = No}) est d'avoir un catalogue 
3173 significativement plus petit. L'inconv\'enient est de ne pas pouvoir produire de 
3174 liste des fichiers sauvegard\'es pour chaque job \`a partir du catalogue (autrement 
3175 dit, vous ne pourrez naviguer dans les fichiers sauvegard\'es). Ainsi, sans les 
3176 enregistrements de fichiers, vous ne pourrez utiliser la commande {\bf restore}, 
3177 ni aucune des autres commandes du programme Console qui se r\'ef\`erent aux 
3178 enregistrements de fichiers.
3179
3180 \label{PoolAutoPrune}
3181
3182 \item [AutoPrune = \lt{}yes|no\gt{}]
3183    \index[dir]{AutoPrune}
3184    \index[dir]{Directive!AutoPrune}
3185 Si AutoPrune est activ\'ee ({\bf yes}), ce qui est le cas par d\'efaut, Bacula 
3186 (depuis la version 1.20) applique automatiquement la p\'eriode de r\'etention des 
3187 volumes lorsqu'un nouveau volumes est requis ou lorsqu'il n'existe aucun volume 
3188 utilisable dans le pool. L'\'elagage des volumes consiste \`a supprimer du catalogue 
3189 les jobs expir\'es (ceux qui sont plus anciens que la p\'eriode de r\'etention), et rend 
3190 possible le recyclage de ces volumes
3191
3192 \label{VolRetention}
3193
3194 \item [Volume Retention = \lt{}time-period-specification\gt{}]
3195    \index[dir]{Volume Retention}
3196    \index[dir]{Directive!Volume Retention}
3197 La directive Volume Retention d\'efinit la p\'eriode durant laquelle {\bf Bacula} 
3198 conserve les enregistrements Job associ\'es au volume dans le catalogue. 
3199 Lors de l'expiration de cette p\'eriode, si {\bf AutoPrune} est activ\'ee, Bacula 
3200 peut supprimer les enregistrements Job plus anciens que la p\'eriode {\bf time-period-specification} 
3201 sp\'ecifi\'ee s'il est n\'ecessaire de lib\'erer un volume. Tous les enregistrements de fichiers 
3202 associ\'es \`a des jobs supprim\'es sont aussi supprim\'es. Les dur\'ees peuvent \^etre exprim\'ees 
3203 en secondes, minutes, heures, jours, semaines, mois, trimestres ou ann\'ees. 
3204 La p\'eriode {\bf Volume Retention} s'applique ind\'ependamment des p\'eriodes {\bf Job Retention} 
3205 et {\bf File Retention} d\'efinies dans la ressource Client. Ceci signifie que la 
3206 p\'eriode la plus courte est celle qui s'applique.Notez bien que lorsque la p\'eriode 
3207 {\bf Volume Retention} a \'et\'e atteinte les enregistrements de Job et ceux de fichiers 
3208 sont supprimm\'es les uns et les autres.
3209 Cet \'elagage peut aussi se produire \`a l'ex\'ecution de la commande {\bf status dir} car elle 
3210 applique des algorithmes similaires \`a ceux utilis\'es pour d\'eterminer le prochain volume 
3211 disponible.
3212
3213 Il est important de savoir que lorsque la p\'eriode Volume Retention expire, 
3214 Bacula ne recycle pas syst\'ematiquement le volume concern\'e. Il tente de conserver 
3215 les donn\'ees intactes aussi longtemps que possible avant d'\'ecrire sur ce volume.
3216
3217 La valeur par d\'efaut est 365 jours. Notez que cette directive r\`egle la valeur par 
3218 d\'efaut pour chaque enregistrement de volume du catalogue lorsque le volume 
3219 est cr\'e\'e. Cette valeur du catalogue peut ensuite \^etre modifi\'ee avec la commande 
3220 {\bf update } du programme Console.
3221
3222 En d\'efinissant plusieurs pools avec diff\'erentes p\'eriodes de r\'etention (volume 
3223 retention), vous pouvez efficacement g\'erer vos cartouches avec, par exemple 
3224 un pool de cartouches recycl\'e chaque semaine, un autre recycl\'e chaque mois, et 
3225 ainsi de suite. Cependant, il faut bien garder \`a l'esprit que si votre p\'eriode 
3226 de r\'etention {\bf Volume Retention} est trop courte, il peut arriver que votre 
3227 derni\`ere sauvegarde Full valide soit supprim\'ee, de sorte que vous n'ayez plus 
3228 une sauvegarde compl\`ete de votre syst\`eme, et que votre prochaine incr\'ementale 
3229 soit \'elev\'ee en une Full. Par cons\'equent, la valeur minimum de la p\'eriode 
3230 {\bf Volume Retention} devrait \^etre au moins le double de l'intervalle 
3231 s\'eparant vos Fulls. Autrement dit, pour des Fulls mensuelles, la p\'eriode 
3232 {\bf Volume Retention} devrait \^etre sup\'erieure ou \'egale \`a deux mois.
3233
3234 Notez que la valeur d\'efinie par cette directive dans le fichier de configuration du
3235 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois
3236 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3237 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3238 existant, vous devez utiliser la commande {\bf update} du programme Console.
3239
3240 \label{PoolRecycle}
3241
3242 \item [Recycle = \lt{}yes|no\gt{}]
3243    \index[dir]{Recycle}
3244    \index[dir]{Directive!Recycle}
3245 Cette directive sp\'ecifie la valeur par d\'efaut pour le recyclage des volumes purg\'es.
3246 Si elle est activ\'ee ({\bf yes}) et si Bacula a besoin d'un volume mais n'en trouve 
3247 aucun utilisable, il recherche alors les volumes purg\'es (c'est \`a dire ceux dont tous 
3248 les jobs et fichiers ont expir\'e et ont, de fait, \'et\'e supprim\'es du catalogue). Si un 
3249 volume est recycl\'e, toutes les donn\'ees pr\'ecedemment \'ecrites sur ce volumes seront 
3250 \'ecras\'ees. Si le recyclage est d\'esactiv\'e ({\bf no}), le volume ne sera pas recycl\'e, et ainsi 
3251 les donn\'ees resteront valides. Si vous souhaitez r\'eutiliser un volume dont le drapeau de 
3252 recyclage est no (0 dans le catalogue), vous devez manuellement le changer en yes (commande 
3253 update).
3254
3255 Notez que la valeur d\'efinie par cette directive dans le fichier de configuration du
3256 Director est la valeur par d\'efaut utilis\'ee lors de la cr\'eation d'un volume. Une fois
3257 le volumes cr\'e\'e, modifier la valeur dans le fichier de configuration ne changera
3258 pas ce qui est stock\'e sur le volume. Pour changer cette valeur pour un volume
3259 existant, vous devez utiliser la commande {\bf update} du programme Console.
3260
3261 \label{RecycleOldest}
3262
3263 \item [Recycle Oldest Volume = \lt{}yes|no\gt{}]
3264    \index[dir]{Recycle Oldest Volume}
3265    \index[dir]{Directive!Recycle Oldest Volume}
3266 Cette directive indique au Director de rechercher le volume le plus ancien 
3267 du pool lorsq'un nouveau est requis par le Storage Daemon et qu'aucun autre 
3268 n'est disponible. Le catalog est alors {\bf \'elagu\'e} dans le respect des 
3269 p\'eriodes {\bf Job}, {\bf File} et {\bf Volume Retention}, c'est pourquoi cette 
3270 directive est, de {\bf tr\`es} loin, pr\'ef\'erable \`a directive Purge Oldest Volume. 
3271
3272 Cette directive peut \^etre utile si vous avez un nombre fixe de volumes dans 
3273 un pool et que vous voulez cycler sur ces volumes apr\`es avoir sp\'ecifi\'e 
3274 les p\'eriodes de r\'etention qui conviennent.  
3275
3276 \label{RecycleCurrent}
3277
3278 \item [Recycle Current Volume = \lt{}yes|no\gt{}]
3279    \index[dir]{Recycle Current Volume}
3280    \index[dir]{Directive!Recycle Current Volume}
3281 Si Bacula a besoin d'un nouveau volume, cette directive lui indique d'\'elaguer 
3282 le volume dans le respect des p\'eriodes {\bf Job}, {\bf File} et 
3283 {\bf Volume Retention}. Si tous les jobs sont \'elagu\'es, (c'est \`a dire si le 
3284 volume est purg\'e), alors le volume est recycl\'e et sera utilis\'e pour la 
3285 prochaine op\'eration d'\'ecriture. Cette directive respecte toutes les 
3286 p\'eriodes {\bf Job}, {\bf File} et {\bf Volume Retention}, c'est pourquoi 
3287 elle est , de {\bf tr\`es} loin, pr\'ef\'erable \`a la directive Purge Oldest Volume.
3288
3289 Cette directive peut \^etre utile si vous avez un nombre fixe de volumes dans
3290 un pool et que vous voulez cycler sur ces volumes apr\`es avoir sp\'ecifi\'e
3291 les p\'eriodes de r\'etention qui \'elaguent les volumes avant que vous n'ayez 
3292 termin\'e le cycle sur les volumes.
3293
3294 \label{PurgeOldest}
3295
3296 \item [Purge Oldest Volume = \lt{}yes|no\gt{}]
3297    \index[dir]{Purge Oldest Volume}
3298    \index[dir]{Directive!Purge Oldest Volume}
3299 Cette directive indique au Director de rechercher le volume utilis\'e le plus 
3300 ancien dans le pool lorsqu'un nouveau volume est requis par le Storage 
3301 Daemon et qu'aucun n'est disponible. Le catalogue est alors purg\'e sans 
3302 \'egards pour les p\'eriodes de r\'etention des fichiers et jobs \'ecrits sur ce 
3303 volume. Le volume est alors recycl\'e pour \^etre utilis\'e pour la prochaine 
3304 op\'eration d'\'ecriture. Cette directive outrepasse toute p\'eriode de r\'etention 
3305 (Job,  File, ou Volume) que vous avez pu sp\'ecifier par ailleurs.
3306
3307 Cette directive peut \^etre utile si vous avez un nombre fixe de volumes dans
3308 un pool et que vous voulez cycler sur ces volumes lorsque tous les volumes 
3309 sont pleins, sans avoir \`a vous soucier de param\'etrer les p\'eriodes de 
3310 r\'etentions qui conviendraient. Cependant, en l'utilisant, vous courrez le 
3311 risque de perdre toutes vos donn\'ees.
3312
3313 {\bf Soyez conscient que {\bf Purge Oldest Volume} ne fait aucun cas d'aucune 
3314 p\'eriode de r\'etention.} Si vous activez cette directive alors que vous ne poss\'edez 
3315 qu'un seul volume, ce volume sera syst\'ematiquement \'ecras\'e tout de suite apr\`es 
3316 avoir \'et\'e rempli ! Aussi, assurez vous au moins d'avoir un nombre d\'ecent de 
3317 volumes dans votre pool avant d'ex\'ecuter un job. Si vous voulez que les p\'eriodes 
3318 de r\'etention soient prises en compte, n'utilisez pas cette directive. Pour 
3319 sp\'ecifier une p\'eriode de r\'etention, utilisez la directive {\bf Volume Retention} 
3320 (voir ci dessus).
3321
3322 Je recommande fortement de ne pas utiliser cette directive, car il est certain que 
3323 t\^ot ou tard, Bacula recyclera un volume contenant des donn\'ees valides et r\'ecentes.
3324 La valeur par d\'efaut est {\bf no}
3325
3326 \item [Cleaning Prefix = \lt{}string\gt{}]
3327    \index[dir]{Cleaning Prefix}
3328    \index[dir]{Directive!Cleaning Prefix}
3329 Cette directive d\'efinit un pr\'efixe qui, s'il correspond au d\'ebut du nom d'un 
3330 volume lors de son \'etiquettage, indique \`a Bacula que le volume en question est 
3331 une cartouche de nettoyage, qui aura le statut {\bf VolStatus = Cleaning}. 
3332 Ainsi Bacula ne tentera jamais d'utiliser cette cartouche. Cette option est 
3333 particuli\`erement utile avec les librairies \'equip\'ees de lecteurs de codes barres o\`u, 
3334 conventionnellement, les codes barres commen\\ 3ant par {\bf CLN} sont trait\'es en 
3335 tant que cartouches de nettoyage.
3336
3337 \label{Label}
3338
3339 \item [Label Format = \lt{}format\gt{}]
3340    \index[dir]{Label Format}
3341    \index[dir]{Directive!Label Format}
3342 Cette directive pr\'ecise le format des \'etiquettes des volumes de ce pool. 
3343 La directive {\bf Format} est utilis\'ee comme un patron pour cr\'eer de nouveaux 
3344 noms de volumes lors de l'\'etiquettage automatique.
3345
3346 Le {\bf format} devrait \^etre sp\'ecifi\'e entre guillemets, et consiste en une 
3347 cha\^ine de lettres, chiffres et caract\`eres sp\'eciaux tiret  ({\bf -}), soulign\'e 
3348 ({\bf \_}), double point ({\bf :}) et point ({\bf .}), qui sont consid\'er\'es valides 
3349 pour un nom de volume.
3350
3351 De plus, le {\bf format} peut comporter des caract\`eres variables qui seront 
3352 substitu\'ees par un algorithme complexe, ce qui permet de cr\'eer des noms de volumes 
3353 avec plusieurs formats diff\'erents. En tous les cas, le processus d'expansion des 
3354 variables doit aboutir au jeu de caract\`eres d\'efinis comme l\'egaux dans le 
3355 dernier paragraphe. G\'en\'eralement, ces caract\`eres variables commencent par 
3356 un signe dollar ({\bf \$}) ou un crochet droit  ({\bf [}). Si vous sp\'ecifiez 
3357 des caract\`eres variables vous devriez toujours les encadrer de guillemets. 
3358 Pour plus de d\'etails sur ce sujet, veuillez consulter le chapitre 
3359 \ilink{Variable Expansion}{_ChapterStart50} de ce manuel.
3360
3361 Si aucun caract\`ere variable n'est d\'ecouvert dans la cha\^ine, le nom de volume 
3362 sera constitu\'e de la cha\^ine {\bf format} suffix\'ee du nombre de volumes dans le 
3363 pool plus un, au format 4 chiffres et avec des z\'eros en t\^ete. Par exemple, 
3364 avec {\bf Label Format = ''File-``}, les volumes seront nomm\'es 
3365 {\bf File-0001}, {\bf File-0002}, ...
3366
3367 Exception faite des variables sp\'ecifiques aux jobs, vous pouvez tester votre 
3368 {\bf LabelFormat} en utilisant la section \ilink{ var command}{var} du 
3369 chapitre Console de ce manuel.
3370
3371 Dans la plupart des cas, vous devriez encadrer la sp\'ecification de format (la 
3372 partie \`a droite du signe \'egale) entre guillemets. Notez que cette directive est 
3373 obsol\`ete et qu'elle est remplac\'ee, \`a partir de la version 1.37 par un script Python 
3374 pour la cr\'eation des noms de volumes.
3375
3376 \end{description}
3377
3378 Pour qu'un pool puisse \^etre utilis\'e lors d'une sauvegarde, il faut qu'il lui soit 
3379 associ\'e au moins un volume. Les volumes sont cr\'e\'es et affect\'es aux pools avec les 
3380 commandes {\bf label} ou {\bf add} du programme {\bf Bacula Console}. Outre 
3381 l'affectation du volume au pool (c'est \`a dire son r\'ef\'erencement 
3382 dans le catalogue), le volume physique doit recevoir une \'etiquette logicielle 
3383 valide pour que Bacula l'accepte. Ceci peut \^etre r\'ealis\'e automatiquement grâce 
3384 \`a la commande {\bf label}. D'autre part, Bacula peut effectuer cette op\'eration 
3385 automatiquement si l'instruction lui en est donn\'e, mais cette fonctionnalit\'e 
3386 n'est pas encore pleinement impl\'ement\'ee.
3387
3388 Voici un exemple d'une d\'efinition de ressource Pool valide :
3389
3390 \footnotesize
3391 \begin{verbatim}
3392  
3393 Pool {
3394   Name = Default
3395   Pool Type = Backup
3396 }
3397 \end{verbatim}
3398 \normalsize
3399
3400 \subsubsection*{Le Scratch Pool}
3401 \addcontentsline{toc}{subsection}{Scratch Pool}
3402 \index[general]{Scratch Pool}
3403 En g\'en\'eral, vous pouvez nommer vos pool \`a votre guise, il existe cependant 
3404 une importante restriction : le pool nomm\'e {\bf Scratch}, s'il existe, 
3405 se comporte comme une r\'eserve de volumes o\`u Bacula pourra puiser s'il ne trouve 
3406 aucun volume utilisable dans le pool normalement utilis\'e par le job. Le volume 
3407 est alors d\'eplac\'e du pool Scratch vers le pool en d\'efaut.
3408
3409 \subsection*{La ressource Catalog}
3410 \label{CatalogResource}
3411 \index[general]{Resource!Catalog }
3412 \index[general]{Ressource Catalog}
3413 \addcontentsline{toc}{subsection}{La ressource Catalog}
3414
3415 La ressource Catalog pr\'ecise quel catalogue utiliser pour le job courant. 
3416 Actuellement, Bacula ne peut utiliser qu'un type de serveur de bases de 
3417 donn\'ees d\'efini lors de sa configuration : SQLite, MySQL, PostgreSQL. 
3418 En revanche, vous pouvez utiliser autant de 
3419 catalogues que vous le souhaitez. Par exemple, vous pouvez avoir un 
3420 catalogue par client, ou encore un catalogue pour les sauvegardes, un autre 
3421 pour les jobs de type Verify et un troisi\`eme pour les restaurations.
3422
3423 \begin{description}
3424
3425 \item [Catalog]
3426    \index[dir]{Catalog}
3427    \index[dir]{Directive!Catalog}
3428 D\'ebut de la ressource Catalog. Il faut au moins une ressource Catalogue.
3429
3430 \item [Name = \lt{}name\gt{}]
3431    \index[dir]{Name}
3432    \index[dir]{Directive!Name}
3433 Le nom du Catalog. Il n'a pas besoin d'\^etre en relation avec le nom sur le serveur 
3434 de base de donn\'ees. Ce nom sera repris dans la ressource Client, indiquant ainsi 
3435 que toutes les donn\'ees relatives \`a ce client sont maintenues dans ce catalogue.
3436 Cette directive est requise.*
3437
3438
3439 \item [password = \lt{}password\gt{}]
3440    \index[dir]{password}
3441    \index[dir]{Directive!password}
3442 Cette directive sp\'ecifie le mot de passe \`a utiliser pour se connecter au 
3443 catalogue. Cette directive est requise.
3444
3445 \item [DB Name = \lt{}name\gt{}]
3446    \index[dir]{DB Name}
3447    \index[dir]{Directive!DB Name}
3448 Cette directive sp\'ecifie le nom de la base de donn\'ees. Si vous utilisez plusieurs 
3449 catalogues, vous sp\'ecifiez lequel ici. Si vous utilisez un serveur de bases de 
3450 donn\'ees externe plut\^ot que l'int\'egr\'e, vous devez sp\'ecifier un nom connu du 
3451 serveur (autrement dit, le nom que vous avez utilis\'e lorsque vous avez cr\'e\'e les 
3452 tables Bacula.). Cette directive est requise.
3453
3454 \item [user = \lt{}user\gt{}]
3455    \index[dir]{user}
3456    \index[dir]{Directive!user}
3457 L'utilisateur habilit\'e \`a se connecter au catalogue.  Cette directive est requise.
3458
3459 \item [DB Socket = \lt{}socket-name\gt{}]
3460    \index[dir]{DB Socket}
3461    \index[dir]{Directive!DB Socket}
3462 Il s'agit du nom d'un {\it socket} \`a utiliser sur la machine locale pour se 
3463 connecter au catalogue. Cette directive n'est utilis\'ee que par MySQL, elle est 
3464 ignor\'ee par SQLite. Normalement, si ni {\bf DB Socket}, ni {\bf DB Address} ne sont 
3465 sp\'ecifi\'ees, MySQL utilise le socket par d\'efaut.
3466
3467 \item [DB Address = \lt{}address\gt{}]
3468    \index[dir]{DB Address}
3469    \index[dir]{Directive!DB Address}
3470 Il s'agit de l'adresse du serveur de bases de donn\'ees. En principe, vous  
3471 utiliserez cette directive plut\^ot que {\bf DB Socket} si le serveur de bases de 
3472 donn\'ees est une autre machine. Dans ce cas, vous sp\'ecifierez aussi le port {\bf DB Port}. 
3473 Cette directive n'est utilis\'ee que par MySQL, et ignor\'ee par SQLite. Elle est 
3474 optionnelle.
3475
3476 \item [DB Port = \lt{}port\gt{}]
3477    \index[dir]{DB Port}
3478    \index[dir]{Directive!DB Port}
3479 Cette directive d\'efinit le port \`a utiliser en conjonction avec {\bf DB Address} pour 
3480 acc\'eder au catalogue s'il est h\'eberg\'e sur une autre machine. Elle n'est utilis\'ee que par 
3481  MySQL, et ignor\'ee par SQLite. Elle est optionnelle.
3482
3483 %% \item [Multiple Connections = \lt{}yes|no\gt{}]
3484 %%   \index[dir]{Multiple Connections}
3485 %%   \index[dir]{Directive!Multiple Connections}
3486 %% Par d\'efaut, cette directive est d\'esactiv\'ee, ce qui implique que tous les jobs utilisant  
3487 %% le m\^eme catalogue se partagent une m\^eme  connection au catalogue, et que Bacula n'autorise 
3488 %% qu'un job \`a la fois \`a communiquer. Si vous activez cette directive ({\bf yes}), Bacula 
3489 %% permettra les connection multiples au catalogue, c'est pourquoi la base de donn\'ees 
3490 %% doit supporter le {\it multi thread}. Pour SQLite et PostgreSQL, ce n'est pas un probl\`eme. 
3491 %% Pour MySQL, vous devez vous assurer {\bf attentivement} d'avoir la version {\it multi thread} 
3492 %% de la librairie cliente sur votre syst\`eme. Une fois cette directive activ\'ee, chaque job 
3493 %% disposera de sa propre connection au catalogue, la base de donn\'ees contr\^olant les interactions 
3494 %% entre les diff\'erents jobs. Ceci peut accro\^itre significativement les op\'erations de la 
3495 %% base de donn\'ees si vous ex\'ecutez plusieurs jobs simultan\'es. De plus, pour SQLite et PostgreSQL, 
3496 %% Bacula activera automatiquement les transactions dans la base de donn\'ees. Ceci peut accro\^itre 
3497 %% significativement les insertions d'attributs dans le catalogue, que ce soit pour un job unique 
3498 %% ou pour plusieurs jobs simultan\'es.
3499
3500 %% Cette directive n'a pas \'et\'e test\'ee. Veuillez, s'il vous pla\^it, la tester scrupuleusement avant 
3501 %% de l'activer en production, et nous fournir un retour de vos tests.
3502
3503 \end{description}
3504
3505 Voici un exemple d'une d\'efinition de ressource Catalog valide :
3506
3507 \footnotesize
3508 \begin{verbatim}
3509 Catalog
3510 {
3511   Name = SQLite
3512   dbname = bacula;
3513   user = bacula;
3514   password = ""                       # no password = no security
3515 }
3516 \end{verbatim}
3517 \normalsize
3518
3519 en voici une deuxi\`eme pour un catalogue sur une autre machine :
3520
3521 \footnotesize
3522 \begin{verbatim}
3523 Catalog
3524 {
3525   Name = MySQL
3526   dbname = bacula
3527   user = bacula
3528   password = ""
3529   DB Address = remote.acme.com
3530   DB Port = 1234
3531 }
3532 \end{verbatim}
3533 \normalsize
3534
3535 \subection*{La ressource Messages}
3536 \label{MessagesResource2}
3537 \index[general]{Resource!Messages }
3538 \index[general]{Messages Ressource }
3539 \addcontentsline{toc}{subsection}{Messages Resource}
3540
3541 Pour les d\'etails sur la ressource Messages, veuillez consulter 
3542 le chapitre \ilink{La ressource Messages}{_ChapterStart15} de ce manuel.
3543
3544 \subsection*{La ressource Console}
3545 \label{ConsoleResource1}
3546 \index[general]{Console Resource }
3547 \index[general]{Resource!Console }
3548 \addcontentsline{toc}{subsection}{Console Resource}
3549
3550 A partir de la version 1.33 de Bacula, l'administrateur dispose de trois sortes de 
3551 consoles diff\'erentes pour interagir avec le Director. Ces trois types de consoles 
3552 comportent trois niveaux de s\'ecurit\'e diff\'erents.
3553
3554 \begin{itemize}
3555 \item Le premier type de console est une console {\bf anonyme} ou {\bf par d\'efaut}, 
3556   qui d\'etient tous les privil\`eges. La ressource Console n'est pas requise pour 
3557   ce type puisque le mot de passe est sp\'ecifi\'e dans la ressource Director et par 
3558   cons\'equent, de telles consoles n'ont pas de nom d\'efini par une directive {\bf Name =}. 
3559   C'est le premier type de console impl\'ement\'e dans les versions ant\'erieures \`a 1.33, il 
3560   demeure valide. Sont usage est typiquement r\'eserv\'e aux administrateurs.
3561 \item Le second type de console, apparu avec la version 1.33 est une console "nomm\'ee" 
3562   d\'efinie dans une ressource Console simultan\'ement dans le fichier de configuration du 
3563   Director et dans le fichier de configuration de la Console, les noms et mots de passe 
3564   devant \^etre en conjonction dans ces deux fichiers. 
3565   Ce type de console ne d\'etient absolument aucun privil\`ege, except\'es ceux explicitement 
3566   sp\'ecifi\'es dans la ressource Console du fichier de configuration du Director. 
3567   Ainsi, vous pouvez d\'efinir plusieurs consoles avec des noms et mots de passe distincts 
3568   destin\'ees \`a diff\'erents utilisateurs avec diff\'erents privil\`eges. Par d\'efaut ces consoles 
3569   ne peuvent absolument rien faire. Il vous revient de leur accorder des privil\`eges 
3570   ou plut\^ot des acc\`es aux commandes et ressources en sp\'ecifiant des listes de 
3571   contr\^ole d'acc\`es (ACL) dans la ressource Console du fichier de configuration du 
3572   Director. Les ACLs sont sp\'ecifi\'ees par une directive suivie d'une liste de noms 
3573   d'acc\`es. Vous trouverez des exemples ci-dessous. 
3574 \item Le troisi\`eme type de console est similaire au second en ce qu'il requiert 
3575   une d\'efinition de ressource Console dans le fichier de configuration du
3576   Director et dans le fichier de configuration de la Console. De plus, si le nom de 
3577   la console sp\'ecifi\'e par la directive {\bf Name =} est le m\^eme que le nom du client, 
3578   cette console est autoris\'ee \`a utiliser la commande {\bf SetIP} pour modifier la 
3579   directive Address dans la ressource client du fichier de configuration du
3580   Director en l'adresse IP de la console. Ceci permet aux portables et autres machines 
3581   utilisant DHCP (adresses IP dynamiques) de "notifier" le Director de leur adresse 
3582   IP courante.
3583 \end{itemize}
3584
3585 La ressource Console est optionnelle. Les directives suivantes sont permises 
3586 dans le fichier de configuration du Director.
3587
3588 \begin{description}
3589
3590 \item [Name = \lt{}name\gt{}]
3591    \index[dir]{Name}
3592    \index[dir]{Directive!Name}
3593 Le nom de la console. Ce nom doit \^etre en conjonction avec celui sp\'ecifi\'e 
3594 dans le fichier de configuration de la Console (comme c'est le cas pour les 
3595 d\'efinitions de clients).
3596
3597 \item [Password = \lt{}password\gt{}]
3598    \index[dir]{Password}
3599    \index[dir]{Directive!Password}
3600 Sp\'ecifie le mot de passe qu'une console nomm\'ee doit fournir pour \^etre autoris\'ee. 
3601 Le m\^eme mot de passe doit appara\^itre dans la ressource Console du fichier 
3602 de configuration de la Console. Pour plus de s\'ecurit\'e, le mot de passe n'est 
3603 jamais r\'eellement transmis \`a travers le r\'eseau, mais plut\^ot un code de 
3604 hachage de type {\it challenge response} cr\'e\'e \`a partir du mot de passe. 
3605 Cette directive est requise. Si vous disposez de {\bf /dev/random} ou  {\bf bc} 
3606 sur votre machine, Bacula g\'en\`erera al\'eatoirement ce mot de passe lors du 
3607 processus de configuration, autrement, il sera laiss\'e blanc.
3608
3609 \item [JobACL = \lt{}name-list\gt{}]
3610    \index[dir]{JobACL}
3611    \index[dir]{Directive!JobACL}
3612 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Job 
3613 qui peuvent \^etre acc\'ed\'es par la console. Sans cette directive, la console ne peut 
3614 acc\'eder \`a aucune des ressources Job d\'efinies dans le fichier de configuration 
3615 du Director. Plusieurs ressources Job peuvent \^etre sp\'ecifi\'ees en les s\'eparant par 
3616 des virgules, et/ou en sp\'ecifiant plusieurs directives JobACL. Par exemple, la 
3617 directive peut \^etre sp\'ecifi\'ee ainsi :
3618
3619 \footnotesize
3620 \begin{verbatim}
3621     JobACL = kernsave, "Backup client 1", "Backup client 2"
3622     JobACL = "RestoreFiles"
3623     
3624 \end{verbatim}
3625 \normalsize
3626
3627 Avec cette sp\'ecificaton, la console peut acc\'eder aux ressources du Director pour 
3628 les quatre jobs d\'esign\'es par la directive JobACL, et uniquement \`a eux.
3629
3630 \item [ClientACL = \lt{}name-list\gt{}]
3631    \index[dir]{ClientACL}
3632    \index[dir]{Directive!ClientACL}
3633 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Client 
3634 iaccessibles par la console.
3635
3636 \item [StorageACL = \lt{}name-list\gt{}]
3637    \index[dir]{StorageACL}
3638    \index[dir]{Directive!StorageACL}
3639 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Storage 
3640 accessibles par la console.
3641
3642 \item [ScheduleACL = \lt{}name-list\gt{}]
3643    \index[dir]{ScheduleACL}
3644    \index[dir]{Directive!ScheduleACL}
3645 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Schedule
3646 accessibles par la console.
3647
3648 \item [PoolACL = \lt{}name-list\gt{}]
3649    \index[dir]{PoolACL}
3650    \index[dir]{Directive!PoolACL}
3651 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Pool
3652 accesibles ar la console.
3653
3654 \item [FileSetACL = \lt{}name-list\gt{}]
3655    \index[dir]{FileSetACL}
3656    \index[dir]{Directive!FileSetACL}
3657 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources FileSet
3658 accessibles par la console.
3659
3660 \item [CatalogACL = \lt{}name-list\gt{}]
3661    \index[dir]{CatalogACL}
3662    \index[dir]{Directive!CatalogACL}
3663 Cette directive est utilis\'ee pour sp\'ecifier une liste de noms de ressources Catalog
3664 accessibles par la console.
3665
3666 \item [CommandACL = \lt{}name-list\gt{}]
3667    \index[dir]{CommandACL}
3668    \index[dir]{Directive!CommandACL}
3669 Cette directive est utilis\'ee pour sp\'ecifier une liste de commandes de la console
3670 qui peuvent \^etre ex\'ecut\'ees par la console.
3671
3672 \end{description}
3673
3674 En plus des diff\'erents noms de ressources du Director et de commandes, le mot-clef 
3675 sp\'ecial {\bf *all*} peut \^etre sp\'ecifi\'e dans chacune des directives ACL ci-dessus.
3676 Sa pr\'esence signifie que toute ressource ou commande (pourvu qu'elle soit appropri\'ee 
3677 \`a la directive) est accept\'ee. Pour un exemple de fichier de configuration, voyez le 
3678 chapitre \ilink{Configuration de la console}{_ChapterStart36} de ce manuel
3679
3680 \subsection*{La ressource Counter}
3681 \label{CounterResource}
3682 \index[general]{Ressource!Counter }
3683 \index[general]{Ressource Counter }
3684 \addcontentsline{toc}{subsection}{Ressource Counter}
3685 La ressource Counter d\'efinit une variable-compteur qui peut \^etre acc\'ed\'ee par le 
3686 processus d'expansion de variables utilis\'e pour la cr\'eation de d'\'etiquettes (labels) 
3687 de volumes avec la directive {\bf LabelFormat}. Consultez le paragraphe sur la directive 
3688 \ilink{LabelFormat}{Label} de ce chapitre pour plus de d\'etails.
3689
3690 \begin{description}
3691
3692 \item [Counter]
3693    \index[dir]{Counter}
3694    \index[dir]{Directive!Counter}
3695 D\'ebut de la ressource Counter. les directives Counter sont optionnelles.
3696
3697 \item [Name = \lt{}name\gt{}]
3698    \index[dir]{Name}
3699    \index[dir]{Directive!Name}
3700 iLe nom de la variable-compteur. Il s'agit du nom que vous utiliserez pour vous r\'ef\'erer 
3701 \`a cette variable et acc\'eder \`a sa valeur.
3702
3703 \item [Minimum = \lt{}integer\gt{}]
3704    \index[dir]{Minimum}
3705     \index[dir]{Directive!Minimum}
3706 Sp\'ecifie la valeur minimale de la variable-compteur. Cette valeur devient celle par d\'efaut. 
3707 Si elle n'est pas fournie, sa valeur est z\'ero.
3708
3709 \item [Maximum = \lt{}integer\gt{}]
3710    \index[dir]{Maximum}
3711     \index[dir]{Directive!Maximum}
3712 Sp\'ecifie la valeur maximale de la variable-compteur. Si elle n'est pas fournie, ou si elles 
3713 est r\'egl\'ee \`a z\'ero, la variable compteur peut prendre une valeur maximale de 2 147 483 648 
3714 ($2^{31}$). Au del\`a de cette valeur, le compteur est remis au minimum.
3715
3716 \item [*WrapCounter = \lt{}counter-name\gt{}]
3717    \index[dir]{*WrapCounter}
3718    \index[dir]{Directive!*WrapCounter}
3719 Si cette valeur est sp\'ecifi\'ee, lorsque la variable-compteur d\'epasse le maximum et 
3720 est remise au minimum, le compteur sp\'ecifi\'e par la directive {\bf WrapCounter} est 
3721 incr\'ement\'e. (Ceci n'est, pour le moment, pas impl\'ement\'e.)
3722
3723 \item [Catalog = \lt{}catalog-name\gt{}]
3724    \index[dir]{Catalog}
3725    \index[dir]{Directive!Catalog}
3726 Si cette directive est sp\'ecifi\'ee, le compteur et sa valeur sont sauvegard\'es dans le 
3727 catalogue sp\'ecifi\'e. Dans le cas contraire, le compteur est red\'efini \`a chaque 
3728 d\'emarrage de Bacula.
3729
3730 \end{description}
3731
3732 \subsection*{ Voici un exemple complet de fichier de configuration du Director.}
3733 \label{SampleDirectorConfiguration}
3734 \index[general]{File!Exemple Complet Director Configuration }
3735 \index[general]{Exemple Complet Fichier Configuration Director}
3736 \addcontentsline{toc}{subsection}{Exemple Complet Fichier Configuration Directo}
3737 Un exemple de fichier de configuration du Director pourrait \^etre le suivant :
3738
3739
3740 \footnotesize
3741 \begin{verbatim}
3742 #
3743 # Default Bacula Director Configuration file
3744 #
3745 #  The only thing that MUST be changed is to add one or more
3746 #   file or directory names in the Include directive of the
3747 #   FileSet resource.
3748 #
3749 #  For Bacula release 1.15 (5 March 2002) -- redhat
3750 #
3751 #  You might also want to change the default email address
3752 #   from root to your address.  See the "mail" and "operator"
3753 #   directives in the Messages resource.
3754 #
3755 Director {                            # define myself
3756   Name = rufus-dir
3757   QueryFile = "/home/kern/bacula/bin/query.sql"
3758   WorkingDirectory = "/home/kern/bacula/bin/working"
3759   PidDirectory = "/home/kern/bacula/bin/working"
3760   Password = "XkSfzu/Cf/wX4L8Zh4G4/yhCbpLcz3YVdmVoQvU3EyF/"
3761 }
3762 # Define the backup Job
3763 Job {
3764   Name = "NightlySave"
3765   Type = Backup
3766   Level = Incremental                 # default
3767   Client=rufus-fd
3768   FileSet="Full Set"
3769   Schedule = "WeeklyCycle"
3770   Storage = DLTDrive
3771   Messages = Standard
3772   Pool = Default
3773 }
3774 Job {
3775   Name = "Restore"
3776   Type = Restore
3777   Client=rufus-fd
3778   FileSet="Full Set"
3779   Where = /tmp/bacula-restores
3780   Storage = DLTDrive
3781   Messages = Standard
3782   Pool = Default
3783 }
3784    
3785 # List of files to be backed up
3786 FileSet {
3787   Name = "Full Set"
3788   Include {
3789     Options { signature=SHA1 }
3790 #
3791 #  Put your list of files here, one per line or include an
3792 #    external list with:
3793 #
3794 #    @file-name
3795 #
3796 #  Note: / backs up everything
3797   File = /
3798   }
3799   Exclude { }
3800 }
3801 # When to do the backups
3802 Schedule {
3803   Name = "WeeklyCycle"
3804   Run = Full sun at 1:05
3805   Run = Incremental mon-sat at 1:05
3806 }
3807 # Client (File Services) to backup
3808 Client {
3809   Name = rufus-fd
3810   Address = rufus
3811   Catalog = MyCatalog
3812   Password = "MQk6lVinz4GG2hdIZk1dsKE/LxMZGo6znMHiD7t7vzF+"
3813   File Retention = 60d      # sixty day file retention
3814   Job Retention = 1y        # 1 year Job retention
3815   AutoPrune = yes           # Auto apply retention periods
3816 }
3817 # Definition of DLT tape storage device
3818 Storage {
3819   Name = DLTDrive
3820   Address = rufus
3821   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3822   Device = "HP DLT 80"      # same as Device in Storage daemon
3823   Media Type = DLT8000      # same as MediaType in Storage daemon
3824 }
3825 # Definition for a DLT autochanger device
3826 Storage {
3827   Name = Autochanger
3828   Address = rufus
3829   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3830   Device = "Autochanger"    # same as Device in Storage daemon
3831   Media Type = DLT-8000     # Different from DLTDrive
3832   Autochanger = yes
3833 }
3834 # Definition of DDS tape storage device
3835 Storage {
3836   Name = SDT-10000
3837   Address = rufus
3838   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3839   Device = SDT-10000        # same as Device in Storage daemon
3840   Media Type = DDS-4        # same as MediaType in Storage daemon
3841 }
3842 # Definition of 8mm tape storage device
3843 Storage {
3844   Name = "8mmDrive"
3845   Address = rufus
3846   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3847   Device = "Exabyte 8mm"
3848   MediaType = "8mm"
3849 }
3850 # Definition of file storage device
3851 Storage {
3852   Name = File
3853   Address = rufus
3854   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3855   Device = FileStorage
3856   Media Type = File
3857 }
3858 # Generic catalog service
3859 Catalog {
3860   Name = MyCatalog
3861   dbname = bacula; user = bacula; password = ""
3862 }
3863 # Reasonable message delivery -- send most everything to
3864 #   the email address and to the console
3865 Messages {
3866   Name = Standard
3867   mail = root@localhost = all, !skipped, !terminate
3868   operator = root@localhost = mount
3869   console = all, !skipped, !saved
3870 }
3871     
3872 # Default pool definition
3873 Pool {
3874   Name = Default
3875   Pool Type = Backup
3876   AutoPrune = yes
3877   Recycle = yes
3878 }
3879 #
3880 # Restricted console used by tray-monitor to get the status of the director
3881 #
3882 Console {
3883   Name = Monitor
3884   Password = "GN0uRo7PTUmlMbqrJ2Gr1p0fk0HQJTxwnFyE4WSST3MWZseR"
3885   CommandACL = status, .status
3886 }
3887 \end{verbatim}
3888 \normalsize