]> git.sur5r.net Git - bacula/docs/blob - docs/manual-fr/dirdconf.tex
Suite de dirdconf.tex
[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 vouc 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 Sc hedules \`a utiliser conjointement pour chaque Job. 
42 \item 
43    \ilink{JobDefs}{JobDefsResource} -- Ressource optionnelle pour
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 pool de volumes
60    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 \section*{La ressource Director}
72 \label{DirectorResource4}
73 \index[general]{Director!La ressource }
74 \index[general]{La ressource Director }
75 \addcontentsline{toc}{section}{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    Le nom du Director utilis\'e par l'administrateur syst\`eme. Cette directive
92 est requise  
93   
94 \item [Description = \lt{ }texte\gt{}]
95    \index[dir]{Description  }
96    Le champ texte contient une description du Director qui sera affich\'ee  dans
97 l'interface graphique. Cette directive est optionnelle.  
98  
99 \ item [Password = \lt{}UA-password\gt{}]
100    \index[dir]{Password  }
101    Sp\'ecifie le mot de passe qui doit \^etre fourni par la Console Bacula par
102 d\'efaut  pour \^etre autoris\'ee. Le m\^eme mot de passe doit appara{\^\i}tre
103 dans la ressource {\bf Director} du fichier de  configuration de la console.
104 Pour plus de s\'ecurit\'e, le mot de passe ne transite jamais sur le r\'eseau,
105 l'authentification se fait via un \'echange de type {\it challenge-response}
106 d'un {\it hash code} cr\'e\'e avec le mot  de passe. Cette directive est
107 requise. Si vous disposez de {\bf /dev/random} ou {\bf bc} sur votre machine,
108 Bacula  g\'en\`erera un mot de passe al\'eatoire lors du processus
109 d'installation, sinon il sera laiss\'e blanc et vous devrez en d\'efinir  un
110 manuellement.  
111  
112 \ item [Messages = \lt{}Nom-de-ressource-Messages\gt{}]
113    \index[console]{Messages  }
114    La ressource {\bf messages} sp\'ecifie o\`u doivent \^etre d\'elivr\'es les messages du Director 
115  qui ne sont pas associ\'es \`a un job sp\'ecifique. La plupart des messages sont relatifs
116  \`a un job et seront dirig\'es vers la ressource {\bf messages} sp\'ecifi\'ee par le job. 
117  Cependant, il quelques messages peuvent \^etre g\'en\'er\'es lorsque aucun job n'est actif. 
118  Cette directive est requise.
119
120 \item [Working Directory = \lt{}R\'epertoire\gt{}]
121    \index[console]{Working Directory  }
122 Cette directive sp\'ecifie un r\'epertoire o\`u le Director peut d\'eposer ses fichiers 
123 d'\'etats. Ce r\'epertoire ne devrait \^etre utilis\'e que par Bacula, mais il peut \^etre 
124 partag\'e par d'autres {\it daemons} Bacula. Les substitutions shell standard sont 
125 effectu\'ees \`a la lecture du fichier de configuration, de sorte que des valeurs 
126 telles que {\bf \$HOME} seront correctement substitu\'ees. Cette directive est 
127 requise.
128  
129 \item [Pid Directory = \lt{}R\'epertoire\gt{}]
130    \index[fd]{Pid Directory  }
131     Cette directive sp\'ecifie un r\'epertoire o\`u le Director peut d\'eposer son fichier
132 d'Id de processus. Ce fichier est utilis\'e pour stopper Bacula et pr\'evenir l'ex\'ecution 
133 simultan\'ee de plusieurs copies de Bacula. Les substitutions shell standard sont
134 effectu\'ees \`a la lecture du fichier de configuration, de sorte que des valeurs
135 telles que {\bf \$HOME} seront correctement substitu\'ees.
136
137 Typiquement, sur les syst\`emes Linux, vous utiliserez ici {\bf /var/run}. Si vous 
138 n'installez pas Bacula dans les r\'epertoires syst\`eme, vous pouvez utiliser le 
139 r\'epertoire de travail {\bf Working Directory} d\'efini plus haut.
140 Cette directive est requise.
141  
142 \item [QueryFile = \lt{}Chemin\gt{}]
143    \index[dir]{QueryFile  }
144     Cette directive sp\'ecifie un r\'epertoire et un fichier dans lequel le 
145 Director peut trouver les requ\^etes SQL pr\'e\'etablies pour la commande 
146 {\bf Query} de la Console. Les substitutions shell standard sont
147 effectu\'ees \`a la lecture du fichier de configuration, de sorte que des valeurs
148 telles que {\bf \$HOME} seront correctement substitu\'ees. 
149 Cette directive est requise.
150
151 \label{DirMaxConJobs}
152
153 \item [Maximum Concurrent Jobs = \lt{}nombre\gt{}]
154    \index[fd]{Maximum Concurrent Jobs  }
155    O\`u \lt{}nombre\gt{} est le nombre maximal de jobs qui peuvent \^etre ex\'ecut\'es 
156 simultan\'ement par le Director. La valeur par d\'efaut est 1, mais vous pouvez utiliser 
157 une valeur plus grande.
158 Notez que le format des volumes devient beaucoup plus compliqu\'e avec plusieurs jobs 
159 ex\'ecut\'es simultan\'ement. De ce fait, les restaurations peuvent prendre beaucoup plus 
160 de temps si Bacula doit faire le tri parmi les blocs entrem\'el\'es de ces jobs. Ceci 
161 peut \^etre \'evit\'e en s'arrangeant pour que chacun des jobs ex\'ecut\'es simultan\'ement 
162 \'ecrive sur un volume distinct. Une autre possibilit\'e consiste \`a utiliser le 
163 {\it data spooling} : les donn\'ees seront d'abord ``spool\'ees'' sur disque 
164 simultan\'ement, ensuite les fichiers ``spool'' seront \'ecrits s\'equentiellement 
165 sur le volume.   
166
167 Dans certains cas, des directives telles que {\bf Maximum Volume Jobs} ne sont pas 
168 correctement synchronis\'ees avec le nombre de jobs simultan\'es, et des probl\`emes 
169 de synchronisation subtils peuvent survenir, aussi des tests minutieux sont recommand\'es.
170
171 Actuellement, il n'y a aucun param\`etre de configuration pour r\'egler ou limiter 
172 le nombre de connections par console. Un maximum de cinq connection simultan\'ees 
173 est autoris\'e.
174
175 Pour plus de d\'etails concernant l'ex\'ecution simultan\'ee de plusieurs jobs, consultez la 
176 partie \ilink{Ex\'ecution simultan\'ee de plusieurs jobs}{ConcurrentJobs} du chapitre Astuces de ce manuel.
177
178
179 \item [FD Connect Timeout = \lt{}dur\'ee\gt{}]
180    \index[console]{FD Connect Timeout  }
181    O\`u {\bf dur\'ee} est le d\'elai durant lequel le Director tente de contacter 
182 le File Daemon pour d\'emarrer un job. Une fois ce d\'elai \'ecoul\'e, le Director supprimera le job.
183 La valeur par d\'efaut est 30 minutes.
184    
185 \item [SD Connect Timeout = \lt{}dur\'ee\gt{}]
186    \index[console]{SD Connect Timeout  }
187    O\`u {\bf dur\'ee} est le d\'elai durant lequel le Director tente de contacter 
188 le Storage Daemon pour d\'emarrer un job. Une fois ce d\'elai \'ecoul\'e, le Director supprimera le job.
189 La valeur par d\'efaut est 30 minutes.
190
191 \item [DirAddresses = \lt{}Sp\'ecification-adresses-IP\gt{}]
192    \index[console]{DirAddresses  }
193    Sp\'ecifie les ports et adresses sur lesquels le Director sera en attente de 
194 connections de Consoles Bacula. La meilleure explication est sans doute un exemple :
195
196 \footnotesize
197 \begin{verbatim}
198  DirAddresses  = { ip = {
199         addr = 1.2.3.4; port = 1205; }
200     ipv4 = {
201         addr = 1.2.3.4; port = http; }
202     ipv6 = {
203         addr = 1.2.3.4;
204         port = 1205;
205     }
206     ip = {
207         addr = 1.2.3.4
208         port = 1205
209     }
210     ip = {
211         addr = 1.2.3.4
212     }
213     ip = {
214         addr = 201:220:222::2
215     }
216     ip = {
217         addr = bluedot.thun.net
218     }
219  }
220 \end{verbatim}
221 \normalsize
222
223 o\`u ``ip'', ``ip4'', ``ip6'', ``addr'', et ``port'' sont les mots clef. Notez que 
224 les adresses peuvent \^etre sp\'ecifi\'ees sous forme de quadruplets point\'es, ou 
225 suivant la notation \`a doubles points IPv6, ou encore sous forme de nom symbolique 
226 (seulement pour la sp\'ecification ip). D'autre part, le port peut \^etre sp\'ecifi\'e 
227 par un nombre, ou par une valeur mn\'emonique du fichier /etc/services. Si un port 
228 n'est pas pr\'ecis\'e, celui par d\'efaut sera utilis\'e. Si une section ip est sp\'ecifi\'ee, 
229 la r\'esolution peut \^etre faite soit par IPv4, soit par IPv6. Si ip4 est sp\'ecifi\'e, 
230 seules les r\'esolutions IPv4 seront permises. Il en va de m\^eme avec ip6.
231
232 \item [DIRport = \lt{}num\'ero-de-port\gt{}]
233    \index[console]{DIRport  }
234    Sp\'ecifie le port (un entier positif) sur lequel le Director est \`a l'\'ecoute 
235 de connections de Consoles Bacula. Ce m\^eme num\'ero de port doit \^etre sp\'ecifi\'e 
236 dans la ressource Director du fichier de configuration de la console. La 
237 valeur par d\'efaut est 9101, aussi, il n'est en principe pas n\'ecessaire 
238 de renseigner cette directive. Elle n'est pas requise si vous sp\'ecifiez des 
239 DirAdresses.
240
241 \item [DirAddress = \lt{}Adresse-IP\gt{}]
242    \index[console]{DirAddress  }
243    Cette directive est optionnelle. Lorsqu'elle est sp\'ecifi\'ee, le Director n'accepte 
244 de connections Console que de l'adresse sp\'ecifi\'ee {\bf Adresse-IP}, qui peut /^etre 
245 soit un nom de domaine, soit une adresse IP au format quadruplet point\'e ou cha/^ine quot\'ee.  
246 Si cette directive n'est pas sp\'ecifi\'ee, le Director acceptera des connections de Console 
247 de toute adresse valide. Notez que contrairement /`a la sp\'ecification DirAdresses d\'ecrite 
248 plus haut, cette directive ne permet de sp\'ecifier qu'une seule adresse. Cette directive 
249 n'est pas requise si vous utilisez la directive DirAdresses.
250
251 \end{description}
252
253 Voici un exemple d'une ressource Director valide :
254
255 \footnotesize
256 \begin{verbatim}
257 Director {
258   Name = HeadMan
259   WorkingDirectory = "$HOME/bacula/bin/working"
260   Password = UA_password
261   PidDirectory = "$HOME/bacula/bin/working"
262   QueryFile = "$HOME/bacula/bin/query.sql"
263   Messages = Standard
264 }
265 \end{verbatim}
266 \normalsize
267
268 \section*{La ressource Job}
269 \label{JobResource}
270 \index[general]{Resource!Job }
271 \index[general]{Job Resource }
272 \addcontentsline{toc}{section}{Job Resource}
273
274 La ressource Job d\'efinit un Job (sauvegarde, restauration,...) que Bacula doit 
275 ex\'ecuter. Chaque d\'efinition de ressource Job contient le nom d'un client, la 
276 liste des \'el\'ements \`a sauvegarder (FileSet), la planification (Schedule) pour 
277 ce Job, le lieu o\`u sauvegarder ces donn\'ees (Storage Device) et quel groupe de 
278 media utiliser (Pool). En effet, chaque ressource Job doit r\'epondre aux questions : 
279 "Quoi ?", "O\`u ?", "Quand ?" et "Comment ?" soit, respectivement Fileset, Storage, 
280 Schedule, Type et Niveau (Sauvegarde/Restauration - Full/Differentielle/Incr\'ementale).
281
282 Un seul type ({\bf Backup}, {\bf Restore}, ...) peut \^etre sp\'ecifi\'e pour un Job donn\'e. 
283 Si vous voulez sauvegarder plusieurs FileSets sur le m\^eme client, vous devez d\'efinir un 
284 Job pour chacun d'entre eux.
285
286 \begin{description}
287
288 \item [Job]
289    \index[console]{Job }
290    D\'ebut de la ressource Job. Il faut d\'efinir au moins une ressource Job.
291
292 \item [Name = \lt{}name\gt{}]
293    \index[console]{Name  }
294    Le nom du Job. Ce nom peut \^etre utilis\'e avec la commande {\bf Run} du 
295    programme Console pour lancer un Job. Si le nom contient des espaces, 
296    il doit \^etre plac\'e entre quotes. C'est g\'en\'eralement une bonne id\'ee de 
297    nommer vos Jobs du nom du Client qu'ils sauvegardent, afin de les 
298    identifier ais\'ement.
299
300    Lors de l'ex\'ecution d'un Job, son nom unique est compos\'e du nom que vous avez 
301    sp\'ecifi\'e ici suffix\'e avec la date et l'heure de sa planification.
302    Cette directive est requise.
303
304 \item [Type = \lt{}job-type\gt{}]
305    \index[console]{Type  }
306    La directive {\bf Type} sp\'ecifie le type de Job, qui peut \^etre l'un des 
307    suivants : {\bf Backup},  {\bf Restore}, {\bf Verify}, ou {\bf Admin}. 
308    Cette directive est requise. Pour chaque type de Job, il existe des 
309    niveaux, qui seront d\'ecrits dans les prochains paragraphes.
310
311 \item [Backup]
312    \index[console]{Backup }
313    D\'efinit une sauvegarde. En principe, vous aurez au moins un job de type Backup 
314    par client sauvegard\'e. A moins que vous ne d\'esactiviez le catalogue, la 
315    plupart des donn\'ees et statistiques concernant les fichiers sauvegard\'ees 
316    seront \'ecrites dans le catalogue.
317
318 \item [Restore]
319    \index[console]{Restore }
320   D\'efinit une restauration. En principe, vous ne cr\'eerez qu'un seul job de ce 
321   type, que vous utiliserez comme un prototype  que vous modifierez \`a l'aide 
322   de la console lorsque vous devrez restaurer. Bien que certaines informations 
323   basiques soient conserv\'ees dans le catalogue lors de restaurations, leur 
324   quantit\'e est infime en regard des informations stock\'ees pour une sauvegarde -- 
325   par exemple, aucune entr\'ee de nom de fichier n'est g\'en\'er\'ee, puisqu'aucun fichier 
326   n'est sauvegard\'e.
327
328 \item [Verify]
329    \index[console]{Verify }
330    D\'efinit un Job de type Verify. Le Jobs de type {\bf verify}  permettent de 
331    comparer le catalogue au syst\`eme de fichiers ou \`a ce qui a \'et\'e sauvegard\'e. 
332    Vous pouvez l'utiliser pour vous assurer qu'une cartouche de donn\'ees est 
333    lisible, mais aussi comme un syst\`eme de d\'etection d'intrusion \`a la fa\ccon de 
334    Tripwire.
335
336 \item [Admin]
337    \index[fd]{Admin }
338    D\'efinit un Job de type Admin. Un  {\bf Admin} peut s'utiliser pour "\'elaguer" 
339    p\'eriodiquement le catalogue, si vous ne souhaitez pas que ceci soit fait \`a la fin 
340    de chaque sauvegarde. Bien que les Jobs de type admin soient enregistr\'es dans le 
341    catalogue, la quantit\'e de donn\'ees g\'en\'er\'ee est infime.
342    
343 \end{description}
344
345 \label{Level}
346
347 \item {\bf Level = \lt{}job-level\gt{}}
348    \index[fd]{Level  }
349    La directive Level sp\'ecifie le niveau d'ex\'ecutiondu job  par d\'efaut. 
350    Chaque type de job a son propre jeu de niveaux qui peuvent \^etre sp\'ecifi\'es. 
351    Le niveau d'ex\'ecution est en g\'en\'eral surcharg\'e par une valeur diff\'erente 
352    sp\'ecifi\'ee dans la ressource {\bf Schedule}. Cette directive n'est pas 
353    requise mais doit \^etre sp\'ecifi\'ee soit ici, soit en tant que surcharge 
354    dans la ressource {\bf Schedule}.
355    
356 Pour un job de type {\bf Backup} le niveau doit \^etre l'un des suivants : 
357
358 \begin{description}
359
360 \item [Full]
361    \index[fd]{Full }
362    Tous les fichiers du FileSet, qu'ils aient \'et\'e modifi\'es ou non.
363
364 \item [Incremental]
365    \index[fd]{Incremental }
366    Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde valide du FileSet 
367    sp\'ecifi\'e. Si le Director ne peut trouver une sauvegarde Full ant\'erieure, 
368    le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le Director 
369    recherche une Full valide dans le catalogue, il recherche un job avec 
370    les caract\'eristiques suivantes :
371
372 \begin{itemize}
373 \item le m\^eme nom de job ; 
374 \item le m\^eme nom de client ;  
375 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle 
376       que l'ajout ou la suppression de fichiers dans les sections Include ou 
377       Exclude constitue un changement de FileSet).
378 \item le niveau requis (Full, Differential ou Incremental)
379 \item le job s'est termin\'e normalement, c'est \`a dire un qu'il ne s'est pas termin\'e 
380       en \'echec, et n'a pas \'et\'e effac\'e.
381 \end{itemize}
382
383 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director 
384 augmentera la sauvegarde incr\'ementale en une sauvegarde Full. Dans le cas 
385 contraire, la sauvegarde incr\'ementale sera effectu\'ee normalement.
386
387 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une 
388 incr\'ementale par comparaison de l'heure de d\'emarrage du Job pr\'ec\'edent 
389 (Full, Diff\'erentiel ou Incr\'emental) avec les dates de derni\`ere modification 
390 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier 
391 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier 
392 sera sauvegard\'e.
393
394 Veuillez noter que certains logiciels anti-virus peuvent modifier la date 
395 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie 
396 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il 
397 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder 
398 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le 
399 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant 
400 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez 
401 leurs manuels.
402
403 Lorsque Bacula effectue une sauvegarde incr\'ementale, tous les fichiers modifi\'es 
404 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis 
405 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez 
406 une restauration \`a partir de sauvegardes incr\'ementales (et de la Full associ\'ee), 
407 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers 
408 n'apparaîtront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde 
409 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une 
410 incr\'ementale ralentirait fortement les sauvegardes incr\'ementales. Il n'est 
411 actuellement pas impl\'ement\'e dans Bacula.
412
413 \item [Differential]
414    \index[fd]{Differential }
415    Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde Full valide du FileSet
416    sp\'ecifi\'e. Si le Director ne peut trouver une sauvegarde Full ant\'erieure,
417    le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le Director
418    recherche une Full valide dans le catalogue, il recherche un job avec 
419    les caract\'eristiques suivantes :
420
421 \begin{itemize}
422 \item le m\^eme nom de job ;
423 \item le m\^eme nom de client ;
424 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle
425       que l'ajout ou la suppression de fichiers dans les sections Include ou
426       Exclude constitue un changement de FileSet).
427 \item le Job \'etait une sauvegarde FULL
428 \item le Job s'est termin\'e normalement, c'est \`a dire qu'il ne s'est pas termin\'e
429       en \'echec, et n'a pas \'et\'e effac\'e.
430 \end{itemize}
431
432 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director
433 augmentera la sauvegarde diff\'erentielle en une sauvegarde Full. Dans le cas
434 contraire, la sauvegarde diff\'erentielle sera effectu\'ee normalement.
435
436 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une
437 diff\'erentielle par comparaison de l'heure de d\'emarrage de la derni\`ere 
438 sauvegarde Full avec les dates de derni\`ere modification
439 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier
440 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier
441 sera sauvegard\'e. La date de d\'emarrage utilis\'ee est affich\'e apr\`es le {\bf Since} 
442 du rapport de Job. Dans de rares cas, certains fichiers sont sauvegard\'es deux fois 
443 \`a cause de l'utilisation de la date de d\'emarrage de la sauvegarde pr\'ec\'edente, 
444 mais ceci assure qu'aucun changement n'est perdu. Comme pour les incr\'ementales, 
445 vous devriez vous assurer que les horloges de votre serveur Bacula et de vos clients 
446 sont synchronis\'ees, ou aussi proches que possible, pour \'eviter le risque d'omission 
447 d'un fichier. Notez qu'\`a partir de la version 1.33, Bacula effectue automatiquement 
448 ces ajustements de sorte que les horloges utilis\'ees par Bacula soient synchrones.
449
450 Veuillez noter que certains logiciels anti-virus peuvent modifier la date
451 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie
452 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il
453 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder
454 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le
455 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant
456 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez
457 leurs manuels.
458
459 Lorsque Bacula effectue une sauvegarde diff\'erentielle, tous les fichiers modifi\'es
460 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis
461 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez
462 une restauration \`a partir de sauvegardes diff\'erentielles (et de la Full associ\'ee),
463 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers
464 n'apparaîtront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde
465 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une
466 incr\'ementale ralentirait fortement les sauvegardes diff\'erentielles. Il n'est
467 actuellement pas impl\'ement\'e dans Bacula.
468
469 \end{description}
470
471 Pour un Job de type {\bf Restore}, aucun niveau ne doit \^etre sp\'ecifi\'e.  
472
473 Pour un Job de type {\bf Verify}, le niveau peut \^etre l'un des suivants :   
474
475 \begin{description}
476
477 \item [InitCatalog]
478    \index[fd]{InitCatalog }
479    Examine le {\bf FileSet} sp\'ecifi\'e et stocke les attributs de fichiers dans le 
480    catalogue. Vous pouvez vous interroger sur l'int\'er\^et d'un Job qui ne 
481    sauvegarde aucun fichier. La r\'eponse est de pouvoir utiliser Bacula comme 
482    vous utiliseriez Tripwire, en d'autres termes, ce type de Jobs vous permet 
483    de sauvegarder l'\'etat d'un ensemble de fichiers d\'efini par un {\bf FileSet} 
484    afin de pouvoir ult\'erieurement contr\^oler si rien n'a \'et\'e modifi\'e, supprim\'e ou 
485    ajout\'e. Ceci peut \^etre utilis\'e pour d\'etecter une intrusion. Typiquement, 
486    vous sp\'ecifiez un {\bf FileSet} qui contient l'ensemble des fichiers qui ne 
487    devraient pas changer (par exemple /sbin, /boot, /lib, /bin,  ...). Ensuite, 
488    vous ex\'ecutez le Job verify de niveau {\bf InitCatalog} apr\`es l'installation 
489    de votre syst\`eme, puis apr\`es chaque modification (mise \`a jour). Ensuite, 
490    lorsque vous souhaitez contr\^oler l'\'etat de votre syst\`eme de fichiers, 
491    vous utilisez un Job {\bf Verify}, {\bf level = Catalog} afin de comparer 
492    le r\'esultat de votre {\bf InitCatalog} avec l'\'etat actuel de votre syst\`eme 
493    de fichiers.
494
495 \item [Catalog]
496    \index[fd]{Catalog }
497    Compare l'\'etat actuel des fichiers et l'\'etat pr\'ec\'edemment sauvegard\'e 
498    lors d'un {\bf InitCatalog}. Toutes les anomalies sont rapport\'ees. 
499    Les objets du rapport sont d\'etermin\'es par les options {\bf verify} 
500    sp\'ecifi\'ees dans la directive {\bf Include} du {\bf FileSet} sp\'ecifi\'e 
501    (voyez la ressource {\bf FileSet} ci-dessous pour plus de d\'etails). 
502    Typiquement, cette commande sera ex\'ecut\'ee quotidiennement pour 
503    contr\^oler toute modification de votre syst\`eme de fichier.
504    
505 Attention ! Si vous ex\'ecutez deux jobs Verify Catalog simultan\'ement sur le m\^eme client, 
506 les r\'esultats seront probablement erronn\'es. En effet, Verify Catalog modifie 
507 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
508
509 \item [VolumeToCatalog]
510    \index[fd]{VolumeToCatalog }
511    Ce niveau permet de lire les attributs de fichiers \'ecrits sur le Volume 
512    lors du dernier Job. Les attributs de fichiers sont compar\'es aux valeurs 
513    sauvegard\'ees dans le catalogue et toute diff\'erence est rapport\'ee. Ceci 
514    est similaire au niveau {\bf Catalog}, sauf que ce sont les 
515    attributs des fichiers du volume plut\^ot que ceux des fichiers du disque 
516    qui sont compar\'es aux attributs sauvegard\'es dans le catalogue. Bien que 
517    les attributs et signatures (MD5 ou SHA1) soient compar\'es, les donn\'ees 
518    r\'eelles ne le sont pas (elles ne figurent pas dans le catalogue).
519
520 Attention ! Si vous ex\'ecutez deux jobs Verify VolumeToCatalog simultan\'ement sur le m\^eme client,
521 les r\'esultats seront probablement erronn\'es. En effet, Verify VolumeToCatalog modifie
522 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
523
524 \item [DiskToCatalog]
525    \index[fd]{DiskToCatalog }
526    Ce niveau permet de lire les fichiers tels qu'ils sont actuellement sur le 
527    disque et de comparer leurs attributs actuels avec ceux stock\'es dans le 
528    catalogue lors de la derni\`ere sauvegarde pour le Job sp\'ecifi\'e par la 
529    directive {\bf VerifyJob}. Ce niveau diff\`ere du niveau {\bf Catalog} 
530    d\'ecrit plus haut en ce qu'il ne se r\'ef\`ere pas \`a un Job Verify ant\'erieur, 
531    mais \`a la derni\`ere sauvegarde. Lorsque vous utilisez ce niveau , vous devez 
532    renseigner les option Verify de la section Include. Ces options d\'eterminent 
533    quels attributs seront compar\'es.
534
535 Cette commande peut se r\'ev\'eler tr\`es utile si vous avez des probl\`emes de disque 
536 car elle comparera l'\'etat actuel de votre disque avec la derni\`ere sauvegarde 
537 valide, qui peut remonter \`a plusieurs jobs.
538
539 Notez que l'impl\'ementation actuelle (1.32c) n'identifie pas les fichiers qui 
540 ont \'et\'e supprim\'es.
541 \end{description}
542
543 \item {\bf Verify Job = \lt{}Job-Resource-Name\gt{}}
544    \index[fd]{Verify Job  }
545    Si vous ex\'ecutez un job verify sans cette directive, le dernier job 
546    ex\'ecut\'e sera compar\'e avec le catalogue, ce qui signifie que votre commande 
547    verify doit succ\'eder imm\'ediatement \`a une sauvegarde. Si vous sp\'ecifiez 
548    un {\bf Verify Job}, Bacula trouvera le dernier job ex\'ecut\'e avec ce nom. 
549    Ceci vous permet d'ex\'ecuter toutes vos sauvegardes, puis d'ex\'ecuter les jobs 
550    Verify sur les sauvegardes de votre choix (le plus souvent, un {\bf VolumeToCatalog} 
551    de sorte que la cartouche qui vient juste d'\^etre \'ecrite est relue).
552    
553 \item {\bf JobDefs = \lt{}JobDefs-Resource-Name\gt{}}
554    \index[fd]{JobDefs  }
555    Si un nom de JobDef est sp\'ecifi\'e dans la d\'efinition d'un Job, toutes les valeurs 
556    d\'efinies dans la ressource JobDef concern\'ee seront utilis\'ees en tant que valeurs 
557    par d\'efaut pour le Job. Toute valeur explicitement sp\'ecifi\'ee dans la 
558    d\'efinition du Job outrepasse la valeur par d\'efaut d\'efinie par le JobDef.
559    L'utilisation de cette directive permet d'\'ecrire des ressources Job plus 
560    compactes, o\`u la majeure partie des directives sont d\'efinies dans un ou 
561    plusieurs JobDefs. C'est particuli\`erement pratique si vous avez de nombreux 
562    Jobs similaires avec des variations mineures telles que diff\'erents clients.
563    Un exemple basique de l'utilisation d'un Jobdef est fourni dans le fichier 
564    bacula-dir.conf par d\'efaut.
565
566 \item {\bf Bootstrap = \lt{}bootstrap-file\gt{}}
567    \index[dir]{Bootstrap  }
568    La directive Bootstrap sp\'ecifie un fichier bootstrap qui, s'il est fourni, 
569    sera utilis\'e lors des restaurations et ignor\'e par tout les autres Jobs. 
570    Le fichier {\bf bootstrap} contient la liste des cartouches n\'ecessaires 
571    pour la restauration ainsi que les index des fichiers \`a restaurer 
572    (localisation sur la cartouche). Cette directive 
573    est optionnelle, et n'est utilis\'ee que pour les restaurations. De plus, 
574    elle peut \^etre modifi\'ee lorsqu'une restauration est lanc\'ee depuis la console.
575    
576 Si vous utilisez la commande {\bf Restore} dans la console pour lancer une 
577 restauration, le fichier {\bf bootstrap} sera cr\'e\'e automatiquement \`a partir des 
578 fichiers que vous avez s\'electionn\'es pour la restauration.
579
580 Pour plus de d\'etails concernant les fichiers {\bf bootstrap}, veuillez 
581 consulter le chapitre \ilink{Restaurer des fichiers avec le fichier Bootstrap}{_ChapterStart43} 
582 de ce manuel.
583
584 \item {\bf \label{writebootstrap} Write Bootstrap =  \lt{}bootstrap-file-specification\gt{}}
585 \index[fd]{a name }
586
587    La directive {\bf writebootstrap} sp\'ecifie le de fichier Bootstrap o\`u Bacula 
588    \'ecrira lors de chaque sauvegarde. Ainsi, cette directive s'applique 
589    exclusivement aux jobs de type sauvegarde. Si la sauvegarde est une Full, 
590    Bacula \'ecrase le contenu du fichier sp\'ecifi\'e. Sinon, Bacula ajoute les 
591    nouveaux enregistrements Bootstrap \`a la fin du fichier..
592
593 En utilisant cette fonction, vous aurez constamment un fichier bootstrap 
594 capable de recouvrer l'\'etat le plus r\'ecent de votre syst\`eme. Le fichier 
595 bootstrap devrait \^etre \'ecrit sur un disque mont\'e sur une autre machine, de 
596 sorte que vous puissiez en disposer imm\'ediatement en cas de d\'efaillance 
597 de votre disque dur. Une alternative consiste \`a copier le fichier sur une autre 
598 machine apr\`es chaque mise \`a jour.
599
600 Si la {\bf sp\'ecification de fichier bootstrap} d\'ebute par une barre verticale (|), 
601 Bacula consid\`ere la sp\'ecification comme un nom de programme vers lequel les 
602 les enregistrement bootstrap seront redirig\'es. Ce peut \^etre, par exemple, un 
603 script qui vous envoie par e-mail les enregistrements bootstrap.
604
605 Pour plus de d\'etails sur l'utilisation de fichiers bootstrap, veuillez 
606 consulter le chapitre intitul\'e \ilink{Le Fichier Bootstrap}{_ChapterStart43} 
607 de ce manuel.
608
609
610 \item {\bf Client = \lt{}client-resource-name\gt{}}
611    \index[fd]{Client  }
612    La directive Client sp\'ecifie le Client (File Daemon) \`a utiliser dans le Job.
613    Le client est ex\'ecut\'e sur la machine \`a sauvegarder. Il exp\'edie les fichiers requis
614    au Storage Daemon lors des sauvegardes, et re\\ 3oit les fichiers du Storage Daemon
615    lors des restaurations. Pour plus de d\'etails, consultez la section
616    \ilink{Ressource Client}{ClientResource2} de ce chapitre. Cette deirective est requise.
617
618
619 \item {\bf FileSet = \lt{}FileSet-resource-name\gt{}}
620    \index[fd]{FileSet  }
621    La directive FileSet sp\'ecifie le FileSet \`a utiliser dans le Job concern\'e. Le
622    FileSet d\'efinit les r\'epertoires et fichiers \`a sauvegarder, ainsi que les options
623    \`a utiliser pour les sauvegarder (par exemple la compression,...). Un Job ne peut
624    contenir qu'un seul FileSet. Pour plus de d\'etails, consultez la section
625    \ilink{Ressource FileSet}{FileSetResource} de ce chapitre.
626    Cette directive est requise.
627
628 \item {\bf Messages = \lt{}messages-resource-name\gt{}}
629    \index[dir]{Messages  }
630    La directive Messages d\'efinit la ressource Message qui doit \^etre utilis\'ee
631    pour le job concern\'e. Ainsi, elle d\'etermine le comment et o\`u seront
632    d\'elivr\'es les diff\'erents messages de Bacula. Par exemple, vous pouvez diriger
633    certains messages vers un fichier de logs, tandis que d'autres seront
634    envoy\'es par e-mail. Pour plus de d\'etails, consultez le chapitre
635    \ilink{Ressource Messages}{_ChapterStart15} de ce manuel. Cette directive
636    est requise.
637
638 \item {\bf Pool = \lt{}pool-resource-name\gt{}}
639    \index[dir]{Pool  }
640    La directive Pool sp\'ecifie le jeu de volumes qui doit \^etre utilis\'e pour
641    sauvegarder vos donn\'ees. De nombreuses installations de Bacula
642    n'utiliseront que le pool d\'efini par d\'efaut {\bf Default}. Toutefois,
643    si vous voulez sp\'ecifier diff\'erents jeux de volumes pou diff\'erents clients
644    ou diff\'erents jobs, vous voudrez probablement utiliser les Pools.
645    Pour plus de d\'etails, consultez la section \ilink{Ressource Pool}{PoolResource}
646    de ce chapitre. Cette directive est requise
647
648 \item {\bf Full Backup Pool = \lt{}pool-resource-name\gt{}  }
649    \index[dir]{Full Backup Pool  }
650    La directive {\it Full Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
651    sauvegardes Full. Cette directive outrepasse toute autre sp\'ecification
652    de Pool lors d'une sauvegarde Full. Cette directive est optionnelle.
653
654 \item {\bf Differential Backup Pool = \lt{}pool-resource-name\gt{}  }
655    \index[dir]{Differential Backup Pool  }
656    La directive {\it Differential Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
657    sauvegardes Diff\'erentielles. Cette directive outrepasse toute autre sp\'ecification
658    de Pool lors d'une sauvegarde Diff\'erentielle. Cette directive est optionnelle.
659
660 \item {\bf Incremental Backup Pool = \lt{}pool-resource-name\gt{}  }
661    \index[dir]{Incremental Backup Pool  }
662    La directive {\it Incremental Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
663    sauvegardes Incr\'ementales. Cette directive outrepasse toute autre sp\'ecification
664    de Pool lors d'une sauvegarde Incr\'ementale. Cette directive est optionnelle.
665
666 \item {\bf Schedule = \lt{}schedule-name\gt{}}
667    \index[dir]{Schedule  }
668    La directive Schedule d\'efinit la planification du job. Le {\it schedule} d\'etermine 
669    la date et l'instant o\`u le job doit \^etre lanc\'e automatiquement, et le niveau 
670    (Full, Diff\'erentiel, Incr\'emental...) du job en question. Cette directive est 
671    optionnelle. Si elle est omise, le job ne pourra \^etre ex\'ecut\'e que manuellement via 
672    la Console. Bien que vous puissiez vous contenter d'une ressource Schedule simple
673    pour tout job, vous pouvez aussi d\'efinir des ressources Schedule avec plusieurs 
674    directives {\bf Run}, afin de lancer le job \`a diff\'erentes heures. Chacune de ces 
675    directives {\bf Run} permet d'outrepasser les valeurs par d\'efaut de Level, Pool, 
676    Storage et Messages ressources. Ceci autorise une grande souplesse d'utilisation 
677    d'un simple job.
678    Pour plus de d\'etails, consultez le chapitre. 
679    \ilink{Ressource Schedule}{ScheduleResource} de ce manuel. 
680
681 \item {\bf Storage = \lt{}storage-resource-name\gt{}}
682    \index[dir]{Storage  }
683    La directive Storage d\'efinit le nom du service storage que vous souhaitez 
684    utiliser pour sauvegarder les donn\'ees du FileSet. Pour plus de d\'etails, consultez le 
685    chapitre \ilink{Ressource Storage}{StorageResource2} de ce manuel.
686    Cette directive est requise.
687    
688 \item {\bf Max Start Delay = \lt{}time\gt{}}
689    \index[sd]{Max Start Delay  }
690    La directive Max Start Delay sp\'ecifie le d\'elai maximal entre l'horaire 
691    planifi\'e (dans le schedule) et l'horaire effectif de d\'emarrage du job. 
692    Par exemple, un job peut \^etre programm\'e pour d\'emarrer \`a 1h, mais \^etre 
693    mis en attente \`a cause d'autres jobs en cours d'ex\'ecution. Si le 
694    Max Start Delay a \'et\'e r\'egl\'e \`a 3600, le job sera supprimm\'e s'il n'a pas 
695    d\'emarr\'e \`a 2h. Ceci peut se r\'ev\'eler utile pour, par exemple, \'eviter qu'un job 
696    s'ex\'ecute duant les heures ouvrables. La valeur par d\'efaut est 0 (pas de limite).
697
698 \item {\bf Max Run Time = \lt{}time\gt{}}
699    \index[sd]{Max Run Time  }
700    La directive Max Run Time sp\'ecifie le d\'elai allou\'e pour l'ex\'ecution 
701    compl\`ete d'un job depuis son lancement (pas n\'ecessairement \`a l'heure 
702    de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee 
703    depuis la version 1.33.
704
705 \item {\bf Max Wait Time = \lt{}time\gt{}}
706    \index[sd]{Max Wait Time  }
707    La directive Max Wait Time sp\'ecifie le d\'elai maximum durant lequel un 
708    job peut rester bloqu\'e en attente d'une ressource (par exemple, en attente du 
709    montage d'une cartouche ou encore en attente des Storage ou File Daemon occup\'es 
710    \`a d'autres tâches) depuis son lancement (pas n\'ecessairement \`a l'heure
711    de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee
712    depuis la version 1.33. 
713
714 \item {\bf Prune Jobs = \lt{}yes|no\gt{}}
715    \index[fd]{Prune Jobs  }
716    En principe, l'\'elagage des jobs du catalogue est sp\'ecifi\'e pour chaque client 
717    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette 
718    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes}, 
719    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur 
720    par d\'efaut est {\bf no}.
721
722 \item {\bf Prune Files = \lt{}yes|no\gt{}}
723    \index[fd]{Prune Files  }
724    En principe, l'\'elagage des fichiers du catalogue est sp\'ecifi\'e pour chaque client
725    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
726    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
727    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
728    par d\'efaut est {\bf no}.
729  
730 \item {\bf Prune Volumes = \lt{}yes|no\gt{}}
731    \index[fd]{Prune Volumes  }
732    En principe, l'\'elagage des volumes du catalogue est sp\'ecifi\'e pour chaque client
733    dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
734    directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
735    elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
736    par d\'efaut est {\bf no}.
737
738 \item {\bf Run Before Job = \lt{}command\gt{}}
739    \index[fd]{Run Before Job  }
740    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe avant le 
741    lancement du job. Tout retour de la commande sur la sortie standard est 
742    incluse dans le rapport de job de Bacula. La chaîne {bf command} doit \^etre 
743    un nom de programme valide ou un script shell. Cette directive n'est pas requise, 
744    mais si elle est d\'efinie, et si le code retour d'ex\'ecution du programme 
745    est diff\'erent de z\'ero, le job qui a lanc\'e le programme est effac\'e. D'autre part, 
746    la chaîne {bf command} est parcourue puis envoy\'ee vers la fonction execvp(), ce qui 
747    signifie que le chemin de la commande est recherch\'e pour son ex\'ecution, mais 
748    qu'il n'y a aucune interpr\'etation shell. Par cons\'equent, si vous voulez utiliser 
749    des commandes complexes ou toute fonctionnalit\'e du shell telle que la 
750    redirection, vous devez appeler un script shell o\`u vous mettrez vos commandes.
751    Avant de soumettre la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula 
752    effectue les substitutions suivantes :
753
754 \footnotesize
755 \begin{verbatim}
756     %% = %
757     %c = Nom du client
758     %d = Nom du Director
759     %i = JobId
760     %e = Statut de sortie du job
761     %j = Nom unique du job
762     %l = Niveau du job
763     %n = Nom du job
764     %t = Type de job
765     %v = Nom de volume
766     
767 \end{verbatim}
768 \normalsize
769 Depuis la version 1.30, Bacula contr\^ole le statut de sortie du programme 
770 RunBeforeJob. S'il est diff\'erent de z\'ero, le job se termine en erreur. 
771 Lutz Kittler a fait remarquer que ceci peut \^etre un moyen ais\'e pour modifier 
772 vos schedules pour les vacances. Par exemple, supposons que vous fassiez 
773 habituellement des sauvegardes Full le vendredi, mais que jeudi et vendredi 
774 soient f\'eri\'es. Pour \'eviter d'avoir \`a changer les cartouches entre jeudi et vendredi 
775 alors que personne n'est au bureau, vous pouvez cr\'eer un RunBeforeJob qui retourne 
776 un statut non nul jeudi et z\'ero les autres jours. Ainsi, le job de jeudi ne sera pas 
777 ex\'ecut\'e, et la cartouche que vous avez ins\'er\'e mercredi sera disponible pour la Full 
778 de vendredi.
779
780 \item {\bf Run After Job = \lt{}command\gt{}}
781    \index[fd]{Run After Job  }
782    La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe apr\`es la fin 
783    du job. La chaîne {bf command} doit \^etre un nom de programme valide ou un 
784    script shell. Cette directive n'est pas requise. Si le code de sortie du 
785    programme est non nul, le job se termine en erreur. Avant de soumettre 
786    la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula effectue les 
787    substitutions de caract\`eres d\'ecrites au paragraphe {\bf Run Before Job}
788
789 Un exemple d'utilisation de cette directive est donn\'e au chapitre 
790 \ilink{Astuces}{JobNotification} de ce manuel. depuis la version 1.30, 
791 Bacula contr\^ole le statut de sortie du program RunAfter. S'il est 
792 non nul, le job se termine en erreur.
793
794 \item {\bf Client Run Before Job = \lt{}command\gt{}}
795    \index[fd]{Client Run Before Job  }
796    Cette directive est similaire \`a {\bf Run Before Job} except\'e que la 
797    commande est ex\'ecut\'ee sur la machine cliente. Les m\^emes restrictions
798    s'appliquent aux syt\`emes Unix que celles signal\'ees pour {\bf Run Before Job}. 
799    D'autre part, pour les clients Windows \`a partir de la version 1.33, notez bien 
800    que vous devez fournir un chemin correct pour votre script, et que le script 
801    peut avoir l'extension .com, .exe, ou .bat. Si vous sp\'ecifiez un chemin, 
802    vous devez aussi sp\'ecifier l'extension compl\`ete. Les commandes \`a la fa\c{c}on 
803    d'Unix ne fonctionneront pas, \`a moins que vous n'ayez install\'e et 
804    correctement configur\'e Cygwin en plus (et s\'epar\'ement) de Bacula.
805
806
807 {\bf Considerations particuli\`eres \`a Windows}
808 La commande peut \^etre n'importe quel programme reconnu par cmd.exe ou command.com 
809 comme un fichier ex\'ecutable. Sp\'ecifier une extension de fichier ex\'ecutable 
810 est optionnel, \`a moins qu'il y ait une ambigu\"it\'e (par exemple ls.bat, ls.exe).
811
812 Bacula cherche la commande dans le r\'epertoire "System \%Path\%" (Dans la
813 boîte de dialogue des variables d'environnement vous avez les variables
814 "syst\`eme" et "utilisateurs". Si bacula-fd fonctionne en tant que
815 service, seules les variables d'environnement syst\`emes sont accessibles.)
816
817 Les variables d'environnement syst\`eme peuvent \^etre invoqu\'ees avec la
818 syntaxe \%var\% et utilis\'ees comme portion du nom de la commande ou des
819 arguments.
820
821 Lorsque la sp\'ecification du chemin absolu d'un ex\'ecutable ou le nom de 
822 l'ex\'ecutable contient des espaces ou des caract\`eres sp\'eciaux, ils doivent 
823 \^etre quot\'es. Il en va de m\^eme pour les arguments.
824
825 \footnotesize
826 \begin{verbatim}
827 ClientRunBeforeJob = "\"C:/Program Files/Software
828      Vendor/Executable\" /arg1 /arg2 \"foo bar\""
829 \end{verbatim}
830 \normalsize
831
832 Les caract\`eres sp\'eciaux \&()[]\{\}\^{}=;!'+,`\~{} devront \^etre quot\'es s'ils font 
833 partie d'un nom de fichier ou d'un argument.
834
835
836 If someone is logged in a blank ``command'' window running the  commands will
837 be present during the execution of the command.  
838
839 Quelques suggestions de Phil Stracchino pour l'ex\'ecution sur les machines 
840 Win32 avec le File Daemon Win32 natif :
841
842 \begin{enumerate}
843 \item Vous pourriez utiliser la directive ClientRunBeforeJob pour sp\'ecifier 
844       un fichier .bat qui ex\'ecute les commandes cot\'e client plut\^ot que 
845       d'essayer d'ex\'ecuter (par exemple) regedit /e directement.
846 \item Le fichier batch devrait retourner explicitement 0 lors des ex\'ecutions correctes.
847 \item Le chemin vers le fichier batch devrait \^etre sp\'ecifi\'e au format Unix :
848
849    ClientRunBeforeJob = ``c:/bacula/bin/systemstate.bat''  
850
851 plut\^ot qu'au format DOS/Windows :  
852
853 ClientRunBeforeJob =
854 ``c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}systemstate.bat''
855 INCORRECT 
856 \end{enumerate}
857
858 \item {\bf Client Run After Job = \lt{}command\gt{}}
859    \index[fd]{Client Run After Job  }
860    Cette directive est similaire \`a {\bf Run After Job} sauf qu'elle est ex\'ecut\'ee 
861    sur la machine cliente. Veuillez consulter les notes concernant les clients 
862    Windows dans le paragraphe {\bf Client Run Before Job} ci-dessus.
863
864 \item {\bf Rerun Failed Levels = \lt{}yes|no\gt{}}
865    \index[fd]{Rerun Failed Levels  }
866    Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), et si 
867    Bacula d\'etecte qu'un job ant\'erieur d'un niveau plus \'elev\'e (Full ou 
868    diff\'erentiel), alors le job est \'elev\'e au niveau le plus haut. Ceci est 
869    particuli\`erement utile pour sauvegarder les pc portables qui peuvent 
870    \^etre fr\'equemment inaccessibles. En effet, apr\`es l'\'echec d'une Full, vous 
871    souhaiterez probablement que la prochaine sauvegarde soit de niveau  Full 
872    plut\^ot qu'Incremental ou Diff\'erentiel.
873
874 \item {\bf Spool Data = \lt{}yes|no\gt{}}
875    \index[fd]{Spool Data  }
876    Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), le 
877    Storage Daemon aura pour consigne de stocker les donn\'ees dans un  
878    fichier spoule sur disque plut\^ot que de les \'ecrire directement sur bande.
879    Lorsque toutes les donn\'ees sont dans le spoule ou lorsque la taille 
880    maximale fix\'ee pour le fichier spoule est atteinte, les donn\'ees sont 
881    d\'echarg\'ees du spoule vers les bandes. Lorsque la valeur de cette directive 
882    est {\bf yes}, la directive Spool Attributes est aussi automatiquement 
883    mise \`a la valeur {\bf yes}. L'utilisation de cette fonctionnalit\'e 
884    pr\'evient les arr\^ets et red\'emarrage incessants lors des incr\'ementales.
885    Elle ne doit pas \^etre utilis\'ee si vous sauvegardez sur disque.
886
887
888 \item {\bf Spool Attributes = \lt{}yes|no\gt{}}
889    \index[fd]{Spool Attributes  }
890    La valeur par d\'efaut est {\bf no}, ce qui signifie que le Storage Daemon 
891    envoie les attributs de fichiers au Director au moment o\`u ils (les fichiers) 
892    sont ecrits sur la bande. Cependant, si vous souhaitez \'eviter le risque 
893    de ralentissement d\^u aux mises \`a jour du catalogue, vous pouvez r\'egler  
894    cette directive \`a {\bf yes}, dans ce cas, le Storage Daemon stockera les 
895    attributs de fichiers dans un fichier tampon du Working Directory pour ne les 
896    transmettre au Director qu'\`a la fin de l'\'ecriture sur bande des donn\'ees du job.
897
898 \item {\bf Where = \lt{}directory\gt{}}
899    \index[dir]{Where  }
900    Cette directive ne concerne que les jobs de type Restauration. Elle permet 
901    de sp\'ecifier un pr\'efixe au nom du r\'epertoire o\`u tous les fichiers sont 
902    restaur\'es. Ceci permet de restaurer les fichiers en un emplacement 
903    diff\'erent de celui o\`u ils ont \'et\'e sauvegard\'es. Si {\bf Where} n'est pas 
904    renseign\'e, ou si sa valeur est backslash ({\bf /}), les fichiers sont 
905    restaur\'es \`a leur emplacement d'origine. Par d\'efaut, nous avons donn\'e \`a 
906    {\bf Where} la valeur {\bf /tmp/bacula-restores} dans les fichiers de 
907    configuration fournis en exemple, ceci afin d'\'eviter l'\'ecrasement 
908    accidentel de vos fichiers.
909
910 \item {\bf Replace = \lt{}replace-option\gt{}}
911    \index[dir]{Replace  }
912    Cette directive ne concerne que les jobs de type Restauration. Elle pr\'ecise 
913    la conduite \`a adopter dans l'\'eventualit\'e o\`u Bacula serait conduit \`a restaurer 
914    un fichier ou un r\'epertoire qui existe d\'ej\`a. Les options suivantes sont 
915    disponibles :
916
917 \begin{description}
918
919 \item [always]
920    \index[dir]{always }
921    Lorsque le fichier \`a restaurer existe d\'ej\`a, il est supprim\'e et remplac\'e par la 
922    copie sauvegard\'ee.
923
924 \item [ifnewer]
925    \index[fd]{ifnewer }
926    Si le fichier sauvegard\'e (sur bande) est plus r\'ecent que le fichier existant, 
927    le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
928
929 \item [ifolder]
930    \index[fd]{ifolder }
931    Si le fichier sauvegard\'e (sur bande) est plus ancien que le fichier existant,
932       le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
933
934 \item [never]
935    \index[fd]{never }
936    Si le fichier sauvegard\'e existe d\'ej\`a, Bacula renonce \`a restaurer ce fichier.
937 \end{description}
938
939 \item {\bf Prefix Links=\lt{}yes|no\gt{}}
940    \index[fd]{Prefix Links }
941    Si la valeur de cette directive est {\bf Yes} et si un pr\'efixe de chemin 
942    {\bf Where} est sp\'ecifi\'e, alors ce dernier s'applique aussi aux liens 
943    absolus. La valeur par d\'efaut est {\bf No}. Lorsque cette directive est \`a 
944    {\bf Yes}, tous les liens absolus seront aussi modifi\'es pour 
945    pointer vers le nouveau r\'epertoire. En principe, c'est ce qui est souhait\'e : 
946    l'ensemble du r\'epertoire restaur\'e conserve sa coh\'erence interne. Cependant, 
947    si vous voulez replacer les fichiers ult\'erieurement \`a leurs emplacements 
948    d'origine, tous les liens absolus seront bris\'es.
949
950 \item {\bf Maximum Concurrent Jobs = \lt{}number\gt{}}
951    \index[dir]{Maximum Concurrent Jobs  }
952    O\`u \lt{}number\gt{} est le nombre maximum de jobs de la ressource Job courrante 
953    qui peuvent \^etre ex\'ecut\'es simultan\'ement. Notez que cette directive ne limite 
954    que les jobs avec le m\^eme nom que la ressource dans laquelle elle 
955    figure. Toute autre restriction du nombre maximum de jobs simultan\'es, que ce soit au 
956    niveau du Director, du Client ou de la ressource Storage, s'applique en plus de 
957    de la limite stipul\'ee ici. LA valeur par d\'efaut est 1, mais vous pouvez utiliser 
958    une valeur plus grande. Nous vous recommandons fortement de lire 
959    attentivement le paragraphe WARNING sous \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} 
960    dans la section concernant la ressource Director.
961
962 \item {\bf Reschedule On Error = \lt{}yes|no\gt{}}
963    \index[dir]{Reschedule On Error  }
964    Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera 
965    reprogramm\'e en accord avec les directives {\bf Reschedule Interval} et 
966    {\bf Reschedule Times}. Si vous supprimez le job, il ne sera pas reprogramm\'e.
967    La valeur par d\'efaut est {\bf no}.
968
969 Cette sp\'ecification peut se r\'ev\'eler utile pour les pc portables ainsi que pour toutes 
970 les machines qui ne sont pas connect\'ees au r\'eseau en permanence.
971
972 \item {\bf Reschedule Interval = \lt{}time-specification\gt{}}
973    \index[dir]{Reschedule Interval  }
974    Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera
975    reprogramm\'e apr\`es l'intervalle de temps stipul\'e par {\bf time-specification}. 
976    Consultez la section \ilink{ the time specification formats}{Time} du chapitre 
977    Configurer Bacula pour plus de d\'etails sur les sp\'ecifications de temps. Si 
978    aucun intervalle n'est sp\'ecifi\'e, le job ne sera pas reprogramm\'e en cas d'erreur.
979
980 \item {\bf Reschedule Times = \lt{}count\gt{}}
981    \index[dir]{Reschedule Times  }
982    Cette directive pr\'ecise le nombre maximal de tentatives d'ex\'ecution du job.
983    S'il est fix\'e \`a z\'ero (valeur par d\'efaut), le job sera reprogramm\'e 
984    ind\'efiniment.
985
986 \label{Priority}
987 \item {\bf Priority = \lt{}number\gt{}}
988    \index[dir]{Priority  }
989    Cette directive vous permet de contr\^oler l'ordre d'ex\'ecution des jobs en 
990    sp\'ecifiant un entier positif non nul. Plus grand est ce nombre, plus basse 
991    est la priorit\'e du job. En supposant que vous n'ex\'ecutiez pas de jobs 
992    simultan\'es, tous les jobs en file d'attente avec la priorit\'e 1 seront 
993    ex\'ecut\'es avant ceux avec la priorit\'e 2, et ainsi de suite, sans prise en 
994    compte de l'ordre original de planification.
995    
996    La priorit\'e affecte seulement les jobs en file d'attente, et non les jobs d\'eja 
997    en cours d'ex\'ecution. Si un ou plusieurs jobs de priorit\'e 2 sont d\'ej\`a en cours 
998    d'ex\'ecution, et si un nouveau job est programm\'e avec la priorit\'e 1, les jobs 
999    en cours d'ex\'ecution doivent se terminer pour que le job de priorit\'e 1 puisse 
1000    d\'emarrer.
1001
1002    La priorit\'e par d\'efaut est 10.
1003
1004 Si vous voulez ex\'ecutez plusieurs jobs simultan\'es, ce qui n'est pas recommand\'e, 
1005 vous devriez garder les points suivants \`a l'esprit :
1006
1007 \begin{itemize}
1008 \item Pour ex\'ecuter plusieurs jobs simultan\'es, vous devez ajuster la directive 
1009       {\bf Maximum Concurrent Jobs } en cinq ou six endroits diff\'erents : dans le 
1010       fichier bacula-dir.conf, les ressources {\bf Job}, {\bf Client}, {\bf Storage};
1011       dans le fichier bacula-fd, la ressource {\bf FileDaemon}; et dans le fichier 
1012       bacula-sd.conf, la ressource {\bf Storage}. Si vous omettez l'un d'entre eux, 
1013       les jobs seront ex\'ecut\'es un par un.
1014 \item Bacula n'ex\'ecute pas simultan\'ement les jobs de priorit\'es distinctes. 
1015 \item Si Bacula ex\'ecute un job de priorit\'e 2 et si un nouveau job de priorit\'e 
1016       1 est programm\'e, il attendra la fin du job de priorit\'e 1, m\^eme si les 
1017       param\`etres {\bf Maximum Concurrent Jobs} pourraient permettre l'ex\'ecution 
1018       simultan\'ee de deux jobs.
1019 \item Supposons que Bacula soit en train d'ex\'ecuter un job de priorit\'e 2 et qu'un 
1020       job de priorit\'e 1 soit programm\'e et mis en queue en attente de la fin du 
1021       job de priorit\'e 2. Si vous d\'emarrez alors un second job de priorit\'e 2, le job 
1022       en attente de priorit\'e 1 emp\`echera le nouveau job de priorit\'e 2 de s'ex\'ecuter 
1023       en parall\`ele au premier. Ainsi : tant qu'il reste un job de priorit\'e sup\'erieure 
1024       \`a ex\'ecuter, aucun nouveau job de priorit\'e inf\'erieure ne pourra d\'emarrer, m\^eme si 
1025       les param\`etres {\bf Maximum Concurrent Jobs} devraient le permettre. Ceci permet 
1026       d'assurer que les jobs de priorit\'e sup\'erieure seront ex\'ecut\'es d\`es que possible.
1027 \end{itemize}
1028
1029 Si vous avez plusieurs jobs de priorit\'es diff\'erentes, il est pr\'ef\'erable de ne pas les 
1030 d\'emarrer exactement \`a la m\^eme heure, car Bacula doit les examiner un \`a la fois. Si, 
1031 par hazard, Bacula commence par traiter un job de priorit\'e inf\'erieure, il sera 
1032 ex\'ecut\'e avant votre job de priorit\'e \'elev\'e. Pour \'eviter cette situation, 
1033 d\'emarrez l'un quelconque des jobs de priorit\'e \'elev\'ee quelques secondes avant 
1034 ceux de basse priorit\'e. Ainsi, vous serez assur\'e que Bacula examine les jobs 
1035 dans l'ordre voulu et que votre sch\'ema de priorit\'es sera respect\'e.
1036
1037 \label{WritePartAfterJob}
1038
1039 \item {\bf Write Part After Job = \lt{}yes|no\gt{}}
1040    \index[sd]{Write Part After Job  }
1041    Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), un nouveau 
1042    "fichier partition" (ndt : part file) sera cr\'e\'e apr\`es la fin du job. 
1043
1044 Cette directive devrait \^etre activ\'ee lors de l'\'ecriture sur des p\'eriph\'erique 
1045 qui requi\`erent un montage (par exemple, les DVDs), afin de vous assurer que 
1046 le fichier partition courant, celui qui contient les donn\'ees de ce job, est 
1047 envoy\'e vers le p\'eriph\'erique, et qu'aucune donn\'ee n'est laiss\'ee dans le fichier 
1048 temporaire sur le disque dur. Quoi qu'il en soit, avec certains supports tels 
1049 que les DVD+R et DVD-R, beaucoup d'espace (environ 10 Mb) est perdu \`a chaque fois 
1050 qu'un fichier partition est \'ecrit. Aussi, si vous ex\'ecutez plusieurs jobs \`a la 
1051 suite, vous devriez r\'egler cette directive \`a {\bf no} pour tous ces jobs sauf 
1052 le dernier, pour \'eviter un gaspillage important d'espace, tout en ayant la certitude 
1053 que les donn\'ees sont bien \'ecrites sur le m\'edium lorsque tous les jobs sont 
1054 achev\'es.
1055
1056 Cette directive est ignor\'ee avec les bandes et les p\'eriph\'eriques FIFO.
1057 \end{description}
1058
1059 Voici un exemple de d\'efinition de ressource Job valide.
1060
1061 \footnotesize
1062 \begin{verbatim}
1063 Job {
1064   Name = "Minou"
1065   Type = Backup
1066   Level = Incremental                 # default
1067   Client = Minou
1068   FileSet="Minou Full Set"
1069   Storage = DLTDrive
1070   Pool = Default
1071   Schedule = "MinouWeeklyCycle"
1072   Messages = Standard
1073 }
1074 \end{verbatim}
1075 \normalsize
1076
1077 \section*{La ressource JobDefs}
1078 \label{JobDefsResource}
1079 \index[general]{JobDefs Resource }
1080 \index[general]{Resource!JobDefs }
1081 \addcontentsline{toc}{section}{JobDefs Resource}
1082
1083 La ressource Jobdefs admet toutes les directives qui peuvent apparaître dans 
1084 une ressource Job. Une ressource Jobdefs ne cr\'e\'e en aucun cas un Job, son r\^ole 
1085 est de pouvoir \^etre d\'esign\'ee dans une ressource Job comme un ensemble de 
1086 param\`etres par d\'efaut. Ceci permet de d\'efinir plusieurs jobs similaires avec 
1087 concision, en ne mentionnant, pour chaque job, que les diff\'erences avec les 
1088 valeurs par d\'efaut sp\'ecifi\'ees dans la ressource Jobdefs.
1089
1090 \section*{La ressource Schedule}
1091 \label{ScheduleResource}
1092 \index[general]{Resource!Schedule }
1093 \index[general]{Schedule Resource }
1094 \addcontentsline{toc}{section}{Schedule Resource}
1095
1096 La ressource Schedule offre un moyen pour planifier automatiquement un Job, 
1097 mais aussi la possibilit\'e de surcharger les param\`etres par d\'efaut de Level, 
1098 Pool, Storage, et Messages ressources. Si une ressource Schedule n'est pas 
1099 sp\'ecifi\'ee dans un job, ce job ne peut \^etre ex\'ecut\'e que manuellement. 
1100 En g\'en\'eral, vous sp\'ecifierez une action et le moment de son lancement.
1101
1102 \begin{description}
1103
1104 \item [Schedule]
1105    \index[sd]{Schedule }
1106    D\'ebut des directives Schedule. La ressource {\bf Schedule} n'est pas requise, 
1107    mais il vous en faudra au moins une si vous souhaitez que vos jobs soient 
1108    ex\'ecut\'es automatiquement.
1109    
1110 \item [Name = \lt{}name\gt{}]
1111    \index[sd]{Name  }
1112    Le nom du Schedule d\'efini. Cette directive est requise.
1113
1114 \item [Run = \lt{}Job-overrides\gt{} \lt{}Date-time-specification\gt{}  ]
1115    \index[sd]{Run  }
1116    La directive Run d\'efinit quand un job doit \^etre ex\'ecut\'e, et les \'eventuelles 
1117    surcharges \`a appliquer. Il est possible de sp\'ecifier plusieurs directives 
1118    {\bf run} au sein d'une ressource {\bf Schedule}, elles seront toutes 
1119    appliqu\'ees. Si vous avez deux directives {\bf Run} qui d\'emarrent au m\^eme 
1120    moment, deux jobs seront lanc\'es simultan\'ement (en fait, avec une seconde d'\'ecart).
1121    
1122
1123 La directive {\bf Job-overrides} permet d'outrepasser les sp\'ecifications de 
1124 Level, Storage, Messages et Pool \'ecrites dans la ressource Job. De plus, 
1125 les sp\'ecifications FullPool, DifferentialPool et IncrementalPool permettent 
1126 de passer outre les sp\'ecification de Pool, en accord avec le niveau (level) 
1127 effectif d'ex\'ecution du job.
1128
1129 L'utilisation de surcharges permet de peaufiner le param\'etrage d'un job 
1130 particulier. Par exemple, vous pourriez surcharger une sp\'ecification 
1131 Messages qui enverrait vos logs de backups vers un fichier, de fa\\ 3on \`a ce qu'ils 
1132 vous soient envoy\'es par mails pour les Fulls hebdomadaires ou mensuelles.
1133
1134 Les directives {\bf Job-overrides} sont sp\'ecifi\'ees en tant que {\bf mot-clef=valeur} 
1135 o\`u le mot-clef est l'un des suivants : Level, Storage,  Messages, Pool, FullPool, 
1136 DifferentialPool ou IncrementalPool, et la {\bf valeur} est d\'efinie selon le format 
1137 adapt\'e \`a la directive. Vous pouvez sp\'ecifier plusieurs surcharges {\bf Job-overrides} 
1138 en une seule directive {\bf Run} en les s\'eparant par des espaces ou des 
1139 trailing comas (traduction ?). Par exemple :
1140
1141 \begin{description}
1142
1143 \item [Level=Full]
1144    \index[sd]{Level }
1145    Tous les fichiers du FileSet qu'ils aient ou non chang\'e.
1146
1147 \item [Level=Incremental]
1148    \index[sd]{Level }
1149    Tous les fichiers qui ont chang\'e depuis la derni\`ere sauvegarde.
1150
1151 \item [Pool=Weekly]
1152    \index[sd]{Pool }
1153    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Weekly}.
1154
1155 \item [Storage=DLT\_Drive]
1156    \index[sd]{Storage }
1157    Sp\'ecifie l'utilisation du lecteur {\bf DLT\_Drive} pour p\'eriph\'erique de stockage.
1158
1159 \item [Messages=Verbose]
1160    \index[sd]{Messages }
1161    Sp\'ecifie l'utilisation de la ressource messages {\bf Verbose} pour le job.
1162
1163 \item [FullPool=Full]
1164    \index[sd]{FullPool }
1165    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Full} si le job est une sauvegarde Full, 
1166    ou s'il a \'et\'e \'elev\'e en Full bien qu'ayant \'et\'e lanc\'e en tant que diff\'erentiel ou 
1167    incr\'emental.
1168
1169 \item [DifferentialPool=Differential]
1170    \index[sd]{DifferentialPool }
1171     Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Differential} si le job est une 
1172     sauvegarde diff\'erentielle.
1173
1174 \item [IncrementalPool=Incremental]
1175    \index[sd]{IncrementalPool }
1176    Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Incremental} si le job est une 
1177    sauvegarde incr\'ementale.
1178
1179 \item [SpoolData=yes|no]
1180    \index[sd]{SpoolData }
1181    Indique \`a Bacula d'ordonner au Storage Daemon de placer les donn\'ees sur un 
1182    spool disque avant de les envoyer vers les cartouches.
1183
1184 \item [WritePartAfterJob=yes|no]
1185    \index[sd]{WritePartAfterJob }
1186    Indique \`a Bacula d'ordonner au Storage Daemon d'\'ecrire le fichier partition 
1187    courant vers le p\'eriph\'erique lorsque le job s'ach\`eve (voir 
1188 \ilink{la directive Write Part After Job dans la ressource Job}{WritePartAfterJob}).  
1189 \end{description}
1190
1191 {\bf Date-time-specification} D\'etermine la planification d'ex\'ecution du job.
1192 La sp\'ecification est une r\'ep\'etition, et, par d\'efaut, Bacula est param\'etr\'e 
1193 pour ex\'ecuter un job au d\'ebut de chaque heure de chaque jour de chaque semaine 
1194 de chaque mois de chaque ann\'ee. Ce n'est probablement pas ce que vous souhaitez, 
1195 aussi vous devez pr\'eciser ou limiter les moments o\`u vous souhaitez voir vos jobs 
1196 ex\'ecut\'es. Toute sp\'ecification est suppos\'ee cyclique et servira \`a limiter le 
1197 cycle par d\'efaut. Ceci se fait en sp\'ecifiant des masques ou des horaires,  
1198 jours de la semaine, jours du mois, semaines du mois, semaines de l'ann\'ee et 
1199 mois de l'ann\'ee o\`u vous voulez ex\'ecuter le job. En combinant ces possibilit\'es, 
1200 vous pouvez d\'efinir une planification qui se r\'ep\`ete \`a presque n'importe quelle 
1201 fr\'equence.
1202
1203 Concr\`etement, vous devez d\'efinir les {\bf mois}, {\bf jour}, {\bf heure} et 
1204 {\bf minute} o\`u le job est \`a ex\'ecuter. Parmis ces quatre objets, le {\bf jour} 
1205 est particulier en ce qu'il peut sp\'ecifier un jour du mois (1,2,...31) ou de la 
1206 semaine (Monday, Tuesday,...Sunday). Enfin, vous pouvez aussi sp\'ecifier un 
1207 jour de la semaine pour restreindre la planification \`a la premi\`ere, deuxi\`eme, 
1208 troisi\`eme, quatri\`eme ou cinqui\`eme semaine du mois.
1209
1210 Par exemple, si vous sp\'ecifiez seulement un jour de la semaine, disons {\bf Mardi}, 
1211 le job sera ex\'ecut\'e toutes les heures de chaque mardi de chaque mois. La raison 
1212 en est que les param\`etres {\bf Mois} et {\bf Heure} sont rest\'es \`a leurs valeurs 
1213 par d\'efaut : chaque mois et chaque heure.
1214
1215 Notez que, par d\'efaut, sans autre sp\'ecification, votre job s'ex\'ecutera au 
1216 d\'ebut de chaque heure. Si vous souhaitez que votre job s'ex\'ecute plus souvent 
1217 qu'une fois par heure, il vous faudra d\'efinir plusieurs sp\'ecifications {\bf run} 
1218 avec pour chacune une minut diff\'erente.
1219
1220 Les dates et horaires d'ex\'ecutions des jobs peuvent \^etre sp\'ecifi\'es comme suit, 
1221 en pseudo-BNF :
1222
1223 \footnotesize
1224 \begin{verbatim}
1225 <void-keyword>    = on
1226 <at-keyword>      = at
1227 <week-keyword>    = 1st | 2nd | 3rd | 4th | 5th | first |
1228                     second | third | forth | fifth
1229 <wday-keyword>    = sun | mon | tue | wed | thu | fri | sat |
1230                     sunday | monday | tuesday | wednesday |
1231                     thursday | friday
1232 <week-of-year-keyword> = w00 | w01 | ... w52 | w53
1233 <month-keyword>   = jan | feb | mar | apr | may | jun | jul |
1234                     aug | sep | oct | nov | dec | january |
1235                     february | ... | december
1236 <daily-keyword>   = daily
1237 <weekly-keyword>  = weekly
1238 <monthly-keyword> = monthly
1239 <hourly-keyword>  = hourly
1240 <digit>           = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
1241 <number>          = <digit> | <digit><number>
1242 <12hour>          = 0 | 1 | 2 | ... 12
1243 <hour>            = 0 | 1 | 2 | ... 23
1244 <minute>          = 0 | 1 | 2 | ... 59
1245 <day>             = 1 | 2 | ... 31
1246 <time>            = <hour>:<minute> |
1247                     <12hour>:<minute>am |
1248                     <12hour>:<minute>pm
1249 <time-spec>       = <at-keyword> <time> |
1250                     <hourly-keyword>
1251 <date-keyword>    = <void-keyword>  <weekly-keyword>
1252 <day-range>       = <day>-<day>
1253 <month-range>     = <month-keyword>-<month-keyword>
1254 <wday-range>      = <wday-keyword>-<wday-keyword>
1255 <range>           = <day-range> | <month-range> |
1256                           <wday-range>
1257 <date>            = <date-keyword> | <day> | <range>
1258 <date-spec>       = <date> | <date-spec>
1259 <day-spec>        = <day> | <wday-keyword> |
1260                     <day-range> | <wday-range> |
1261                     <daily-keyword>
1262 <day-spec>        = <day> | <wday-keyword> |
1263                     <week-keyword> <wday-keyword>
1264 <month-spec>      = <month-keyword> | <month-range> |
1265                     <monthly-keyword>
1266 <date-time-spec>  = <month-spec> <day-spec> <time-spec>
1267 \end{verbatim}
1268 \normalsize
1269
1270 \end{description}
1271
1272 Notez que les sp\'ecifications de semaine et d'ann\'ee suivent les d\'efinitions ISO 
1273 standard de semaine et ann\'ee, o\`u la semaine 1 est la semaine qui contient le 
1274 premier jeudi de l'ann\'ee, ou alternativement, la semaine qui contient le 
1275 quatri\`eme jour de janvier. Les semaines sont num\'erot\'ees w01 \`a w53. w00 est 
1276 pour Bacula la semaine qui pr\'ec\`ede la premi\`ere semaine ISO (c'est \`a dire celle 
1277 qui contient les quelques premiers jours de l'ann\'ee si aucun n'est un jeudi). 
1278 w00 n'est pas d\'efinie dans les sp\'ecifications ISO. Une semaine commence le Lundi 
1279 et se termine le Dimanche.
1280
1281 Voici un exemple de ressource Schedule nomm\'ee {\bf WeeklyCycle} qui ex\'ecute 
1282 un job de niveau Full chaque Dimanche \`a 1h05 et un job de niveau incr\'emental 
1283 du Lundi au Samedi \`a 1h05 :
1284
1285 \footnotesize
1286 \begin{verbatim}
1287 Schedule {
1288   Name = "WeeklyCycle"
1289   Run = Level=Full sun at 1:05
1290   Run = Level=Incremental mon-sat at 1:05
1291 }
1292 \end{verbatim}
1293 \normalsize
1294
1295 Voici un exemple de cycle mensuel :
1296
1297 \footnotesize
1298 \begin{verbatim}
1299 Schedule {
1300   Name = "MonthlyCycle"
1301   Run = Level=Full Pool=Monthly 1st sun at 1:05
1302   Run = Level=Differential 2nd-5th sun at 1:05
1303   Run = Level=Incremental Pool=Daily mon-sat at 1:05
1304 }
1305 \end{verbatim}
1306 \normalsize
1307
1308 Le premier de chaque mois :
1309
1310 \footnotesize
1311 \begin{verbatim}
1312 Schedule {
1313   Name = "First"
1314   Run = Level=Full on 1 at 1:05
1315   Run = Level=Incremental on 2-31 at 1:05
1316 }
1317 \end{verbatim}
1318 \normalsize
1319
1320 Toutes les dix minutes :
1321
1322 \footnotesize
1323 \begin{verbatim}
1324 Schedule {
1325   Name = "TenMinutes"
1326   Run = Level=Full hourly at 0:05
1327   Run = Level=Full hourly at 0:15
1328   Run = Level=Full hourly at 0:25
1329   Run = Level=Full hourly at 0:35
1330   Run = Level=Full hourly at 0:45
1331   Run = Level=Full hourly at 0:55
1332 }
1333 \end{verbatim}
1334 \normalsize
1335
1336 \subsection*{Notes techniques sur les Schedules}
1337 \index[general]{Schedules!Technical Notes on }
1338 \index[general]{Technical Notes on Schedules }
1339 \addcontentsline{toc}{subsection}{Notes techniques sur les Schedules}
1340 Au niveau interne, Bacula consid\`ere un schedule en tant que bit masque. 
1341 Il y a six masques et un champ minute pour chaque schedule. Les masques sont 
1342 heure, jour du mois (mday), jour de la semaine (wday), semaine du mois (wom), 
1343 et semaine de l'ann\'ee (woy). Le schedule est initialis\'e de fa\\ 3on \`a avoir les 
1344 bits de chacun de ces masques positionn\'es, ce qui signifie qu'au d\'ebut de chaque 
1345 heure, le job sera ex\'ecut\'e. Quand vous sp\'ecifiez un mois pour la premi\`ere 
1346 fois, le masque est effac\'e et le bit correspondant au mois s\'electionn\'e est 
1347 ajout\'e au masque. Si vous sp\'ecifiez un second mois, le bit correspondant 
1348 est aussi ajout\'e. Ainsi, lorsque Bacula examine le masque pour voir si 
1349 les bits plac\'es correspondent \`a la date courante, votre job ne sera ex\'ecut\'e 
1350 que pendant les deux mois que vous avez sp\'ecifi\'es. De m\^eme, si vous sp\'ecifiez 
1351 un horaire, le masque Heure est effac\'e et le bit correspondant \`a l'heure que 
1352 vous avez sp\'ecifi\'ee est plac\'e, les minutes sont quant \`a elles stock\'ees dans le 
1353 champ Minutes.
1354
1355 Pour chacun de vos schedules, vous pouvez visualiser le masque associ\'e 
1356 grâce \`a la commande  {\bf show schedules} du programme Console. 
1357 Notez que le bit masque est "zero based", et que Dimanche est le premier 
1358 jour de la semaine (bit 0)
1359
1360 \section*{The FileSet Resource}
1361 \label{FileSetResource}
1362 \index[general]{Resource!FileSet }
1363 \index[general]{FileSet Resource }
1364 \addcontentsline{toc}{section}{FileSet Resource}
1365
1366 The FileSet resource defines what files are to be included in a backup job. At
1367 least one {\bf FileSet} resource is required for each backup Job. It consists
1368 of a list of files or directories to be included, a list of files or
1369 directories to be excluded and the various backup options such as compression,
1370 encryption, and signatures that are to be applied to each file. 
1371
1372 Any change to the list of the included files will cause Bacula to
1373 automatically create a new FileSet (defined by the name and an MD5 checksum of
1374 the Include contents). Each time a new FileSet is created, Bacula will ensure
1375 that the first backup is always a Full save. 
1376
1377 \begin{description}
1378
1379 \item [FileSet]
1380    \index[dir]{FileSet }
1381    Start of the FileSet resource. At least one {\bf FileSet}  resource must be
1382 defined. 
1383
1384 \item [Name = \lt{}name\gt{}]
1385    \index[dir]{Name  }
1386    The name of the FileSet resource.  This directive is required. 
1387
1388 \item [Ignore FileSet Changes = \lt{}yes|no\gt{}
1389    ]
1390    \index[dir]{Ignore FileSet Changes  }
1391 If this directive is set to {\bf yes}, any changes you make to the  FileSet
1392 Include or Exclude lists will be ignored and not cause Bacula  to immediately
1393 perform a Full backup. The default is {\bf no}, in which  case, if you change
1394 the Include or Exclude, Bacula will force a Full  backup to ensure that
1395 everything is properly backed up. It is not recommended  to set this directive
1396 to yes. This directive is available in Bacula  version 1.35.4 or later. 
1397
1398 \item [{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1399    \lt{}file-list\gt{} \} 
1400    }]
1401 \index[dir]{Include \  \{ [ Options \{\lt{}file-options\gt{}\} ...]
1402 \lt{}file-list\gt{} \}  }
1403
1404 \item [Options \ \{ \lt{}file-options\gt{} \} 
1405    ]
1406    \index[dir]{Options \  \{ \lt{}file-options\gt{} \}  }
1407
1408 \item [Exclude \ \{ \lt{}file-list\gt{} \}]
1409    \index[dir]{Exclude \  \{ \lt{}file-list\gt{} \} }
1410
1411 The Include resource must contain a list of directories and/or files to be
1412 processed in the backup job. Normally, all files found in all subdirectories
1413 of any directory in the Include File list will be backed up. The Include
1414 resource may also oner more Options resources that specify options such as
1415 compression to be applied to all or any subset of the files found for backup. 
1416
1417 There can be any number of {\bf Include} resources within the FileSet, each
1418 having its own list of directories or files to be backed up and the backup
1419 options defined by one or more Options resources. The {\bf file-list} consists
1420 of one file or directory name per line. Directory names should be specified
1421 without a trailing slash. 
1422
1423 You should always specify a full path for every directory and file that you
1424 list in the FileSet. In addition, on Windows machines, you should {\bf always}
1425 prefix the directory or filename with the drive specification (e.g. {\bf
1426 c:/xxx}) using Unix directory name separators (forward slash). 
1427
1428 Bacula's default for processing directories is to recursively descend in the
1429 directory saving all files and subdirectories. Bacula will not by default
1430 cross filesystems (or mount points in Unix parlance). This means that if you
1431 specify the root partition (e.g. {\bf /}), Bacula will save only the root
1432 partition and not any of the other mounted filesystems. Similarly on Windows
1433 systems, you must explicitly specify each of the drives you want saved (e.g.
1434 {\bf c:/} and {\bf d:/} ...). In addition, at least for Windows systems, you
1435 will most likely want to enclose each specification within double quotes
1436 particularly if the directory (or file) name contains spaces. The {\bf df}
1437 command on Unix systems will show you which mount points you must specify to
1438 save everything. See below for an example. 
1439
1440 Take special care not to include a directory twice or Bacula will backup the
1441 same files two times wasting a lot of space on your archive device. Including
1442 a directory twice is very easy to do. For example: 
1443
1444 \footnotesize
1445 \begin{verbatim}
1446   Include {
1447     File = /
1448     File = /usr
1449     Options { compression=GZIP }
1450   }
1451 \end{verbatim}
1452 \normalsize
1453
1454 on a Unix system where /usr is a subdirectory (rather than a mounted
1455 filesystem) will cause /usr to be backed up twice. In this case, on Bacula
1456 versions prior to 1.32f-5-09Mar04 due to a bug, you will not be able to
1457 restore hard linked files that were backed up twice. 
1458
1459 If you have used Bacula prior to version 1.34.3, you will note three things in
1460 the new FileSet syntax: 
1461
1462 \begin{enumerate}
1463 \item There is no equal sign (=) after the include and before  the opening
1464    brace (\{). 
1465 \item Each directory (or filename) to be backed up is preceded by a {\bf File
1466    =}.  Previously they were simply listed on separate lines. 
1467 \item The options that previously appeared on the Include line now  must be
1468    specified within their own Options resource. 
1469    \end{enumerate}
1470
1471 The Options resource is optional, but when specified, it will contain a list
1472 of {\bf keyword=value} options to be applied to the file-list. Multiple
1473 Options resources may be specified one after another. As the files are found
1474 in the specified directories, the Options will applied to the filenames to
1475 determine if and how the file should be backed up. The Options resources are
1476 applied in the order they are specified in the FileSet until the first one
1477 that matches. An Options resource that does not contain a {\bf wild} directive
1478 (wild-card specification, see below) is assumed to match any filename. This is
1479 important to understand, because once Bacula determine that the Options
1480 matches the file under consideration, that file will be saved without looking
1481 at any other Options resources that may be present. This means that any wild
1482 cards must appear before an Option resource without wild cards. 
1483
1484 If for some reason, Bacula applies all the Options resources to a file under
1485 consideration for backup, but there are no matches (generally because of wild
1486 cards that don't match), Bacula as a default will then backup the file. This
1487 is quite logical if you consider the case of no Options, where you want
1488 everything to be backed up. However, one additional point is that in the case
1489 that no match was found, Bacula will use the options found in the last Options
1490 resource. As a consequence, if you want a particular set of ``default''
1491 options, you should put them in an Options resource after any other Options. 
1492
1493 The directives within an Options resource may be one of the following: 
1494
1495 \begin{description}
1496
1497 \item [compression=GZIP]
1498    \index[fd]{compression }
1499    All files saved will be software  compressed using the GNU ZIP compression
1500 format. The  compression is done on a file by file basis by the File daemon. 
1501 If there is a problem reading the tape in a  single record of a file, it will
1502 at most affect that file and none  of the other files on the tape. Normally
1503 this option is {\bf not} needed  if you have a modern tape drive as the drive
1504 will do its own  compression. In fact, if you specify software compression at
1505 the  same time you have hardware compression turned on, your files  may
1506 actually take more space on the volume.  
1507
1508 Software compression is very important if you are writing  your Volumes to a
1509 file, and it can also be helpful if you have a  fast computer but a slow
1510 network.  
1511
1512 Specifying {\bf GZIP} uses the default compression level six  (i.e. {\bf GZIP}
1513 is identical to {\bf GZIP6}). If you  want a different compression level (1
1514 through 9), you can specify  it by appending the level number with no
1515 intervening spaces  to {\bf GZIP}. Thus {\bf compression=GZIP1} would give
1516 minimum  compression but the fastest algorithm, and {\bf compression=GZIP9} 
1517 would give the highest level of compression, but requires more  computation.
1518 According to the GZIP documentation, compression levels  greater than 6
1519 generally give very little extra compression and are  rather CPU intensive. 
1520
1521 \item [signature=SHA1]
1522    \index[fd]{signature }
1523    An SHA1 signature will be computed for all  The SHA1 algorithm is purported to
1524 be some  what slower than the MD5 algorithm, but at the same time is 
1525 significantly better from a cryptographic point of view (i.e.  much fewer
1526 collisions, much lower probability of being hacked.)  It adds four more bytes
1527 than the MD5 signature.  We strongly recommend that either this option  or MD5
1528 be specified as a default for all files. Note, only  one of the two options
1529 MD5 or SHA1 can be computed for any  file. 
1530
1531 \item [signature=MD5]
1532    \index[fd]{signature }
1533    An MD5 signature will be computed for all  files saved. Adding this option
1534 generates about 5\% extra overhead  for each file saved. In addition to the
1535 additional CPU time,  the MD5 signature adds 16 more bytes per file to your
1536 catalog.  We strongly recommend that this option or the SHA1 option  be
1537 specified as a default for all files. 
1538
1539 \item [verify=\lt{}options\gt{}]
1540    \index[fd]{verify }
1541    The options letters specified are used  when running a {\bf Verify
1542 Level=Catalog} as well as the  {\bf DiskToCatalog} level job. The options
1543 letters may be any  combination of the following:  
1544
1545 \begin{description}
1546
1547 \item [i]
1548    compare the inodes  
1549
1550 \item [p]
1551    compare the permission bits  
1552
1553 \item [n]
1554    compare the number of links  
1555
1556 \item [u]
1557    compare the user id  
1558
1559 \item [g]
1560    compare the group id  
1561
1562 \item [s]
1563    compare the size  
1564
1565 \item [a]
1566    compare the access time  
1567
1568 \item [m]
1569    compare the modification time (st\_mtime)  
1570
1571 \item [c]
1572    compare the change time (st\_ctime)  
1573
1574 \item [s]
1575    report file size decreases  
1576
1577 \item [5]
1578    compare the MD5 signature  
1579
1580 \item [1]
1581    compare the SHA1 signature  
1582    \end{description}
1583
1584 A useful set of general options on the {\bf Level=Catalog}  or {\bf
1585 Level=DiskToCatalog}  verify is {\bf pins5} i.e. compare permission bits,
1586 inodes, number  of links, size, and MD5 changes. 
1587
1588 \item {\bf onefs=yes|no}
1589    \index[fd]{onefs }
1590    If set to {\bf yes} (the default), {\bf Bacula}  will remain on a single file
1591 system. That is it will not backup  file systems that are mounted on a
1592 subdirectory.  If you wish to backup multiple filesystems, you can  explicitly
1593 list each file system you want saved.  Otherwise, if you set the onefs option
1594 to {\bf no}, Bacula will backup  all mounted file systems (i.e. traverse mount
1595 points) that  are found within the {\bf FileSet}. Thus if  you have NFS or
1596 Samba file systems mounted on a directory listed  in your FileSet, they will
1597 also be backed up. Normally, it is  preferable to set {\bf onefs=yes} and to
1598 explicitly name  each filesystem you want backed up. Explicitly naming  the
1599 filesystems you want backed up avoids the possibility  of getting into a
1600 infinite loop recursing filesystems.  See the example below for more details. 
1601 \label{portable}
1602
1603 \item {\bf portable=yes|no}
1604    \index[dir]{portable }
1605    If set to {\bf yes} (default is  {\bf no}), the Bacula File daemon will backup
1606 Win32 files  in a portable format, but not all Win32 file attributes  will be
1607 saved and restored. By default, this option is set to  {\bf no}, which means
1608 that on Win32 systems, the data will  be backed up using Windows API calls and
1609 on WinNT/2K/XP,  all the security and ownership attributes will be properly
1610 backed up  (and restored). However this format is not portable to other 
1611 systems -- e.g. Unix, Win95/98/Me. When backing up Unix systems, this  option
1612 is ignored, and unless you have a specific need to  have portable backups, we
1613 recommend accept the default  ({\bf no}) so that the maximum information
1614 concerning  your files is saved. 
1615
1616 \item {\bf recurse=yes|no}
1617    \index[fd]{recurse }
1618    If set to {\bf yes} (the default),  Bacula will recurse (or descend) into all
1619 subdirectories  found unless the directory is explicitly excluded  using an
1620 {\bf exclude} definition.  If you set {\bf recurse=no}, Bacula will save the 
1621 subdirectory entries, but not descend into the  subdirectories, and thus will
1622 not save the files or  directories contained in the subdirectories. Normally,
1623 you  will want the default ({\bf yes}). 
1624
1625 \item {\bf sparse=yes|no}
1626    \index[dir]{sparse }
1627    Enable special code that checks for sparse files  such as created by ndbm. The
1628 default is {\bf no}, so no checks  are made for sparse files. You may specify
1629 {\bf sparse=yes} even  on files that are not sparse file. No harm will be
1630 done, but there  will be a small additional overhead to check for buffers of 
1631 all zero, and a small additional amount of space on the output  archive will
1632 be used to save the seek address of each non-zero  record read.  
1633
1634 {\bf Restrictions:} Bacula reads files in 32K buffers.  If the whole buffer is
1635 zero, it will be treated as a sparse  block and not written to tape. However,
1636 if any part of the buffer  is non-zero, the whole buffer will be written to
1637 tape, possibly  including some disk sectors (generally 4098 bytes) that are
1638 all  zero. As a consequence, Bacula's detection of sparse blocks is in  32K
1639 increments rather than the system block size. If anyone  considers this to be
1640 a real problem, please send in a request  for change with the reason. The
1641 sparse code was first  implemented in version 1.27.  
1642
1643 If you are not familiar with sparse files, an example is  say a file where you
1644 wrote 512 bytes at address zero, then  512 bytes at address 1 million. The
1645 operating system will  allocate only two blocks, and the empty space or hole 
1646 will have nothing allocated. However, when you read the  sparse file and read
1647 the addresses where nothing was written,  the OS will return all zeros as if
1648 the space were allocated,  and if you backup such a file, a lot of space will
1649 be used  to write zeros to the volume. Worse yet, when you restore  the file,
1650 all the previously empty space will now be allocated  using much more disk
1651 space. By turning on the {\bf sparse}  option, Bacula will specifically look
1652 for empty space in  the file, and any empty space will not be written to the
1653 Volume,  nor will it be restored. The price to pay for this is that  Bacula
1654 must search each block it reads before writing it.  On a slow system, this may
1655 be important. If you suspect  you have sparse files, you should benchmark the
1656 difference  or set sparse for only those files that are really sparse. 
1657 \label{readfifo}
1658
1659 \item {\bf readfifo=yes|no}
1660    \index[fd]{readfifo }
1661    If enabled, tells the Client to  read the data on a backup and write the data
1662 on a restore  to any FIFO (pipe) that is explicitly mentioned  in the FileSet.
1663 In this case, you must have a program already  running that writes into the
1664 FIFO for a backup or reads  from the FIFO on a restore. This can be
1665 accomplished with  the {\bf RunBeforeJob} directive. If this is not the case, 
1666 Bacula will hang indefinitely on reading/writing the FIFO.  When this is not
1667 enabled (default), the Client simply  saves the directory entry for the FIFO. 
1668
1669 \item {\bf mtimeonly=yes|no}
1670    \index[dir]{mtimeonly }
1671    If enabled, tells the Client that  the selection of files during Incremental
1672 and Differential  backups should based only on the st\_mtime value in the
1673 stat()  packet. The default is {\bf no} which means that the  selection of
1674 files to be backed up will be based on both the  st\_mtime and the st\_ctime
1675 values. In general, it is not  recommended to use this option. 
1676
1677 \item {\bf keepatime=yes|no}
1678    \index[dir]{keepatime }
1679    The default is {\bf no}. When  enabled, Bacula will reset the st\_atime
1680 (access time) field  of files that it backs up to their value prior to the 
1681 backup. This option is not generally recommended as there  are very few
1682 programs that use st\_atime, and the backup  overhead is increased because of
1683 the additional system  call necessary to reset the times. (I'm not sure this 
1684 works on Win32). 
1685
1686 \item {\bf wild=\lt{}string\gt{}}
1687    \index[dir]{wild }
1688    Specifies a wild-card string  to be applied to the Files. Note, if {\bf
1689 Exclude} is  not enabled, the wild-card will select which files are to  be
1690 included. If {\bf Exclude=yes} is specified, the wild-card  will select which
1691 files are to be excluded. Multiple wild-card  directives may be specified, and
1692 they will be applied in turn  until the first one that matches. 
1693
1694 \item {\bf regex=\lt{}string\gt{}}
1695    \index[dir]{regex }
1696    Specifies a POSIX extended  regular expression to be applied to the Files.
1697 This  directive is available in version 1.35 and later. If  {\bf Exclude} is
1698 not enabled, the regex will select which  files are to be included. If {\bf
1699 Exclude=yes} is  specified, the regex will select which files are to be 
1700 excluded. Multiple regex directives may be specified  within an Options
1701 resource, and  they will be applied in turn until the first one that  matches.
1702
1703
1704 \item {\bf exclude=yes|no}
1705    \index[dir]{exclude }
1706    The default is {\bf no}. When  enabled, any files matched within the Options
1707 will be  excluded from the backup. 
1708 \label{ACLSupport}
1709
1710 \item {\bf aclsupport=yes|no}
1711    \index[dir]{aclsupport }
1712    The default is {\bf no}.  If this option is set to yes, and you have the POSIX
1713 {\bf libacl} installed on your system, Bacula will backup the  file and
1714 directory UNIX Access Control Lists (ACL) as defined  in IEEE Std 1003.1e
1715 draft 17 and ``POSIX.1e''  (abandoned). This feature is available on UNIX only
1716 and  depends on the ACL library. Bacula is automatically compiled  with ACL
1717 support if the {\bf libacl} library is installed on  your system (shown in
1718 config.out). While restoring the files  Bacula will try to restore the ACLs,
1719 if there is no ACL  support available on the system, Bacula restores the files
1720 and  directories but not the ACL information. Please note, if you  backup an
1721 EXT3 or XFS filesystem with ACLs, then you restore  them to a different
1722 filesystem (perhaps reiserfs) that does  not have ACLs, the ACLs will be
1723 ignored. 
1724 \end{description}
1725
1726 {\bf \lt{}file-list\gt{}} is a list of directory and/or filename names
1727 specified with a {\bf File =} directive. To include names containing spaces,
1728 enclose the name between double-quotes. 
1729
1730 There are a number of special cases when specifying directories and files in a
1731 {\bf file-list}. They are: 
1732
1733 \begin{itemize}
1734 \item Any name preceded by an at-sign (@) is assumed to be the  name of a
1735    file, which contains a list of files each preceded by a  ``File =''. The named
1736    file is read once when  the configuration file is parsed during the Director
1737 startup.  Note, that the file is read on the Director's machine  and not on
1738 the Client's. In fact, the @filename can  appear anywhere within the conf file
1739 where a token  would be read, and the contents of the named file will be 
1740 logically inserted in the place of the @filename. What  must be in the file
1741 depends on the location the @filename  is specified in the conf file.  
1742 \item Any name beginning with a vertical bar (|) is  assumed to be the name of
1743    a program. This program will be executed  on the Director's machine at the
1744    time the Job starts (not  when the Director reads the configuration file), and
1745 any output  from that program will be assumed to be a list of files or 
1746 directories, one per line, to be included. This allows you to  have a job that
1747 for example includes all the local partitions even  if you change the
1748 partitioning by adding a disk. In general, you will  need to prefix your
1749 command or commands with a {\bf sh -c} so that  they are invoked by a shell.
1750 This will not be the case if you are  invoking a script as in the second
1751 example below. Also, you must  take care to escape (precede with a
1752 \textbackslash{}) wild-cards, shell character, and to  ensure that any spaces
1753 in your command are escaped as well.  If you use a single quotes (') within a
1754 double quote  (``), Bacula will treat everything between the single  quotes as
1755 one field so it will not be necessary to escape  the spaces. In general,
1756 getting all the quotes and escapes  correct is a real pain as you can see by
1757 the next example.  As a consequence, it is often easier to put everything in a
1758 file and simply use the file name within Bacula. In that  case the {\bf sh
1759 -c} will not be necessary providing the  first line of the file is {\bf
1760 \#!/bin/sh}. 
1761
1762 As an  example: 
1763
1764 \footnotesize
1765 \begin{verbatim}
1766  
1767 Include {
1768    Options { signature = SHA1 }
1769    File = "|sh -c 'df -l | grep \"^/dev/hd[ab]\" | grep -v \".*/tmp\" \
1770       | awk \"{print \\$6}\"'"
1771 }
1772 \end{verbatim}
1773 \normalsize
1774
1775 will produce a list of all the local partitions on a RedHat Linux  system.
1776 Note, the above line was split, but should normally  be written on one line. 
1777 Quoting is a real problem because you must quote for Bacula  which consists of
1778 preceding every \textbackslash{} and every '' with a \textbackslash{}, and 
1779 you must also quote for the shell command. In the end, it is probably  easier
1780 just to execute a small file with: 
1781
1782 \footnotesize
1783 \begin{verbatim}
1784 Include {
1785   Options {
1786     signature=MD5
1787   }
1788   File = "|my_partitions"
1789 }
1790 \end{verbatim}
1791 \normalsize
1792
1793 where my\_partitions has: 
1794
1795 \footnotesize
1796 \begin{verbatim}
1797 #!/bin/sh
1798 df -l | grep "^/dev/hd[ab]" | grep -v ".*/tmp" \
1799       | awk "{print \$6}"
1800 \end{verbatim}
1801 \normalsize
1802
1803 If the vertical bar (|) in front of my\_partitions  is preceded by a backslash
1804 as in \textbackslash{}|,  the program will be executed on the Client's machine
1805 instead  of on the Director's machine -- (this is implemented but  not
1806 thoroughly tested, and is reported to work on Windows). Please  note that if
1807 the filename is given within quotes, you will need to  use two slashes. An
1808 example, provided by John Donagher, that backs  up all the local UFS
1809 partitions on a remote system is: 
1810
1811 \footnotesize
1812 \begin{verbatim}
1813 FileSet {
1814   Name = "All local partitions"
1815   Include {
1816     Options { signature=SHA1; onefs=yes; }
1817     File = "\\|bash -c \"df -klF ufs | tail +2 | awk '{print \$6}'\""
1818   }
1819 }
1820 \end{verbatim}
1821 \normalsize
1822
1823 Note, it requires two backslash characters after the double quote (one
1824 preserves  the next one). If you are a Linux user, just change the {\bf ufs}
1825 to  {\bf ext3} (or your preferred filesystem type) and you will be in 
1826 business.  
1827 \item Any file-list item preceded by a less-than sign (\lt{})  will be taken
1828    to be a file. This file will be read on the  Director's machine at the time
1829    the Job starts, and the  data will be assumed to be a list of directories or
1830 files,  one per line, to be included. The names should not be  quoted even if
1831 they contain spaces. This feature allows you to  modify the external file and
1832 change what will be saved  without stopping and restarting Bacula as would be 
1833 necessary if using the @ modifier noted above. 
1834
1835 If you  precede the less-than sign (\lt{}) with a backslash as in 
1836 \textbackslash{}\lt{}, the file-list will be read on the Client machine 
1837 instead of on the Director's machine. Please note that if  the filename is
1838 given within quotes, you will need to use  two slashes.  
1839 \item If you explicitly specify a block device such as {\bf /dev/hda1},  then
1840    Bacula (starting with version 1.28) will assume that this  is a raw partition
1841    to be backed up. In this case, you are strongly  urged to specify a {\bf
1842 sparse=yes} include option, otherwise, you  will save the whole partition
1843 rather than just the actual data that  the partition contains. For example: 
1844
1845 \footnotesize
1846 \begin{verbatim}
1847 Include {
1848   Options { signature=MD5; sparse=yes }
1849   File = /dev/hd6
1850 }
1851 \end{verbatim}
1852 \normalsize
1853
1854 will backup the data in device /dev/hd6.  
1855
1856 Ludovic Strappazon has pointed out that this feature can be  used to backup a
1857 full Microsoft Windows disk. Simply boot into  the system using a Linux Rescue
1858 disk, then load a statically  linked Bacula as described in the 
1859 \ilink{ Disaster Recovery Using Bacula}{_ChapterStart38} chapter of
1860 this manual. Then  save the whole disk partition. In the case of a disaster,
1861 you  can then restore the desired partition by again booting with  the rescue
1862 disk and doing a restore of the partition. 
1863 \item If you explicitly specify a FIFO device name (created with mkfifo),  and
1864    you add the option {\bf readfifo=yes} as an option, Bacula  will read the FIFO
1865    and back its data up to the Volume. For  example: 
1866
1867 \footnotesize
1868 \begin{verbatim}
1869 Include {
1870   Options {
1871     signature=SHA1
1872     readfifo=yes
1873   }
1874   File = /home/abc/fifo
1875 }
1876 \end{verbatim}
1877 \normalsize
1878
1879 if {\bf /home/abc/fifo} is a fifo device, Bacula will  open the fifo, read it,
1880 and store all data thus obtained  on the Volume. Please note, you must have a
1881 process on  the system that is writing into the fifo, or Bacula will  hang,
1882 and after one minute of waiting, Bacula will give up  and go on to the next
1883 file. The data read can be anything  since Bacula treats it as a stream.  
1884
1885 This feature can be an excellent way to do a  ``hot'' backup of a very large
1886 database. You can  use the {\bf RunBeforeJob} to create the fifo and to  start
1887 a program that dynamically reads your database and  writes it to the fifo.
1888 Bacula will then write it to the  Volume.  
1889
1890 During the restore operation, the inverse is true,  after Bacula creates the
1891 fifo if there was any data stored  with it (no need to explicitly list it or
1892 add any  options), that data will be written back to the fifo. As  a
1893 consequence, if any such FIFOs exist in the fileset to  be restored, you must
1894 ensure that there is a reader  program or Bacula will block, and after one
1895 minute, Bacula  will time out the write to the fifo and move on to the  next
1896 file. 
1897 \end{itemize}
1898
1899 \end{description}
1900
1901 The following is an example of a valid FileSet resource definition. Note, the
1902 first Include pulls in the contents of the file {\bf /etc/backup.list} when
1903 Bacula is started (i.e. the @). 
1904
1905 \footnotesize
1906 \begin{verbatim}
1907 FileSet {
1908   Name = "Full Set"
1909   Include {
1910     Options {
1911       Compression=GZIP
1912       signature=SHA1
1913       Sparse = yes
1914     }
1915     File = @/etc/backup.list
1916   }
1917   Include {
1918      Options {
1919         wild = *.o
1920         Exclude = yes
1921      }
1922      File = /root/myfile
1923      File = /usr/lib/another_file
1924   }
1925 }
1926 \end{verbatim}
1927 \normalsize
1928
1929 Note, in the above example, all the files contained in /etc/backup.list will
1930 be compressed with GZIP compression, an SHA1 signature will be computed on the
1931 file's contents (its data), and sparse file handling will apply. 
1932
1933 The two directories /root/myfile and /usr/lib/another\_file will also be saved
1934 without any options, but all files in those directories with the extension
1935 {\bf .o} will be excluded. 
1936
1937 Suppose you want to save everything except {\bf /tmp} on your system. Doing a
1938 {\bf df} command, you get the following output: 
1939
1940 \footnotesize
1941 \begin{verbatim}
1942 [kern@rufus k]$ df
1943 Filesystem      1k-blocks      Used Available Use% Mounted on
1944 /dev/hda5         5044156    439232   4348692  10% /
1945 /dev/hda1           62193      4935     54047   9% /boot
1946 /dev/hda9        20161172   5524660  13612372  29% /home
1947 /dev/hda2           62217      6843     52161  12% /rescue
1948 /dev/hda8         5044156     42548   4745376   1% /tmp
1949 /dev/hda6         5044156   2613132   2174792  55% /usr
1950 none               127708         0    127708   0% /dev/shm
1951 //minimatou/c$   14099200   9895424   4203776  71% /mnt/mmatou
1952 lmatou:/          1554264    215884   1258056  15% /mnt/matou
1953 lmatou:/home      2478140   1589952    760072  68% /mnt/matou/home
1954 lmatou:/usr       1981000   1199960    678628  64% /mnt/matou/usr
1955 lpmatou:/          995116    484112    459596  52% /mnt/pmatou
1956 lpmatou:/home    19222656   2787880  15458228  16% /mnt/pmatou/home
1957 lpmatou:/usr      2478140   2038764    311260  87% /mnt/pmatou/usr
1958 deuter:/          4806936     97684   4465064   3% /mnt/deuter
1959 deuter:/home      4806904    280100   4282620   7% /mnt/deuter/home
1960 deuter:/files    44133352  27652876  14238608  67% /mnt/deuter/files
1961 \end{verbatim}
1962 \normalsize
1963
1964 If you specify only {\bf /} in your Include list, Bacula will only save the
1965 Filesystem {\bf /dev/hda5}. To save all file systems except {\bf /tmp} with
1966 out including any of the Samba or NFS mounted systems, and explicitly
1967 excluding a /tmp, /proc, .journal, and .autofsck, which you will not want to
1968 be saved and restored, you can use the following: 
1969
1970 \footnotesize
1971 \begin{verbatim}
1972 FileSet {
1973   Name = Include_example
1974   Include {
1975     Options {
1976        wild = /proc
1977        wild = /tmp
1978        wild = \.journal
1979        wild = \.autofsck
1980        exclude = yes
1981     }
1982     File = /
1983     File = /boot
1984     File = /home
1985     File = /rescue
1986     File = /usr
1987   }
1988 }
1989 \end{verbatim}
1990 \normalsize
1991
1992 Since /tmp is on its own filesystem and it was not explicitly named in the
1993 Include list, it is not really needed in the exclude list. It is better to
1994 list it in the Exclude list for clarity, and in case the disks are changed so
1995 that it is no longer in its own partition. 
1996
1997 Please be aware that allowing Bacula to traverse or change file systems can be
1998 {\bf very} dangerous. For example, with the following: 
1999
2000 \footnotesize
2001 \begin{verbatim}
2002 FileSet {
2003   Name = "Bad example"
2004   Include {
2005     Options { onefs=no }
2006     File = /mnt/matou
2007   }
2008 }
2009 \end{verbatim}
2010 \normalsize
2011
2012 you will be backing up an NFS mounted partition ({\bf /mnt/matou}), and since
2013 {\bf onefs} is set to {\bf no}, Bacula will traverse file systems. Now if {\bf
2014 /mnt/matou} has the current machine's file systems mounted, as is often the
2015 case, you will get yourself into a recursive loop and the backup will never
2016 end. 
2017
2018 The following FileSet definition will backup a raw partition: 
2019
2020 \footnotesize
2021 \begin{verbatim}
2022 FileSet {
2023   Name = "RawPartition"
2024   Include {
2025     Options { sparse=yes }
2026     File = /dev/hda2
2027   }
2028 }
2029 \end{verbatim}
2030 \normalsize
2031
2032 While backing up and restoring a raw partition, you should ensure that no
2033 other process including the system is writing to that partition. As a
2034 precaution, you are strongly urged to ensure that the raw partition is not
2035 mounted or is mounted read-only. If necessary, this can be done using the {\bf
2036 RunBeforeJob} directive. 
2037 \label{win32}
2038
2039 \subsection*{Windows Considerations for FileSets}
2040 \index[general]{FileSets!Windows Considerations for }
2041 \index[general]{Windows Considerations for FileSets }
2042 \addcontentsline{toc}{subsection}{Windows Considerations for FileSets}
2043
2044 If you are entering Windows file names, the directory path may be preceded by
2045 the drive and a colon (as in c:). However, the path separators must be
2046 specified in Unix convention (i.e. forward slash (/)). If you wish to include
2047 a quote in a file name, precede the quote with a backslash
2048 (\textbackslash{}\textbackslash{}). For example you might use the following
2049 for a Windows machine to backup the ``My Documents'' directory: 
2050
2051 \footnotesize
2052 \begin{verbatim}
2053 FileSet {
2054   Name = "Windows Set"
2055   Include {
2056     Options {
2057        wild = *.obj
2058        wild = *.exe
2059        exclude = yes
2060      }
2061      File = "c:/My Documents"
2062   }
2063 }
2064 \end{verbatim}
2065 \normalsize
2066
2067 For exclude lists to work correctly on Windows, you must observe the following
2068 rules: 
2069
2070 \begin{itemize}
2071 \item Filenames are case sensitive, so you must use the correct case.  
2072 \item To exclude a directory, you must not have a trailing slash on the 
2073    directory name.  
2074 \item If you have spaces in your filename, you must enclose the entire name 
2075    in double-quote characters (``). Trying to use a backslash before  the space
2076    will not work.  
2077 \item If you are using the old Exclude syntax (noted below), you may  not
2078    specify a drive letter in the exclude. The new syntax noted  above should work
2079    fine including driver letters. 
2080 \end{itemize}
2081
2082 Thanks to Thiago Lima for summarizing the above items for us. If you are
2083 having difficulties getting includes or excludes to work, you might want to
2084 try using the {\bf estimate job=xxx listing} command documented in the 
2085 \ilink{Console chapter}{estimate} of this manual. 
2086
2087 On Win32 systems, if you move a directory or file or rename a file into the
2088 set of files being backed up, and a Full backup has already been made, Bacula
2089 will not know there are new files to be saved during an Incremental or
2090 Differential backup (blame Microsoft, not me). To avoid this problem, please
2091 {\bf copy} any new directory or files into the backup area. If you do not have
2092 enough disk to copy the directory or files, move them, but then initiate a
2093 Full backup. 
2094
2095 \subsubsection*{Excluding Files and Directories}
2096 \index[general]{Directories!Excluding Files and }
2097 \index[general]{Excluding Files and Directories }
2098 \addcontentsline{toc}{subsubsection}{Excluding Files and Directories}
2099
2100 You may also include full filenames or directory names in addition to using
2101 wild-cards and {\bf Exclude=yes} in the Options resource as specified above by
2102 simply including the files to be excluded in an Exclude resource within the
2103 FileSet. For example: 
2104
2105 \footnotesize
2106 \begin{verbatim}
2107 FileSet {
2108   Name = Exclusion_example
2109   Include {
2110     Options {
2111       Signature = SHA1
2112     }
2113     File = /
2114     File = /boot
2115     File = /home
2116     File = /rescue
2117     File = /usr
2118   }
2119   Exclude {
2120     File = /proc
2121     File = /tmp
2122     File = .journal
2123     File = .autofsck
2124   }
2125 }
2126 \end{verbatim}
2127 \normalsize
2128
2129 \subsection*{A Windows Example FileSet}
2130 \index[general]{FileSet!Windows Example }
2131 \index[general]{Windows Example FileSet }
2132 \addcontentsline{toc}{subsection}{Windows Example FileSet}
2133
2134 The following example was contributed by Phil Stracchino: 
2135
2136 \footnotesize
2137 \begin{verbatim}
2138 This is my Windows 2000 fileset:
2139 FileSet {
2140   Name = "Windows 2000 Full Set"
2141   Include {
2142     Options {
2143        signature=MD5
2144     }
2145     File = c:/
2146   }
2147   Exclude {
2148 # Most of these files are excluded not because we don't want
2149 #  them, but because Win2K won't allow them to be backed up
2150 #  except via proprietary Win32 API calls.
2151     File = "/Documents and Settings/*/Application Data/*/Profiles/
2152            */*/Cache/*"
2153     File = "/Documents and Settings/*/Local Settings/Application Data/
2154            Microsoft/Windows/[Uu][Ss][Rr][Cc][Ll][Aa][Ss][Ss].*"
2155     File = "/Documents and Settings/*/[Nn][Tt][Uu][Ss][Ee][Rr].*"
2156     File = "/Documents and Settings/*/Cookies/*"
2157     File = "/Documents and Settings/*/Local Settings/History/*"
2158     File = "/Documents and Settings/*/Local Settings/
2159            Temporary Internet Files/*"
2160     File = "/Documents and Settings/*/Local Settings/Temp/*"
2161     File = "/WINNT/CSC"
2162     File = "/WINNT/security/logs/scepol.log"
2163     File = "/WINNT/system32/config/*"
2164     File = "/WINNT/msdownld.tmp/*"
2165     File = "/WINNT/Internet Logs/*"
2166     File = "/WINNT/$Nt*Uninstall*"
2167     File = "/WINNT/Temp/*"
2168     File = "/temp/*"
2169     File = "/tmp/*"
2170     File = "/pagefile.sys"
2171   }
2172 }
2173 \end{verbatim}
2174 \normalsize
2175
2176 Note, the three line of the above Exclude were split to fit on the document
2177 page, they should be written on a single line in real use. 
2178
2179 \subsection*{The Old FileSet Resource}
2180 \index[general]{Resource!Old FileSet }
2181 \index[general]{Old FileSet Resource }
2182 \addcontentsline{toc}{subsection}{Old FileSet Resource}
2183
2184 The old pre-version 1.34.3 FileSet Resource has been deprecated but will still
2185 work. You are encouraged to convert to using the new form since the old code
2186 will be removed in version 1.37. 
2187
2188 \subsection*{Testing Your FileSet}
2189 \index[general]{FileSet!Testing Your }
2190 \index[general]{Testing Your FileSet }
2191 \addcontentsline{toc}{subsection}{Testing Your FileSet}
2192
2193 If you wish to get an idea of what your FileSet will really backup or if your
2194 exclusion rules will work correctly, you can test it by using the {\bf
2195 estimate} command in the Console program. See the 
2196 \ilink{estimate command}{estimate} in the Console chapter of this
2197 manual. 
2198
2199 \subsection*{Windows NTFS Naming Considerations}
2200 \index[general]{Windows NTFS Naming Considerations }
2201 \index[general]{Considerations!Windows NTFS Naming }
2202 \addcontentsline{toc}{subsection}{Windows NTFS Naming Considerations}
2203
2204 NTFS filenames containing Unicode characters (i.e. \gt{} 0xFF) cannot be
2205 explicitly named at the moment. You must include such names by naming a higher
2206 level directory or a drive letter that does not contain Unicode characters. 
2207
2208 \section*{The Client Resource}
2209 \label{ClientResource2}
2210 \index[general]{Resource!Client }
2211 \index[general]{Client Resource }
2212 \addcontentsline{toc}{section}{Client Resource}
2213
2214 The Client resource defines the attributes of the Clients that are served by
2215 this Director; that is the machines that are to be backed up. You will need
2216 one Client resource definition for each machine to be backed up. 
2217
2218 \begin{description}
2219
2220 \item [Client (or FileDaemon)]
2221    \index[dir]{Client (or FileDaemon) }
2222    Start of the Client directives.  
2223
2224 \item [Name = \lt{}name\gt{}]
2225    \index[dir]{Name  }
2226    The client name which will be used in the  Job resource directive or in the
2227 console run command.  This directive is required.  
2228
2229 \item [Address = \lt{}address\gt{}]
2230    \index[console]{Address  }
2231    Where the address is a host  name, a fully qualified domain name, or a network
2232 address in  dotted quad notation for a Bacula File server daemon.  This
2233 directive is required. 
2234
2235 \item [FD Port = \lt{}port-number\gt{}]
2236    \index[console]{FD Port  }
2237    Where the port is a port  number at which the Bacula File server daemon can be
2238 contacted.  The default is 9102. 
2239
2240 \item [Catalog = \lt{}Catalog-resource-name\gt{}]
2241    \index[console]{Catalog  }
2242    This specifies the  name of the catalog resource to be used for this Client. 
2243 This directive is required.  
2244
2245 \item [Password = \lt{}password\gt{}]
2246    \index[console]{Password  }
2247    This is the password to be  used when establishing a connection with the File
2248 services, so  the Client configuration file on the machine to be backed up
2249 must  have the same password defined for this Director. This directive is 
2250 required.  If you have either {\bf /dev/random}  {\bf bc} on your machine,
2251 Bacula will generate a random  password during the configuration process,
2252 otherwise it will  be left blank. 
2253 \label{FileRetention}
2254
2255 \item [File Retention = \lt{}time-period-specification\gt{}  ]
2256    \index[fd]{File Retention  }
2257    The File Retention directive defines the length of time that  Bacula will keep
2258 File records in the Catalog database.  When this time period expires, and if
2259 {\bf AutoPrune} is set to  {\bf yes} Bacula will prune (remove) File records
2260 that  are older than the specified File Retention period. Note, this  affects
2261 only records in the catalog database. It does not  effect your archive
2262 backups.  
2263
2264 File records  may actually be retained for a shorter period than you specify
2265 on  this directive if you specify either a shorter {\bf Job Retention}  or
2266 shorter {\bf Volume Retention} period. The shortest  retention period of the
2267 three takes precedence.  The time may be expressed in seconds, minutes, 
2268 hours, days, weeks, months, quarters, or years. See the 
2269 \ilink{ Configuration chapter}{Time} of this  manual for
2270 additional details of time specification. 
2271
2272 The  default is 60 days. 
2273 \label{JobRetention}
2274
2275 \item [Job Retention = \lt{}time-period-specification\gt{}  ]
2276    \index[fd]{Job Retention  }
2277    The Job Retention directive defines the length of time that  Bacula will keep
2278 Job records in the Catalog database.  When this time period expires, and if
2279 {\bf AutoPrune} is set to  {\bf yes} Bacula will prune (remove) Job records
2280 that are  older than the specified File Retention period. As with the other 
2281 retention periods, this affects only records in the catalog and  not data in
2282 your archive backup.  
2283
2284 If a Job  record is selected for pruning, all associated File and JobMedia 
2285 records will also be pruned regardless of the File Retention  period set. As a
2286 consequence, you normally will set the File  retention period to be less than
2287 the Job retention period. The  Job retention period can actually be less than
2288 the value you  specify here if you set the {\bf Volume Retention} directive in
2289 the  Pool resource to a smaller duration. This is because the Job  retention
2290 period and the Volume retention period are  independently applied, so the
2291 smaller of the two takes  precedence.  
2292
2293 The Job retention period is specified as seconds,  minutes, hours, days,
2294 weeks, months,  quarters, or years.  See the 
2295 \ilink{ Configuration chapter}{Time} of this manual for
2296 additional details of  time specification.  
2297
2298 The default is 180 days.  
2299 \label{AutoPrune}
2300
2301 \item [AutoPrune = \lt{}yes|no\gt{}]
2302    \index[fd]{AutoPrune  }
2303    If AutoPrune is set to  {\bf yes} (default), Bacula (version 1.20 or greater)
2304 will  automatically apply the File retention period and the Job  retention
2305 period for the Client at the end of the Job.  If you set {\bf AutoPrune = no},
2306 pruning will not be done,  and your Catalog will grow in size each time you
2307 run a Job.  Pruning affects only information in the catalog and not data 
2308 stored in the backup archives (on Volumes).  
2309
2310 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2311    \index[fd]{Maximum Concurrent Jobs  }
2312    where \lt{}number\gt{}  is the maximum number of Jobs with the current Client
2313 that  can run concurrently. Note, this directive limits only Jobs  for Clients
2314 with the same name as the resource in which it appears. Any  other
2315 restrictions on the maximum concurrent jobs such as in  the Director, Job, or
2316 Storage resources will also apply in addition to  any limit specified here.
2317 The  default is set to 1, but you may set it to a larger number.  We strongly
2318 recommend that you read the WARNING documented under  
2319 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2320 resource.  
2321
2322 \item [*Priority = \lt{}number\gt{}]
2323    \index[fd]{*Priority  }
2324    The number specifies the  priority of this client relative to other clients
2325 that the  Director is processing simultaneously. The priority can range  from
2326 1 to 1000. The clients are ordered such that the smaller  number priorities
2327 are performed first (not currently  implemented). 
2328 \end{description}
2329
2330 The following is an example of a valid Client resource definition: 
2331
2332 \footnotesize
2333 \begin{verbatim}
2334 Client {
2335   Name = Minimatou
2336   Address = minimatou
2337   Catalog = MySQL
2338   Password = very_good
2339 }
2340 \end{verbatim}
2341 \normalsize
2342
2343 \section*{The Storage Resource}
2344 \label{StorageResource2}
2345 \index[general]{Resource!Storage }
2346 \index[general]{Storage Resource }
2347 \addcontentsline{toc}{section}{Storage Resource}
2348
2349 The Storage resource defines which Storage daemons are available for use by
2350 the Director. 
2351
2352 \begin{description}
2353
2354 \item [Storage]
2355    \index[fd]{Storage }
2356    Start of the Storage resources. At least one  storage resource must be
2357 specified. 
2358
2359 \item [Name = \lt{}name\gt{}]
2360    \index[sd]{Name  }
2361    The name of the storage resource. This  name appears on the Storage directive
2362 specified in the Job directive and  is required. 
2363
2364 \item [Address = \lt{}address\gt{}]
2365    \index[sd]{Address  }
2366    Where the address is a host name,  a {\bf fully qualified domain name}, or an
2367 {\bf IP address}. Please note  that the \lt{}address\gt{} as specified here
2368 will be transmitted to  the File daemon who will then use it to contact the
2369 Storage daemon. Hence,  it is {\bf not}, a good idea to use {\bf localhost} as
2370 the  name but rather a fully qualified machine name or an IP address.  This
2371 directive is required. 
2372
2373 \item [SD Port = \lt{}port\gt{}]
2374    \index[sd]{SD Port  }
2375    Where port is the port to use to  contact the storage daemon for information
2376 and to start jobs.  This same port number must appear in the Storage resource
2377 of the  Storage daemon's configuration file. The default is 9103. 
2378
2379 \item [Password = \lt{}password\gt{}]
2380    \index[sd]{Password  }
2381    This is the password to be used  when establishing a connection with the
2382 Storage services. This  same password also must appear in the Director
2383 resource of the Storage  daemon's configuration file. This directive is
2384 required.  If you have either {\bf /dev/random}  {\bf bc} on your machine,
2385 Bacula will generate a random  password during the configuration process,
2386 otherwise it will  be left blank. 
2387
2388 \item [Device = \lt{}device-name\gt{}]
2389    \index[sd]{Device  }
2390    This directive specifies the name  of the device to be used to for the
2391 storage. This name is not the  physical device name, but the logical device
2392 name as defined on the  {\bf Name} directive contained in the {\bf Device}
2393 resource  definition of the {\bf Storage daemon} configuration file.  You can
2394 specify any name you would like (even the device name if  you prefer) up to a
2395 maximum of 127 characters in length.  The physical device name associated with
2396 this device is specified in  the {\bf Storage daemon} configuration file (as
2397 {\bf Archive  Device}). Please take care not to define two different  Storage
2398 resource directives in the Director that point to the  same Device in the
2399 Storage daemon. Doing so may cause the  Storage daemon to block (or hang)
2400 attempting to open the  same device that is already open. This directive is
2401 required. 
2402
2403 \item [Media Type = \lt{}MediaType\gt{}]
2404    \index[fd]{Media Type  }
2405    This directive specifies the  Media Type to be used to store the data. This is
2406 an arbitrary  string of characters up to 127 maximum that you define. It can 
2407 be anything you want. However, it is best to  make it descriptive of the
2408 storage media (e.g. File, DAT, ''HP  DLT8000``, 8mm, ...). In addition, it is
2409 essential that you  make the {\bf Media Type} specification unique for each
2410 storage  media type. If you have two DDS-4 drives that have incompatible 
2411 formats, or if you have a DDS-4 drive and a DDS-4 autochanger,  you almost
2412 certainly should specify different {\bf Media Types}.  During a restore,
2413 assuming a {\bf DDS-4} Media Type is associated  with the Job, Bacula can
2414 decide to use any Storage  daemon that support Media Type {\bf DDS-4} and on
2415 any drive  supports it. If you want to tie Bacula to using a single Storage 
2416 daemon or drive, you must specify a unique Media Type for that drive.  This is
2417 an important point that should be carefully understood. You  can find more on
2418 this subject in the 
2419 \ilink{Basic Volume Management}{_ChapterStart39} chapter of this
2420 manual.  
2421
2422 The {\bf MediaType} specified here, {\bf must}  correspond to the {\bf Media
2423 Type} specified in the {\bf Device}  resource of the {\bf Storage daemon}
2424 configuration file.  This directive is required, and it is used by the
2425 Director and the  Storage daemon to ensure that a Volume automatically
2426 selected from  the Pool corresponds to the physical device. If a Storage
2427 daemon  handles multiple devices (e.g. will write to various file Volumes  on
2428 different partitions), this directive allows you to specify exactly  which
2429 device.  
2430
2431 As mentioned above, the value specified in the Director's Storage  resource
2432 must agree with the value specified in the Device resource in  the {\bf
2433 Storage daemon's} configuration file. It is also an  additional check so  that
2434 you don't try to write data for a DLT onto an 8mm device. 
2435 \label{Autochanger1}
2436
2437 \item [Autochanger = \lt{}yes|no\gt{}  ]
2438    \index[fd]{Autochanger  }
2439    If you specify {\bf yes}  for this command (the default is {\bf no}), when you
2440 use the {\bf label}  command or the {\bf add} command to create a new Volume,
2441 {\bf Bacula}  will also request the Autochanger Slot number. This simplifies 
2442 creating database entries for Volumes in an autochanger. If you forget  to
2443 specify the Slot, the autochanger will not be used. However, you  may modify
2444 the Slot associated with a Volume at any time  by using the {\bf update
2445 volume} command in the console program.  When {\bf autochanger} is enabled,
2446 the algorithm used by  Bacula to search for available volumes will be modified
2447 to  consider only Volumes that are known to be in the autochanger's  magazine.
2448 If no {\bf in changer} volume is found, Bacula will  attempt recycling,
2449 pruning, ..., and if still no volume is found,  Bacula will search for any
2450 volume whether or not in the magazine.  By privileging in changer volumes,
2451 this procedure minimizes  operator intervention.  The default is {\bf no}.  
2452
2453 For the autochanger to be  used, you must also specify {\bf Autochanger = yes}
2454 in the  
2455 \ilink{Device Resource}{Autochanger}  in the Storage daemon's
2456 configuration file as well as other  important Storage daemon configuration
2457 information.  Please consult the 
2458 \ilink{ Using Autochangers}{_ChapterStart18} manual of this
2459 chapter for the details of  using autochangers. 
2460
2461 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2462    \index[fd]{Maximum Concurrent Jobs  }
2463    where \lt{}number\gt{}  is the maximum number of Jobs with the current Storage
2464 resource that  can run concurrently. Note, this directive limits only Jobs 
2465 for Jobs using this Storage daemon. Any  other restrictions on the maximum
2466 concurrent jobs such as in  the Director, Job, or Client resources will also
2467 apply in addition to  any limit specified here. The  default is set to 1, but
2468 you may set it to a larger number.  We strongly recommend that you read the
2469 WARNING documented under  
2470 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2471 resource.  
2472
2473 While it is possible to set the Director's, Job's, or Client's  maximum
2474 concurrent jobs greater than one, you should take great  care in setting the
2475 Storage daemon's greater than one. By keeping  this directive set to one, you
2476 will avoid having two jobs simultaneously  write to the same Volume. Although
2477 this is supported, it is not  currently recommended.  
2478 \end{description}
2479
2480 The following is an example of a valid Storage resource definition: 
2481
2482 \footnotesize
2483 \begin{verbatim}
2484 # Definition of tape storage device
2485 Storage {
2486   Name = DLTDrive
2487   Address = lpmatou
2488   Password = storage_password # password for Storage daemon
2489   Device = "HP DLT 80"    # same as Device in Storage daemon
2490   Media Type = DLT8000    # same as MediaType in Storage daemon
2491 }
2492 \end{verbatim}
2493 \normalsize
2494
2495 \section*{The Pool Resource}
2496 \label{PoolResource}
2497 \index[general]{Resource!Pool }
2498 \index[general]{Pool Resource }
2499 \addcontentsline{toc}{section}{Pool Resource}
2500
2501 The Pool resource defines the set of storage Volumes (tapes or files) to be
2502 used by Bacula to write the data. By configuring different Pools, you can
2503 determine which set of Volumes (media) receives the backup data. This permits,
2504 for example, to store all full backup data on one set of Volumes and all
2505 incremental backups on another set of Volumes. Alternatively, you could assign
2506 a different set of Volumes to each machine that you backup. This is most
2507 easily done by defining multiple Pools. 
2508
2509 Another important aspect of a Pool is that it contains the default attributes
2510 (Maximum Jobs, Retention Period, Recycle flag, ...) that will be given to a
2511 Volume when it is created. This avoids the need for you to answer a large
2512 number of questions when labeling a new Volume. Each of these attributes can
2513 later be changed on a Volume by Volume basis using the {\bf update} command in
2514 the console program. Note that you must explicitly specify which Pool Bacula
2515 is to use with each Job. Bacula will not automatically search for the correct
2516 Pool. 
2517
2518 Most often in Bacula installations all backups for all machines (Clients) go
2519 to a single set of Volumes. In this case, you will probably only use the {\bf
2520 Default} Pool. If your backup strategy calls for you to mount a different tape
2521 each day, you will probably want to define a separate Pool for each day. For
2522 more information on this subject, please see the 
2523 \ilink{Backup Strategies}{_ChapterStart3} chapter of this
2524 manual. 
2525
2526 To use a Pool, there are three distinct steps. First the Pool must be defined
2527 in the Director's configuration file. Then the Pool must be written to the
2528 Catalog database. This is done automatically by the Director each time that it
2529 starts, or alternatively can be done using the {\bf create} command in the
2530 console program. Finally, if you change the Pool definition in the Director's
2531 configuration file and restart Bacula, the pool will be updated alternatively
2532 you can use the {\bf update pool} console command to refresh the database
2533 image. It is this database image rather than the Director's resource image
2534 that is used for the default Volume attributes. Note, for the pool to be
2535 automatically created or updated, it must be explicitly referenced by a Job
2536 resource. 
2537
2538 Next the physical media must be labeled. The labeling can either be done with
2539 the {\bf label} command in the {\bf console} program or using the {\bf btape}
2540 program. The preferred method is to use the {\bf label} command in the {\bf
2541 console} program. 
2542
2543 Finally, you must add Volume names (and their attributes) to the Pool. For
2544 Volumes to be used by Bacula they must be of the same {\bf Media Type} as the
2545 archive device specified for the job (i.e. if you are going to back up to a
2546 DLT device, the Pool must have DLT volumes defined since 8mm volumes cannot be
2547 mounted on a DLT drive). The {\bf Media Type} has particular importance if you
2548 are backing up to files. When running a Job, you must explicitly specify which
2549 Pool to use. Bacula will then automatically select the next Volume to use from
2550 the Pool, but it will ensure that the {\bf Media Type} of any Volume selected
2551 from the Pool is identical to that required by the Storage resource you have
2552 specified for the Job. 
2553
2554 If you use the {\bf label} command in the console program to label the
2555 Volumes, they will automatically be added to the Pool, so this last step is
2556 not normally required. 
2557
2558 It is also possible to add Volumes to the database without explicitly labeling
2559 the physical volume. This is done with the {\bf add} console command. 
2560
2561 As previously mentioned, each time Bacula starts, it scans all the Pools
2562 associated with each Catalog, and if the database record does not already
2563 exist, it will be created from the Pool Resource definition. {\bf Bacula}
2564 probably should do an {\bf update pool} if you change the Pool definition, but
2565 currently, you must do this manually using the {\bf update pool} command in
2566 the Console program. 
2567
2568 The Pool Resource defined in the Director's configuration file
2569 (bacula-dir.conf) may contain the following directives: 
2570
2571 \begin{description}
2572
2573 \item [Pool]
2574    \index[dir]{Pool }
2575    Start of the Pool resource. There must  be at least one Pool resource defined.
2576
2577
2578 \item [Name = \lt{}name\gt{}]
2579    \index[dir]{Name  }
2580    The name of the pool.  For most applications, you will use the default pool 
2581 name {\bf Default}. This directive is required.  
2582
2583 \item [Number of Volumes = \lt{}number\gt{}]
2584    \index[dir]{Number of Volumes  }
2585    This directive specifies  the number of volumes (tapes or files) contained in
2586 the pool.  Normally, it is defined and updated automatically by the  Bacula
2587 catalog handling routines. 
2588 \label{MaxVolumes}
2589
2590 \item [Maximum Volumes = \lt{}number\gt{}]
2591    \index[dir]{Maximum Volumes  }
2592    This directive specifies the  maximum number of volumes (tapes or files)
2593 contained in the pool.  This directive is optional, if omitted or set to zero,
2594 any number  of volumes will be permitted. In general, this directive is useful
2595 for Autochangers where there is a fixed number of Volumes, or  for File
2596 storage where you wish to ensure that the backups made to  disk files do not
2597 become too numerous or consume too much space.  
2598
2599 \item [Pool Type = \lt{}type\gt{}]
2600    \index[dir]{Pool Type  }
2601    This directive defines the pool  type, which corresponds to the type of Job
2602 being run. It is  required and may be one of the following:  
2603
2604 \begin{itemize}
2605 \item [Backup]  
2606 \item [*Archive]  
2607 \item [*Cloned]  
2608 \item [*Migration]  
2609 \item [*Copy]  
2610 \item [*Save]  
2611    \end{itemize}
2612
2613 \item [Use Volume Once = \lt{}yes|no\gt{}]
2614    \index[dir]{Use Volume Once  }
2615    This directive  if set to {\bf yes} specifies that each volume is to be  used
2616 only once. This is most useful when the Media is a  file and you want a new
2617 file for each backup that is  done. The default is {\bf no} (i.e. use volume
2618 any  number of times). This directive will most likely be phased out 
2619 (deprecated), so you are recommended to use {\bf Maximum Volume Jobs = 1} 
2620 instead.  
2621
2622 Please note that the value defined by this directive in the  bacula-dir.conf
2623 file is the default value used when a Volume  is created. Once the volume is
2624 created, changing the value  in the bacula-dir.conf file will not change what
2625 is stored  for the Volume. To change the value for an existing Volume  you
2626 must use the {\bf update} command in the Console.  
2627
2628 \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}]
2629    \index[fd]{Maximum Volume Jobs  }
2630    This directive specifies  the maximum number of Jobs that can be written to
2631 the Volume. If  you specify zero (the default), there is no limit. Otherwise, 
2632 when the number of Jobs backed up to the Volume equals {\bf positive-integer} 
2633 the Volume will be marked {\bf Used}. When the Volume is marked  {\bf Used} it
2634 can no longer be used for appending Jobs, much like  the {\bf Full} status but
2635 it can be recycled if recycling is enabled.  By setting {\bf
2636 MaximumVolumeJobs} to one, you get the same  effect as setting {\bf
2637 UseVolumeOnce = yes}.  
2638
2639 Please note that the value defined by this directive in the  bacula-dir.conf
2640 file is the default value used when a Volume  is created. Once the volume is
2641 created, changing the value  in the bacula-dir.conf file will not change what
2642 is stored  for the Volume. To change the value for an existing Volume  you
2643 must use the {\bf update} command in the Console.  
2644
2645 \item [Maximum Volume Files = \lt{}positive-integer\gt{}]
2646    \index[fd]{Maximum Volume Files  }
2647    This directive specifies  the maximum number of files that can be written to
2648 the Volume. If  you specify zero (the default), there is no limit. Otherwise, 
2649 when the number of files written to the Volume equals {\bf positive-integer} 
2650 the Volume will be marked {\bf Used}. When the Volume is marked  {\bf Used} it
2651 can no longer be used for appending Jobs, much like  the {\bf Full} status but
2652 it can be recycled if recycling is enabled.  This value is checked and the
2653 {\bf Used} status is set only  at the end of a job that writes to the
2654 particular volume.  
2655
2656 Please note that the value defined by this directive in the  bacula-dir.conf
2657 file is the default value used when a Volume  is created. Once the volume is
2658 created, changing the value  in the bacula-dir.conf file will not change what
2659 is stored  for the Volume. To change the value for an existing Volume  you
2660 must use the {\bf update} command in the Console.  
2661
2662 \item [Maximum Volume Bytes = \lt{}size\gt{}]
2663    \index[fd]{Maximum Volume Bytes  }
2664    This directive specifies  the maximum number of bytes that can be written to
2665 the Volume. If  you specify zero (the default), there is no limit except the 
2666 physical size of the Volume. Otherwise,  when the number of bytes written to
2667 the Volume equals {\bf size}  the Volume will be marked {\bf Used}. When the
2668 Volume is marked  {\bf Used} it can no longer be used for appending Jobs, much
2669 like  the {\bf Full} status but it can be recycled if recycling is enabled. 
2670 This value is checked and the {\bf Used} status set while  the job is writing
2671 to the particular volume.  
2672
2673 Please note that the value defined by this directive in the  bacula-dir.conf
2674 file is the default value used when a Volume  is created. Once the volume is
2675 created, changing the value  in the bacula-dir.conf file will not change what
2676 is stored  for the Volume. To change the value for an existing Volume  you
2677 must use the {\bf update} command in the Console.  
2678
2679 \item [Volume Use Duration = \lt{}time-period-specification\gt{}]
2680    \index[fd]{Volume Use Duration  }
2681    The Volume Use Duration directive defines the time period that  the Volume can
2682 be written beginning from the time of first data  write to the Volume. If the
2683 time-period specified is zero (the  default), the Volume can be written
2684 indefinitely. Otherwise,  when the time period from the first write to the
2685 volume (the  first Job written) exceeds the time-period-specification, the 
2686 Volume will be marked {\bf Used}, which means that no more  Jobs can be
2687 appended to the Volume, but it may be recycled if  recycling is enabled.  
2688
2689 You might use this directive, for example, if you have a Volume  used for
2690 Incremental backups, and Volumes used for Weekly Full  backups. Once the Full
2691 backup is done, you will want to use a  different Incremental Volume. This can
2692 be accomplished by setting  the Volume Use Duration for the Incremental Volume
2693 to six days.  I.e. it will be used for the 6 days following a Full save, then 
2694 a different Incremental volume will be used.  
2695
2696 This value is checked and the {\bf Used} status is set only  at the end of a
2697 job that writes to the particular volume, which  means that even though the
2698 use duration may have expired, the  catalog entry will not be updated until
2699 the next job that  uses this volume is run.  
2700
2701 Please note that the value defined by this directive in the  bacula-dir.conf
2702 file is the default value used when a Volume  is created. Once the volume is
2703 created, changing the value  in the bacula-dir.conf file will not change what
2704 is stored  for the Volume. To change the value for an existing Volume  you
2705 must use the {\bf update} command in the Console.  
2706
2707 \item [Catalog Files = \lt{}yes|no\gt{}]
2708    \index[fd]{Catalog Files  }
2709    This directive  defines whether or not you want the names of the files  that
2710 were saved to be put into the catalog. The default  is {\bf yes}. The
2711 advantage of specifying {\bf Catalog Files = No}  is that you will have a
2712 significantly smaller Catalog database. The  disadvantage is that you will not
2713 be able to produce a Catalog listing  of the files backed up for each Job
2714 (this is often called Browsing).  Also, without the File entries in the
2715 catalog, you will not be  able to use the Console {\bf restore} command nor
2716 any other  command that references File entries.  
2717 \label{PoolAutoPrune}
2718
2719 \item [AutoPrune = \lt{}yes|no\gt{}]
2720    \index[fd]{AutoPrune  }
2721    If AutoPrune is set to  {\bf yes} (default), Bacula (version 1.20 or greater)
2722 will  automatically apply the Volume Retention period when new Volume  is
2723 needed and no appendable Volumes exist in the Pool. Volume  pruning causes
2724 expired Jobs (older than the {\bf Volume  Retention} period) to be deleted
2725 from the Catalog and permits  possible recycling of the Volume.  
2726 \label{VolRetention}
2727
2728 \item [Volume Retention = \lt{}time-period-specification\gt{}]
2729    \index[fd]{Volume Retention  }
2730    The  Volume Retention directive defines the length of time that {\bf Bacula} 
2731 will keep Job records associated with the Volume in the Catalog  database.
2732 When this time period expires, and if {\bf AutoPrune}  is set to {\bf yes}
2733 Bacula will prune (remove) Job  records that are older than the specified
2734 Volume Retention period.  All File records associated with pruned Jobs are
2735 also pruned.  The time may be specified as seconds,  minutes, hours, days,
2736 weeks, months, quarters, or years.  The {\bf Volume Retention} applied
2737 independently to the  {\bf Job Retention} and the {\bf File Retention} periods
2738 defined in the Client resource. This means that the shorter  period is the
2739 one that applies. Note, that when the  {\bf Volume Retention} period has been
2740 reached, it will  prune both the Job and the File records.  
2741
2742 The default is 365 days. Note, this directive sets the default  value for each
2743 Volume entry in the Catalog when the Volume is  created. The value in the 
2744 catalog may be later individually changed for each Volume using  the Console
2745 program.  
2746
2747 By defining multiple Pools with different Volume Retention periods,  you may
2748 effectively have a set of tapes that is recycled weekly,  another Pool of
2749 tapes that is recycled monthly and so on. However,  one must keep in mind that
2750 if your {\bf Volume Retention} period  is too short, it may prune the last
2751 valid Full backup, and hence  until the next Full backup is done, you will not
2752 have a complete  backup of your system, and in addition, the next Incremental 
2753 or Differential backup will be promoted to a Full backup. As  a consequence,
2754 the minimum {\bf Volume Retention} period should be at  twice the interval of
2755 your Full backups. This means that if you  do a Full backup once a month, the
2756 minimum Volume retention  period should be two months.  
2757
2758 Please note that the value defined by this directive in the  bacula-dir.conf
2759 file is the default value used when a Volume  is created. Once the volume is
2760 created, changing the value  in the bacula-dir.conf file will not change what
2761 is stored  for the Volume. To change the value for an existing Volume  you
2762 must use the {\bf update} command in the Console.  
2763 \label{PoolRecycle}
2764
2765 \item [Recycle = \lt{}yes|no\gt{}]
2766    \index[fd]{Recycle  }
2767    This directive specifies the  default for recycling Purged Volumes. If it is
2768 set to {\bf yes}  and Bacula needs a volume but finds none that are 
2769 appendable, it will search for Purged Volumes (i.e. volumes  with all the Jobs
2770 and Files expired and thus deleted from  the Catalog). If the Volume is
2771 recycled, all previous data  written to that Volume will be overwritten.  
2772
2773 Please note that the value defined by this directive in the  bacula-dir.conf
2774 file is the default value used when a Volume  is created. Once the volume is
2775 created, changing the value  in the bacula-dir.conf file will not change what
2776 is stored  for the Volume. To change the value for an existing Volume  you
2777 must use the {\bf update} command in the Console.  
2778 \label{RecycleOldest}
2779
2780 \item [Recycle Oldest Volume = \lt{}yes|no\gt{}]
2781    \index[fd]{Recycle Oldest Volume  }
2782    This directive  instructs the Director to search for the oldest used  Volume
2783 in the Pool when another Volume is requested by  the Storage daemon and none
2784 are available.  The catalog is then {\bf pruned} respecting the retention 
2785 periods of all Files and Jobs written to this Volume.  If all Jobs are pruned
2786 (i.e. the volume is Purged), then  the Volume is recycled and will be used as
2787 the next  Volume to be written. This directive respects any Job,  File, or
2788 Volume retention periods that you may have specified,  and as such it is {\bf
2789 much} better to use this directive  than the Purge Oldest Volume.  
2790
2791 This directive can be useful if you have  a fixed number of Volumes in the
2792 Pool and you want to  cycle through them and you have specified the correct 
2793 retention periods.  
2794 \label{RecycleCurrent}
2795
2796 \item [Recycle Current Volume = \lt{}yes|no\gt{}]
2797    \index[fd]{Recycle Current Volume  }
2798    If  Bacula needs a new Volume, this directive instructs Bacula  to Prune the
2799 volume respecting the Job and File  retention periods.  If all Jobs are pruned
2800 (i.e. the volume is Purged), then  the Volume is recycled and will be used as
2801 the next  Volume to be written. This directive respects any Job,  File, or
2802 Volume retention periods that you may have specified,  and thus it is {\bf
2803 much} better to use it rather  than the Purge Oldest Volume directive.  
2804
2805 This directive can be useful if you have:  a fixed number of Volumes in the
2806 Pool, you want to  cycle through them, and you have specified  retention
2807 periods that prune Volumes before  you have cycled through the Volume in the
2808 Pool.  
2809 \label{PurgeOldest}
2810
2811 \item [Purge Oldest Volume = \lt{}yes|no\gt{}]
2812    \index[fd]{Purge Oldest Volume  }
2813    This directive  instructs the Director to search for the oldest used  Volume
2814 in the Pool when another Volume is requested by  the Storage daemon and none
2815 are available.  The catalog is then {\bf purged} irrespective of retention 
2816 periods of all Files and Jobs written to this Volume.  The Volume is then
2817 recycled and will be used as the next  Volume to be written. This directive
2818 overrides any Job,  File, or Volume retention periods that you may have
2819 specified.  
2820
2821 This directive can be useful if you have  a fixed number of Volumes in the
2822 Pool and you want to  cycle through them and when all Volumes are full, but
2823 you don't  want to worry about setting proper retention periods. However,  by
2824 using this option you risk losing valuable data.  
2825
2826 {\bf Please be aware that {\bf Purge Oldest Volume} disregards  all retention
2827 periods.} If you have only a single Volume  defined and you turn this variable
2828 on, that Volume will always  be immediately overwritten when it fills! So at a
2829 minimum,  ensure that you have a decent number of Volumes in your Pool  before
2830 running any jobs. If you want retention periods to apply  do not use this
2831 directive. To specify a retention period,  use the {\bf Volume Retention}
2832 directive (see above).  
2833
2834 I highly recommend against using this directive, because it is  sure that some
2835 day, Bacula will recycle a Volume that contains  current data. 
2836
2837 \item [Accept Any Volume = \lt{}yes|no\gt{}]
2838    \index[fd]{Accept Any Volume  }
2839    This directive  specifies whether or not any volume from the Pool may  be used
2840 for backup. The default is {\bf yes} as of version  1.27 and later. If it is
2841 {\bf no} then only the first  writable volume in the Pool will be accepted for
2842 writing backup  data, thus Bacula will fill each Volume sequentially  in turn
2843 before using any other appendable volume in the  Pool. If this is {\bf no} and
2844 you mount a volume out  of order, Bacula will not accept it. If this  is {\bf
2845 yes} any appendable volume from the pool  mounted will be accepted.  
2846
2847 If your tape backup procedure dictates that you manually  mount the next
2848 volume, you will almost certainly want to be  sure this directive is turned
2849 on.  
2850
2851 If you are going on vacation and you think the current volume  may not have
2852 enough room on it, you can simply label a new tape  and leave it in the drive,
2853 and assuming that {\bf Accept Any Volume}  is {\bf yes} Bacula will begin
2854 writing on it. When you return  from vacation, simply remount the last tape,
2855 and Bacula will  continue writing on it until it is full. Then you can remount
2856  your vacation tape and Bacula will fill it in turn.  
2857
2858 \item [Cleaning Prefix = \lt{}string\gt{}]
2859    \index[fd]{Cleaning Prefix  }
2860    This directive defines  a prefix string, which if it matches the beginning of 
2861 a Volume name during labeling of a Volume, the Volume  will be defined with
2862 the VolStatus set to {\bf Cleaning} and  thus Bacula will never attempt to use
2863 this tape. This  is primarily for use with autochangers that accept barcodes 
2864 where the convention is that barcodes beginning with {\bf CLN}  are treated as
2865 cleaning tapes.  
2866 \label{Label}
2867
2868 \item [Label Format = \lt{}format\gt{}]
2869    \index[fd]{Label Format  }
2870    This directive specifies the  format of the labels contained in this pool. The
2871 format directive  is used as a sort of template to create new Volume names
2872 during  automatic Volume labeling.  
2873
2874 The {\bf format} should be specified in double quotes, and  consists of
2875 letters, numbers and the special characters  hyphen ({\bf -}), underscore
2876 ({\bf \_}), colon ({\bf :}), and  period ({\bf .}), which are the legal
2877 characters for a Volume  name. The {\bf format} should be enclosed in  double
2878 quotes ('').  
2879
2880 In addition, the format may contain a number of variable expansion  characters
2881 which will be expanded by a complex algorithm allowing  you to create Volume
2882 names of many different formats. In all  cases, the expansion process must
2883 resolve to the set of characters  noted above that are legal Volume names.
2884 Generally, these  variable expansion characters begin with a dollar sign ({\bf
2885 \$})  or a left bracket ({\bf [}). If you specify variable expansion 
2886 characters, you should always enclose the format with double  quote characters
2887 ({\bf ``}). For more details on variable expansion,  please see the 
2888 \ilink{Variable Expansion}{_ChapterStart50} Chapter of  this manual.  
2889
2890 If no variable expansion characters are found in the string,  the Volume name
2891 will be formed from the {\bf format} string  appended with the number of
2892 volumes in the pool plus one, which  will be edited as four digits with
2893 leading zeros. For example,  with a {\bf Label Format = ''File-``}, the first
2894 volumes will be  named {\bf File-0001}, {\bf File-0002}, ...  
2895
2896 With the exception of Job specific variables, you can test  your {\bf
2897 LabelFormat} by using the 
2898 \ilink{ var command}{var} the Console Chapter of this manual.  
2899
2900 In almost all cases, you should enclose the format specification  (part after
2901 the equal sign) in double quotes.  
2902 \end{description}
2903
2904 In order for a Pool to be used during a Backup Job, the Pool must have at
2905 least one Volume associated with it. Volumes are created for a Pool using the
2906 {\bf label} or the {\bf add} commands in the {\bf Bacula Console}, program. In
2907 addition to adding Volumes to the Pool (i.e. putting the Volume names in the
2908 Catalog database), the physical Volume must be labeled with valid Bacula
2909 software volume label before {\bf Bacula} will accept the Volume. This will be
2910 automatically done if you use the {\bf label} command. Bacula can
2911 automatically label Volumes if instructed to do so, but this feature is not
2912 yet fully implemented. 
2913
2914 The following is an example of a valid Pool resource definition: 
2915
2916 \footnotesize
2917 \begin{verbatim}
2918  
2919 Pool {
2920   Name = Default
2921   Pool Type = Backup
2922 }
2923 \end{verbatim}
2924 \normalsize
2925
2926 \section*{The Catalog Resource}
2927 \label{CatalogResource}
2928 \index[general]{Resource!Catalog }
2929 \index[general]{Catalog Resource }
2930 \addcontentsline{toc}{section}{Catalog Resource}
2931
2932 The Catalog Resource defines what catalog to use for the current job.
2933 Currently, Bacula can only handle a single database server (SQLite, MySQL,
2934 built-in) that is defined when configuring {\bf Bacula}. However, there may be
2935 as many Catalogs (databases) defined as you wish. For example, you may want
2936 each Client to have its own Catalog database, or you may want backup jobs to
2937 use one database and verify or restore jobs to use another database. 
2938
2939 \begin{description}
2940
2941 \item [Catalog]
2942    \index[console]{Catalog }
2943    Start of the Catalog resource.  At least one Catalog resource must be defined.
2944
2945
2946 \item [Name = \lt{}name\gt{}]
2947    \index[console]{Name  }
2948    The name of the Catalog. No  necessary relation to the database server name.
2949 This name  will be specified in the Client resource directive indicating  that
2950 all catalog data for that Client is maintained in this  Catalog. This
2951 directive is required.  
2952
2953 \item [password = \lt{}password\gt{}]
2954    \index[console]{password  }
2955    This specifies the password  to use when logging into the database. This
2956 directive is required.  
2957
2958 \item [DB Name = \lt{}name\gt{}]
2959    \index[console]{DB Name  }
2960    This specifies the name of the  database. If you use multiple catalogs
2961 (databases), you specify  which one here. If you are using an external
2962 database server  rather than the internal one, you must specify a name that 
2963 is known to the server (i.e. you explicitly created the  Bacula tables using
2964 this name. This directive is  required. 
2965
2966 \item [user = \lt{}user\gt{}]
2967    \index[console]{user  }
2968    This specifies what user name  to use to log into the database. This directive
2969 is required.  
2970
2971 \item [DB Socket = \lt{}socket-name\gt{}]
2972    \index[console]{DB Socket  }
2973    This is the name of  a socket to use on the local host to connect to the
2974 database.  This directive is used only by MySQL and is ignored by  SQLite.
2975 Normally, if neither {\bf DB Socket} or {\bf DB Address}  are specified, MySQL
2976 will use the default socket.  
2977
2978 \item [DB Address = \lt{}address\gt{}]
2979    \index[console]{DB Address  }
2980    This is the host address  of the database server. Normally, you would specify
2981 this instead  of {\bf DB Socket} if the database server is on another machine.
2982 In that case, you will also specify {\bf DB Port}. This directive  is used
2983 only by MySQL and is ignored by SQLite if provided.  This directive is
2984 optional.  
2985
2986 \item [DB Port = \lt{}port\gt{}]
2987    \index[console]{DB Port  }
2988    This defines the port to  be used in conjunction with {\bf DB Address} to
2989 access the  database if it is on another machine. This directive is used  only
2990 by MySQL and is ignored by SQLite if provided. This  directive is optional.  
2991
2992 \item [Multiple Connections = \lt{}yes|no\gt{}]
2993    \index[console]{Multiple Connections  }
2994    By default, this  directive is set to no. In that case, each job that uses the
2995 same Catalog will use a single connection to the catalog. It will  be shared,
2996 and Bacula will allow only one Job at a time to  communicate. If you set this
2997 directive to yes, Bacula will  permit multiple connections to the database,
2998 and the database  must be multi-thread capable. For SQLite and PostgreSQL,
2999 this is  no problem. For MySQL, you must be *very* careful to have the 
3000 multi-thread version of the client library loaded on your system.  When this
3001 directive is set yes, each Job will have a separate  connection to the
3002 database, and the database will control the  interaction between the different
3003 Jobs. This can significantly  speed up the database operations if you are
3004 running multiple  simultaneous jobs. In addition, for SQLite and PostgreSQL,
3005 Bacula  will automatically enable transactions. This can significantly  speed
3006 up insertion of attributes in the database either for  a single Job or
3007 multiple simultaneous Jobs.  
3008
3009 This directive has not been tested. Please test carefully  before running it
3010 in production and report back your results.  
3011 \end{description}
3012
3013 The following is an example of a valid Catalog resource definition: 
3014
3015 \footnotesize
3016 \begin{verbatim}
3017 Catalog
3018 {
3019   Name = SQLite
3020   dbname = bacula;
3021   user = bacula;
3022   password = ""                       # no password = no security
3023 }
3024 \end{verbatim}
3025 \normalsize
3026
3027 or for a Catalog on another machine: 
3028
3029 \footnotesize
3030 \begin{verbatim}
3031 Catalog
3032 {
3033   Name = MySQL
3034   dbname = bacula
3035   user = bacula
3036   password = ""
3037   DB Address = remote.acme.com
3038   DB Port = 1234
3039 }
3040 \end{verbatim}
3041 \normalsize
3042
3043 \section*{The Messages Resource}
3044 \label{MessagesResource2}
3045 \index[general]{Resource!Messages }
3046 \index[general]{Messages Resource }
3047 \addcontentsline{toc}{section}{Messages Resource}
3048
3049 For the details of the Messages Resource, please see the 
3050 \ilink{Messages Resource Chapter}{_ChapterStart15} of this
3051 manual. 
3052
3053 \section*{The Console Resource}
3054 \label{ConsoleResource1}
3055 \index[general]{Console Resource }
3056 \index[general]{Resource!Console }
3057 \addcontentsline{toc}{section}{Console Resource}
3058
3059 As of Bacula version 1.33 and higher, there are three different kinds of
3060 consoles, which the administrator or user can use to interact with the
3061 Director. These three kinds of consoles comprise three different security
3062 levels. 
3063
3064 \begin{itemize}
3065 \item The first console type is an {\bf anonymous} or {\bf default}  console,
3066    which  has full privileges. There is no console resource necessary  for this
3067    type since the password is specified in the Director's  resource and
3068 consequently such consoles do not have an  name as defined on a {\bf Name =}
3069 directive. This is the kind of  console that was initially implemented in
3070 versions prior to 1.33  and remains valid. Typically you would use it only for
3071  administrators.  
3072 \item The second type of console, and new to version 1.33 and  higher is a
3073    ''named`` console defined within  a Console resource in both the Director's
3074    configuration file and in  the Console's configuration file. Both the names
3075 and the passwords  in these two entries must match much as is the case for 
3076 Client programs.  
3077
3078 This second type of console begins with absolutely no  privileges except those
3079 explicitly specified in the Director's  Console resource. Thus you can have
3080 multiple Consoles with  different names and passwords, sort of like multiple
3081 users, each  with different privileges. As a  default, these consoles can do
3082 absolutely nothing -- no commands  what so ever. You give them privileges or
3083 rather access  to commands and resources by specifying access  control lists
3084 in the Director's Console resource. The ACLs are  specified by a directive
3085 followed by a list of access names.  Examples of this are shown below.  
3086 \item The third type of console is similar to the above mentioned  one in that
3087    it requires a Console resource definition in both  the Director and the
3088    Console. In addition, if the console name,  provided on the {\bf Name =}
3089 directive, is the same as a Client  name, that console is permitted to use the
3090 {\bf SetIP}  command to change the Address directive in the  Director's client
3091 resource to the IP address of the Console. This  permits portables or other
3092 machines using DHCP (non-fixed IP addresses)  to ''notify`` the Director of
3093 their current IP address.  
3094 \end{itemize}
3095
3096 The Console resource is optional and need not be specified. The following
3097 directives are permited within the Director's configuration resource: 
3098
3099 \begin{description}
3100
3101 \item [Name = \lt{}name\gt{}]
3102    \index[console]{Name  }
3103    The name of the console. This  name must match the name specified in the
3104 Console's configuration  resource (much as is the case with Client
3105 definitions).  
3106
3107 \item [Password = \lt{}password\gt{}]
3108    \index[console]{Password  }
3109    Specifies the password that  must be supplied for a named Bacula Console to be
3110 authorized. The same  password must appear in the {\bf Console} resource of
3111 the Console  configuration file. For added security, the password is never 
3112 actually passed across the network but rather a challenge response  hash code
3113 created with the password. This directive is required.  If you have either
3114 {\bf /dev/random}  {\bf bc} on your machine, Bacula will generate a random 
3115 password during the configuration process, otherwise it will  be left blank. 
3116
3117 \item [JobACL = \lt{}name-list\gt{}]
3118    \index[console]{JobACL  }
3119    This directive is used to  specify a list of Job resource names that can be
3120 accessed by  the console. Without this directive, the console cannot access 
3121 any of the Director's Job resources. Multiple Job resource names  may be
3122 specified by separating them with commas, and/or by specifying  multiple
3123 JobACL directives. For example, the directive  may be specified as:  
3124
3125 \footnotesize
3126 \begin{verbatim}
3127     JobACL = kernsave, "Backup client 1", "Backup client 2"
3128     JobACL = "RestoreFiles"
3129     
3130 \end{verbatim}
3131 \normalsize
3132
3133 With the above specification, the console can access the Director's  resources
3134 for the four jobs named on the JobACL directives,  but for no others.  
3135
3136 \item [ClientACL = \lt{}name-list\gt{}]
3137    \index[console]{ClientACL  }
3138    This directive is used to  specify a list of Client resource names that can be
3139 accessed by  the console.  
3140
3141 \item [StorageACL = \lt{}name-list\gt{}]
3142    \index[console]{StorageACL  }
3143    This directive is used to  specify a list of Storage resource names that can
3144 be accessed by  the console.  
3145
3146 \item [ScheduleACL = \lt{}name-list\gt{}]
3147    \index[console]{ScheduleACL  }
3148    This directive is used to  specify a list of Schedule resource names that can
3149 be accessed by  the console.  
3150
3151 \item [PoolACL = \lt{}name-list\gt{}]
3152    \index[console]{PoolACL  }
3153    This directive is used to  specify a list of Pool resource names that can be
3154 accessed by  the console.  
3155
3156 \item [FileSetACL = \lt{}name-list\gt{}]
3157    \index[console]{FileSetACL  }
3158    This directive is used to  specify a list of FileSet resource names that can
3159 be accessed by  the console.  
3160
3161 \item [CatalogACL = \lt{}name-list\gt{}]
3162    \index[console]{CatalogACL  }
3163    This directive is used to  specify a list of Catalog resource names that can
3164 be accessed by  the console.  
3165
3166 \item [CommandACL = \lt{}name-list\gt{}]
3167    \index[console]{CommandACL  }
3168    This directive is used to  specify a list of of console commands that can be
3169 executed by  the console. 
3170 \end{description}
3171
3172 Aside from Director resource names and console command names, the special
3173 keyword {\bf *all*} can be specified in any of the above access control lists.
3174 When this keyword is present, any resource or command name (which ever is
3175 appropriate) will be accepted. For an example configuration file, please see
3176 the 
3177 \ilink{Console Configuration}{_ChapterStart36} chapter of this
3178 manual. 
3179
3180 \section*{The Counter Resource}
3181 \label{CounterResource}
3182 \index[general]{Resource!Counter }
3183 \index[general]{Counter Resource }
3184 \addcontentsline{toc}{section}{Counter Resource}
3185
3186 The Counter Resource defines a counter variable that can be accessed by
3187 variable expansion used for creating Volume labels with the {\bf LabelFormat}
3188 directive. See the 
3189 \ilink{LabelFormat}{Label} directive in this chapter for more
3190 details. 
3191
3192 \begin{description}
3193
3194 \item [Counter]
3195    \index[console]{Counter }
3196    Start of the Counter resource.  Counter directives are optional. 
3197
3198 \item [Name = \lt{}name\gt{}]
3199    \index[console]{Name  }
3200    The name of the Counter.  This is the name you will use in the variable
3201 expansion  to reference the counter value.  
3202
3203 \item [Minimum = \lt{}integer\gt{}]
3204    \index[console]{Minimum  }
3205    This specifies the minimum  value that the counter can have. It also becomes
3206 the default.  If not supplied, zero is assumed.  
3207
3208 \item [Maximum = \lt{}integer\gt{}]
3209    \index[console]{Maximum  }
3210    This is the maximum value  value that the counter can have. If not specified
3211 or set to  zero, the counter can have a maximum value of 2,147,483,648  (2 to
3212 the 31 power). When the counter is incremented past  this value, it is reset
3213 to the Minimum.  
3214
3215 \item [*WrapCounter = \lt{}counter-name\gt{}]
3216    \index[console]{*WrapCounter  }
3217    If this value  is specified, when the counter is incremented past the maximum 
3218 and thus reset to the minimum, the counter specified on the  {\bf WrapCounter}
3219 is incremented. (This is not currently  implemented). 
3220
3221 \item [Catalog = \lt{}catalog-name\gt{}]
3222    \index[console]{Catalog  }
3223    If this directive is  specified, the counter and its values will be saved in 
3224 the specified catalog. If this directive is not present, the  counter will be
3225 redefined each time that Bacula is started. 
3226 \end{description}
3227
3228 \section*{ A Complete Example Director Configuration File}
3229 \label{SampleDirectorConfiguration}
3230 \index[general]{File!Complete Example Director Configuration }
3231 \index[general]{Complete Example Director Configuration File }
3232 \addcontentsline{toc}{section}{Complete Example Director Configuration File}
3233
3234 An example Director configuration file might be the following: 
3235
3236 \footnotesize
3237 \begin{verbatim}
3238 #
3239 # Default Bacula Director Configuration file
3240 #
3241 #  The only thing that MUST be changed is to add one or more
3242 #   file or directory names in the Include directive of the
3243 #   FileSet resource.
3244 #
3245 #  For Bacula release 1.15 (5 March 2002) -- redhat
3246 #
3247 #  You might also want to change the default email address
3248 #   from root to your address.  See the "mail" and "operator"
3249 #   directives in the Messages resource.
3250 #
3251 Director {                            # define myself
3252   Name = rufus-dir
3253   QueryFile = "/home/kern/bacula/bin/query.sql"
3254   WorkingDirectory = "/home/kern/bacula/bin/working"
3255   PidDirectory = "/home/kern/bacula/bin/working"
3256   Password = "XkSfzu/Cf/wX4L8Zh4G4/yhCbpLcz3YVdmVoQvU3EyF/"
3257 }
3258 # Define the backup Job
3259 Job {
3260   Name = "NightlySave"
3261   Type = Backup
3262   Level = Incremental                 # default
3263   Client=rufus-fd
3264   FileSet="Full Set"
3265   Schedule = "WeeklyCycle"
3266   Storage = DLTDrive
3267   Messages = Standard
3268   Pool = Default
3269 }
3270 Job {
3271   Name = "Restore"
3272   Type = Restore
3273   Client=rufus-fd
3274   FileSet="Full Set"
3275   Where = /tmp/bacula-restores
3276   Storage = DLTDrive
3277   Messages = Standard
3278   Pool = Default
3279 }
3280    
3281 # List of files to be backed up
3282 FileSet {
3283   Name = "Full Set"
3284   Include {
3285     Options { signature=SHA1 }
3286 #
3287 #  Put your list of files here, one per line or include an
3288 #    external list with:
3289 #
3290 #    @file-name
3291 #
3292 #  Note: / backs up everything
3293   File = /
3294   }
3295   Exclude { }
3296 }
3297 # When to do the backups
3298 Schedule {
3299   Name = "WeeklyCycle"
3300   Run = Full sun at 1:05
3301   Run = Incremental mon-sat at 1:05
3302 }
3303 # Client (File Services) to backup
3304 Client {
3305   Name = rufus-fd
3306   Address = rufus
3307   Catalog = MyCatalog
3308   Password = "MQk6lVinz4GG2hdIZk1dsKE/LxMZGo6znMHiD7t7vzF+"
3309   File Retention = 60d      # sixty day file retention
3310   Job Retention = 1y        # 1 year Job retention
3311   AutoPrune = yes           # Auto apply retention periods
3312 }
3313 # Definition of DLT tape storage device
3314 Storage {
3315   Name = DLTDrive
3316   Address = rufus
3317   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3318   Device = "HP DLT 80"      # same as Device in Storage daemon
3319   Media Type = DLT8000      # same as MediaType in Storage daemon
3320 }
3321 # Definition of DDS tape storage device
3322 Storage {
3323   Name = SDT-10000
3324   Address = rufus
3325   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3326   Device = SDT-10000        # same as Device in Storage daemon
3327   Media Type = DDS-4        # same as MediaType in Storage daemon
3328 }
3329 # Definition of 8mm tape storage device
3330 Storage {
3331   Name = "8mmDrive"
3332   Address = rufus
3333   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3334   Device = "Exabyte 8mm"
3335   MediaType = "8mm"
3336 }
3337 # Definition of file storage device
3338 Storage {
3339   Name = File
3340   Address = rufus
3341   Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3342   Device = FileStorage
3343   Media Type = File
3344 }
3345 # Generic catalog service
3346 Catalog {
3347   Name = MyCatalog
3348   dbname = bacula; user = bacula; password = ""
3349 }
3350 # Reasonable message delivery -- send most everything to
3351 #   the email address and to the console
3352 Messages {
3353   Name = Standard
3354   mail = root@localhost = all, !skipped, !terminate
3355   operator = root@localhost = mount
3356   console = all, !skipped, !saved
3357 }
3358     
3359 # Default pool definition
3360 Pool {
3361   Name = Default
3362   Pool Type = Backup
3363   AutoPrune = yes
3364   Recycle = yes
3365 }
3366 #
3367 # Restricted console used by tray-monitor to get the status of the director
3368 #
3369 Console {
3370   Name = Monitor
3371   Password = "GN0uRo7PTUmlMbqrJ2Gr1p0fk0HQJTxwnFyE4WSST3MWZseR"
3372   CommandACL = status, .status
3373 }
3374 \end{verbatim}
3375 \normalsize