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}
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.
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
17 \ilink{Configuration}{_ChapterStart16} de ce manuel.
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}
24 Les types de ressources du Director sont :
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) :
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.
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.
43 \ilink{JobDefs}{JobDefsResource} -- Ressource optionnelle pour
44 fournir des valeurs par d\'efaut pour les ressources Job.
46 \ilink{Schedule}{ScheduleResource} -- Pour d\'efinir le moment
47 o\`u un Job doit \^etre lanc\'e automatiquement par le {\it scheduler}
50 \ilink{FileSet}{FileSetResource} -- Pour d\'efinir l'ensemble des
51 fichiers \`a sauvegarder pour chaque client.
53 \ilink{Client}{ClientResource2} -- Pour d\'efinir quel Client est
56 \ilink{Storage}{StorageResource2} -- Pour d\'efinir sur quel
57 p\'eriph\'erique physique les volumes seront mont\'es.
59 \ilink{Pool}{PoolResource} -- Pour d\'efinir quel pool de volumes
60 peut \^etre utilis\'e pour un Job donn\'e
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.
66 \ilink{Messages}{_ChapterStart15} -- Pour d\'efinir les
67 destinataires (ou les fichiers de logs) des messages d'erreur et
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}
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.
85 \index[dir]{Director }
86 D\'ebut de la ressource Director. Une ressource Director et une seule doit
89 \ item [Name = \lt{}nom\gt{}]
91 Le nom du Director utilis\'e par l'administrateur syst\`eme. Cette directive
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.
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
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.
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
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.
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.
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.
151 \label{DirMaxConJobs}
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
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.
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
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.
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.
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.
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 :
198 DirAddresses = { ip = {
199 addr = 1.2.3.4; port = 1205; }
201 addr = 1.2.3.4; port = http; }
214 addr = 201:220:222::2
217 addr = bluedot.thun.net
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.
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
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.
253 Voici un exemple d'une ressource Director valide :
259 WorkingDirectory = "$HOME/bacula/bin/working"
260 Password = UA_password
261 PidDirectory = "$HOME/bacula/bin/working"
262 QueryFile = "$HOME/bacula/bin/query.sql"
268 \section*{La ressource Job}
270 \index[general]{Resource!Job }
271 \index[general]{Job Resource }
272 \addcontentsline{toc}{section}{Job Resource}
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).
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.
289 \index[console]{Job }
290 D\'ebut de la ressource Job. Il faut d\'efinir au moins une ressource Job.
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.
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.
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.
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.
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
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
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.
347 \item {\bf Level = \lt{}job-level\gt{}}
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}.
356 Pour un job de type {\bf Backup} le niveau doit \^etre l'un des suivants :
362 Tous les fichiers du FileSet, qu'ils aient \'et\'e modifi\'es ou non.
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 :
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.
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.
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
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
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.
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 :
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.
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.
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.
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
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.
471 Pour un Job de type {\bf Restore}, aucun niveau ne doit \^etre sp\'ecifi\'e.
473 Pour un Job de type {\bf Verify}, le niveau peut \^etre l'un des suivants :
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
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.
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.
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).
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.
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.
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.
539 Notez que l'impl\'ementation actuelle (1.32c) n'identifie pas les fichiers qui
540 ont \'et\'e supprim\'es.
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).
553 \item {\bf JobDefs = \lt{}JobDefs-Resource-Name\gt{}}
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.
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.
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.
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}
584 \item {\bf \label{writebootstrap} Write Bootstrap = \lt{}bootstrap-file-specification\gt{}}
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..
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.
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.
605 Pour plus de d\'etails sur l'utilisation de fichiers bootstrap, veuillez
606 consulter le chapitre intitul\'e \ilink{Le Fichier Bootstrap}{_ChapterStart43}
610 \item {\bf Client = \lt{}client-resource-name\gt{}}
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.
619 \item {\bf FileSet = \lt{}FileSet-resource-name\gt{}}
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.
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
638 \item {\bf Pool = \lt{}pool-resource-name\gt{}}
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
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.
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.
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.
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
678 Pour plus de d\'etails, consultez le chapitre.
679 \ilink{Ressource Schedule}{ScheduleResource} de ce manuel.
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.
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).
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.
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.
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}.
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}.
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}.
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 :
760 %e = Statut de sortie du job
761 %j = Nom unique du job
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
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}
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.
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.
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).
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.)
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
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.
827 ClientRunBeforeJob = "\"C:/Program Files/Software
828 Vendor/Executable\" /arg1 /arg2 \"foo bar\""
832 Les caract\`eres sp\'eciaux \&()[]\{\}\^{}=;!'+,`\~{} devront \^etre quot\'es s'ils font
833 partie d'un nom de fichier ou d'un argument.
836 If someone is logged in a blank ``command'' window running the commands will
837 be present during the execution of the command.
839 Quelques suggestions de Phil Stracchino pour l'ex\'ecution sur les machines
840 Win32 avec le File Daemon Win32 natif :
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 :
849 ClientRunBeforeJob = ``c:/bacula/bin/systemstate.bat''
851 plut\^ot qu'au format DOS/Windows :
854 ``c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}systemstate.bat''
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.
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.
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.
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.
898 \item {\bf Where = \lt{}directory\gt{}}
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.
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
921 Lorsque le fichier \`a restaurer existe d\'ej\`a, il est supprim\'e et remplac\'e par la
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.
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.
936 Si le fichier sauvegard\'e existe d\'ej\`a, Bacula renonce \`a restaurer ce fichier.
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.
950 \item {\bf Maximum Concurrent Jobs = \lt{}number\gt{}}
951 \index[dir]{Maximum Concurrent Jobs }
952 where \lt{}number\gt{} is the maximum number of Jobs from the current Job
953 resource that can run concurrently. Note, this directive limits only Jobs
954 with the same name as the resource in which it appears. Any other
955 restrictions on the maximum concurrent jobs such as in the Director, Client,
956 or Storage resources will also apply in addition to the limit specified here.
957 The default is set to 1, but you may set it to a larger number. We strongly
958 recommend that you read the WARNING documented under
959 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
962 \item {\bf Reschedule On Error = \lt{}yes|no\gt{}}
963 \index[dir]{Reschedule On Error }
964 If this directive is enabled, and the job terminates in error, the job will
965 be rescheduled as determined by the {\bf Reschedule Interval} and {\bf
966 Reschedule Times} directives. If you cancel the job, it will not be
967 rescheduled. The default is {\bf no} (i.e. the job will not be rescheduled).
970 This specification can be useful for portables, laptops, or other machines
971 that are not always connected to the network or switched on.
973 \item {\bf Reschedule Interval = \lt{}time-specification\gt{}}
974 \index[dir]{Reschedule Interval }
975 If you have specified {\bf Reschedule On Error = yes} and the job terminates
976 in error, it will be rescheduled after the interval of time specified by
977 {\bf time-specification}. See
978 \ilink{ the time specification formats}{Time} in the Configure
979 chapter for details of time specifications. If no interval is specified, the
980 job will not be rescheduled on error.
982 \item {\bf Reschedule Times = \lt{}count\gt{}}
983 \index[dir]{Reschedule Times }
984 This directive specifies the maximum number of times to reschedule the job.
985 If it is set to zero (the default) the job will be rescheduled an indefinite
989 \item {\bf Priority = \lt{}number\gt{}}
990 \index[dir]{Priority }
991 This directive permits you to control the order in which your jobs run by
992 specifying a positive non-zero number. The higher the number, the lower the
993 job priority. Assuming you are not running concurrent jobs, all queued jobs
994 of priority 1 will run before queued jobs of priority 2 and so on,
995 regardless of the original scheduling order.
997 The priority only affects waiting jobs that are queued to run, not jobs that
998 are already running. If one or more jobs of priority 2 are already running,
999 and a new job is scheduled with priority 1, the currently running priority 2
1000 jobs must complete before the priority 1 job is run.
1002 The default priority is 10.
1004 If you want to run concurrent jobs, which is not recommended, you should keep
1005 these points in mind:
1008 \item To run concurrent jobs, you must set Maximum Concurrent Jobs = 2 in 5
1009 or 6 distinct places: in bacula-dir.conf in the Director, the Job, the
1010 Client, the Storage resources; in bacula-fd in the FileDaemon (or Client)
1011 resource, and in bacula-sd.conf in the Storage resource. If any one is
1012 missing, it will throttle the jobs to one at a time.
1013 \item Bacula concurrently runs jobs of only one priority at a time. It will
1014 not simultaneously run a priority 1 and a priority 2 job.
1015 \item If Bacula is running a priority 2 job and a new priority 1 job is
1016 scheduled, it will wait until the running priority 2 job terminates even if
1017 the Maximum Concurrent Jobs settings would otherwise allow two jobs to run
1019 \item Suppose that bacula is running a priority 2 job and new priority 1 job
1020 is scheduled and queued waiting for the running priority 2 job to terminate.
1021 If you then start a second priority 2 job, the waiting priority 1 job will
1022 prevent the new priority 2 job from running concurrently with the running
1023 priority 2 job. That is: as long as there is a higher priority job waiting to
1024 run, no new lower priority jobs will start even if the Maximum Concurrent
1025 Jobs settings would normally allow them to run. This ensures that higher
1026 priority jobs will be run as soon as possible.
1029 If you have several jobs of different priority, it is best not to start them
1030 at exactly the same time, because Bacula must examine them one at a time. If
1031 by chance Bacula treats a lower priority first, then it will run before your
1032 high priority jobs. To avoid this, start any higher priority a few seconds
1033 before lower ones. This insures that Bacula will examine the jobs in the
1034 correct order, and that your priority scheme will be respected.
1035 \label{WritePartAfterJob}
1037 \item {\bf Write Part After Job = \lt{}yes|no\gt{}}
1038 \index[sd]{Write Part After Job }
1039 If this directive is set to {\bf yes} (default {\bf no}), a new part file
1040 will be created after the job is finished.
1042 It should be set to {\bf yes} when writing to devices that require mount (for
1043 example DVD), so you are sure that the current part, containing this job's
1044 data, is written to the device, and that no data is left in the temporary
1045 file on the hard disk. However, on some media, like DVD+R and DVD-R, a lot of
1046 space (about 10Mb) is lost everytime a part is written. So, if you run
1047 several jobs each after another, you could set this directive to {\bf no} for
1048 all jobs, except the last one, to avoid wasting too much space, but to ensure
1049 that the data is written to the medium when all jobs are finished.
1051 It is ignored with tape and FIFO devices.
1054 The following is an example of a valid Job resource definition:
1061 Level = Incremental # default
1063 FileSet="Minou Full Set"
1066 Schedule = "MinouWeeklyCycle"
1072 \section*{The JobDefs Resource}
1073 \label{JobDefsResource}
1074 \index[general]{JobDefs Resource }
1075 \index[general]{Resource!JobDefs }
1076 \addcontentsline{toc}{section}{JobDefs Resource}
1078 The JobDefs resource permits all the same directives that can appear in a Job
1079 resource. However, a JobDefs resource does not create a Job, rather it can be
1080 referenced within a Job to provide defaults for that Job. This permits you to
1081 concisely define several nearly identical Jobs, each one referencing a JobDefs
1082 resource which contains the defaults. Only the changes from the defaults need
1083 be mentioned in each Job.
1085 \section*{The Schedule Resource}
1086 \label{ScheduleResource}
1087 \index[general]{Resource!Schedule }
1088 \index[general]{Schedule Resource }
1089 \addcontentsline{toc}{section}{Schedule Resource}
1091 The Schedule resource provides a means of automatically scheduling a Job as
1092 well as the ability to override the default Level, Pool, Storage and Messages
1093 resources. If a Schedule resource is not referenced in a Job, the Job may only
1094 be run manually. In general, you specify an action to be taken and when.
1099 \index[sd]{Schedule }
1100 Start of the Schedule directives. No {\bf Schedule} resource is required, but
1101 you will need at least one if you want Jobs to be automatically started.
1103 \item [Name = \lt{}name\gt{}]
1105 The name of the schedule being defined. The Name directive is required.
1107 \item [Run = \lt{}Job-overrides\gt{} \lt{}Date-time-specification\gt{} ]
1109 The Run directive defines when a Job is to be run, and what overrides if any
1110 to apply. You may specify multiple {\bf run} directives within a {\bf
1111 Schedule} resource. If you do, they will all be applied (i.e. multiple
1112 schedules). If you have two {\bf Run} directives that start at the same time,
1113 two Jobs will start at the same time (well, within one second of each
1116 The {\bf Job-overrides} permit overriding the Level, the Storage, the
1117 Messages, and the Pool specifications provided in the Job resource. In
1118 addition, the FullPool, the IncrementalPool, and the DifferentialPool
1119 specifications permit overriding the Pool specification according to what
1120 backup Job Level is in effect.
1122 By the use of overrides, you may customize a particular Job. For example, you
1123 may specify a Messages override for your Incremental backups that outputs
1124 messages to a log file, but for your weekly or monthly Full backups, you may
1125 send the output by email by using a different Messages override.
1127 {\bf Job-overrides} are specified as: {\bf keyword=value} where the keyword
1128 is Level, Storage, Messages, Pool, FullPool, DifferentialPool, or
1129 IncrementalPool, and the {\bf value} is as defined on the respective
1130 directive formats for the Job resource. You may specify multiple {\bf
1131 Job-overrides} on one {\bf Run} directive by separating them with one or more
1132 spaces or by separating them with a trailing comma. For example:
1138 is all files in the FileSet whether or not they have changed.
1140 \item [Level=Incremental]
1142 is all files that have changed since the last backup.
1146 specifies to use the Pool named {\bf Weekly}.
1148 \item [Storage=DLT\_Drive]
1149 \index[sd]{Storage }
1150 specifies to use {\bf DLT\_Drive} for the storage device.
1152 \item [Messages=Verbose]
1153 \index[sd]{Messages }
1154 specifies to use the {\bf Verbose} message resource for the Job.
1156 \item [FullPool=Full]
1157 \index[sd]{FullPool }
1158 specifies to use the Pool named {\bf Full} if the job is a full backup, or is
1159 upgraded from another type to a full backup.
1161 \item [DifferentialPool=Differential]
1162 \index[sd]{DifferentialPool }
1163 specifies to use the Pool named {\bf Differential} if the job is a
1164 differential backup.
1166 \item [IncrementalPool=Incremental]
1167 \index[sd]{IncrementalPool }
1168 specifies to use the Pool named {\bf Incremental} if the job is an
1171 \item [SpoolData=yes|no]
1172 \index[sd]{SpoolData }
1173 tells Bacula to request the Storage daemon to spool data to a disk file
1174 before putting it on tape.
1176 \item [WritePartAfterJob=yes|no]
1177 \index[sd]{WritePartAfterJob }
1178 tells Bacula to request the Storage daemon to write the current part file to
1179 the device when the job is finished (see
1180 \ilink{Write Part After Job directive in the Job
1181 resource}{WritePartAfterJob}).
1184 {\bf Date-time-specification} determines when the Job is to be run. The
1185 specification is a repetition, and as a default Bacula is set to run a job at
1186 the beginning of the hour of every hour of every day of every week of every
1187 month of every year. This is not normally what you want, so you must specify
1188 or limit when you want the job to run. Any specification given is assumed to
1189 be repetitive in nature and will serve to override or limit the default
1190 repetition. This is done by specifing masks or times for the hour, day of the
1191 month, day of the week, week of the month, week of the year, and month when
1192 you want the job to run. By specifying one or more of the above, you can
1193 define a schedule to repeat at almost any frequency you want.
1195 Basically, you must supply a {\bf month}, {\bf day}, {\bf hour}, and {\bf
1196 minute} the Job is to be run. Of these four items to be specified, {\bf day}
1197 is special in that you may either specify a day of the month such as 1, 2,
1198 ... 31, or you may specify a day of the week such as Monday, Tuesday, ...
1199 Sunday. Finally, you may also specify a week qualifier to restrict the
1200 schedule to the first, second, third, fourth, or fifth week of the month.
1202 For example, if you specify only a day of the week, such as {\bf Tuesday} the
1203 Job will be run every hour of every Tuesday of every Month. That is the {\bf
1204 month} and {\bf hour} remain set to the defaults of every month and all
1207 Note, by default with no other specification, your job will run at the
1208 beginning of every hour. If you wish your job to run more than once in any
1209 given hour, you will need to specify multiple {\bf run} specifications each
1210 with a different minute.
1212 The date/time to run the Job can be specified in the following way in
1219 <week-keyword> = 1st | 2nd | 3rd | 4th | 5th | first |
1220 second | third | forth | fifth
1221 <wday-keyword> = sun | mon | tue | wed | thu | fri | sat |
1222 sunday | monday | tuesday | wednesday |
1224 <week-of-year-keyword> = w00 | w01 | ... w52 | w53
1225 <month-keyword> = jan | feb | mar | apr | may | jun | jul |
1226 aug | sep | oct | nov | dec | january |
1227 february | ... | december
1228 <daily-keyword> = daily
1229 <weekly-keyword> = weekly
1230 <monthly-keyword> = monthly
1231 <hourly-keyword> = hourly
1232 <digit> = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
1233 <number> = <digit> | <digit><number>
1234 <12hour> = 0 | 1 | 2 | ... 12
1235 <hour> = 0 | 1 | 2 | ... 23
1236 <minute> = 0 | 1 | 2 | ... 59
1237 <day> = 1 | 2 | ... 31
1238 <time> = <hour>:<minute> |
1239 <12hour>:<minute>am |
1241 <time-spec> = <at-keyword> <time> |
1243 <date-keyword> = <void-keyword> <weekly-keyword>
1244 <day-range> = <day>-<day>
1245 <month-range> = <month-keyword>-<month-keyword>
1246 <wday-range> = <wday-keyword>-<wday-keyword>
1247 <range> = <day-range> | <month-range> |
1249 <date> = <date-keyword> | <day> | <range>
1250 <date-spec> = <date> | <date-spec>
1251 <day-spec> = <day> | <wday-keyword> |
1252 <day-range> | <wday-range> |
1254 <day-spec> = <day> | <wday-keyword> |
1255 <week-keyword> <wday-keyword>
1256 <month-spec> = <month-keyword> | <month-range> |
1258 <date-time-spec> = <month-spec> <day-spec> <time-spec>
1264 Note, the Week of Year specification wnn follows the ISO standard definition
1265 of the week of the year, where Week 1 is the week in which the first Thursday
1266 of the year occurs, or alternatively, the week which contains the 4th of
1267 January. Weeks are numbered w01 to w53. w00 for Bacula is the week that
1268 precedes the first ISO week (i.e. has the first few days of the year if any
1269 occur before Thursday). w00 is not defined by the ISO specification. A week
1270 starts with Monday and ends with Sunday.
1272 An example schedule resource that is named {\bf WeeklyCycle} and runs a job
1273 with level full each Sunday at 1:05am and an incremental job Monday through
1274 Saturday at 1:05am is:
1279 Name = "WeeklyCycle"
1280 Run = Level=Full sun at 1:05
1281 Run = Level=Incremental mon-sat at 1:05
1286 An example of a possible monthly cycle is as follows:
1291 Name = "MonthlyCycle"
1292 Run = Level=Full Pool=Monthly 1st sun at 1:05
1293 Run = Level=Differential 2nd-5th sun at 1:05
1294 Run = Level=Incremental Pool=Daily mon-sat at 1:05
1299 The first of every month:
1305 Run = Level=Full on 1 at 1:05
1306 Run = Level=Incremental on 2-31 at 1:05
1317 Run = Level=Full hourly at 0:05
1318 Run = Level=Full hourly at 0:15
1319 Run = Level=Full hourly at 0:25
1320 Run = Level=Full hourly at 0:35
1321 Run = Level=Full hourly at 0:45
1322 Run = Level=Full hourly at 0:55
1327 \subsection*{Technical Notes on Schedules}
1328 \index[general]{Schedules!Technical Notes on }
1329 \index[general]{Technical Notes on Schedules }
1330 \addcontentsline{toc}{subsection}{Technical Notes on Schedules}
1332 Internally Bacula keeps a schedule as a bit mask. There are six masks and a
1333 minute field to each schedule. The masks are hour, day of the month (mday),
1334 month, day of the week (wday), week of the month (wom), and week of the year
1335 (woy). The schedule is initialized to have the bits of each of these masks
1336 set, which means that at the beginning of every hour, the job will run. When
1337 you specify a month for the first time, the mask will be cleared and the bit
1338 corresponding to your selected month will be selected. If you specify a second
1339 month, the bit corresponding to it will also be added to the mask. Thus when
1340 Bacula checks the masks to see if the bits are set corresponding to the
1341 current time, your job will run only in the two months you have set. Likewise,
1342 if you set a time (hour), the hour mask will be cleared, and the hour you
1343 specify will be set in the bit mask and the minutes will be stored in the
1346 For any schedule you have defined, you can see how these bits are set by doing
1347 a {\bf show schedules} command in the Console program. Please note that the
1348 bit mask is zero based, and Sunday is the first day of the week (bit zero).
1350 \section*{The FileSet Resource}
1351 \label{FileSetResource}
1352 \index[general]{Resource!FileSet }
1353 \index[general]{FileSet Resource }
1354 \addcontentsline{toc}{section}{FileSet Resource}
1356 The FileSet resource defines what files are to be included in a backup job. At
1357 least one {\bf FileSet} resource is required for each backup Job. It consists
1358 of a list of files or directories to be included, a list of files or
1359 directories to be excluded and the various backup options such as compression,
1360 encryption, and signatures that are to be applied to each file.
1362 Any change to the list of the included files will cause Bacula to
1363 automatically create a new FileSet (defined by the name and an MD5 checksum of
1364 the Include contents). Each time a new FileSet is created, Bacula will ensure
1365 that the first backup is always a Full save.
1370 \index[dir]{FileSet }
1371 Start of the FileSet resource. At least one {\bf FileSet} resource must be
1374 \item [Name = \lt{}name\gt{}]
1376 The name of the FileSet resource. This directive is required.
1378 \item [Ignore FileSet Changes = \lt{}yes|no\gt{}
1380 \index[dir]{Ignore FileSet Changes }
1381 If this directive is set to {\bf yes}, any changes you make to the FileSet
1382 Include or Exclude lists will be ignored and not cause Bacula to immediately
1383 perform a Full backup. The default is {\bf no}, in which case, if you change
1384 the Include or Exclude, Bacula will force a Full backup to ensure that
1385 everything is properly backed up. It is not recommended to set this directive
1386 to yes. This directive is available in Bacula version 1.35.4 or later.
1388 \item [{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1389 \lt{}file-list\gt{} \}
1391 \index[dir]{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1392 \lt{}file-list\gt{} \} }
1394 \item [Options \ \{ \lt{}file-options\gt{} \}
1396 \index[dir]{Options \ \{ \lt{}file-options\gt{} \} }
1398 \item [Exclude \ \{ \lt{}file-list\gt{} \}]
1399 \index[dir]{Exclude \ \{ \lt{}file-list\gt{} \} }
1401 The Include resource must contain a list of directories and/or files to be
1402 processed in the backup job. Normally, all files found in all subdirectories
1403 of any directory in the Include File list will be backed up. The Include
1404 resource may also oner more Options resources that specify options such as
1405 compression to be applied to all or any subset of the files found for backup.
1407 There can be any number of {\bf Include} resources within the FileSet, each
1408 having its own list of directories or files to be backed up and the backup
1409 options defined by one or more Options resources. The {\bf file-list} consists
1410 of one file or directory name per line. Directory names should be specified
1411 without a trailing slash.
1413 You should always specify a full path for every directory and file that you
1414 list in the FileSet. In addition, on Windows machines, you should {\bf always}
1415 prefix the directory or filename with the drive specification (e.g. {\bf
1416 c:/xxx}) using Unix directory name separators (forward slash).
1418 Bacula's default for processing directories is to recursively descend in the
1419 directory saving all files and subdirectories. Bacula will not by default
1420 cross filesystems (or mount points in Unix parlance). This means that if you
1421 specify the root partition (e.g. {\bf /}), Bacula will save only the root
1422 partition and not any of the other mounted filesystems. Similarly on Windows
1423 systems, you must explicitly specify each of the drives you want saved (e.g.
1424 {\bf c:/} and {\bf d:/} ...). In addition, at least for Windows systems, you
1425 will most likely want to enclose each specification within double quotes
1426 particularly if the directory (or file) name contains spaces. The {\bf df}
1427 command on Unix systems will show you which mount points you must specify to
1428 save everything. See below for an example.
1430 Take special care not to include a directory twice or Bacula will backup the
1431 same files two times wasting a lot of space on your archive device. Including
1432 a directory twice is very easy to do. For example:
1439 Options { compression=GZIP }
1444 on a Unix system where /usr is a subdirectory (rather than a mounted
1445 filesystem) will cause /usr to be backed up twice. In this case, on Bacula
1446 versions prior to 1.32f-5-09Mar04 due to a bug, you will not be able to
1447 restore hard linked files that were backed up twice.
1449 If you have used Bacula prior to version 1.34.3, you will note three things in
1450 the new FileSet syntax:
1453 \item There is no equal sign (=) after the include and before the opening
1455 \item Each directory (or filename) to be backed up is preceded by a {\bf File
1456 =}. Previously they were simply listed on separate lines.
1457 \item The options that previously appeared on the Include line now must be
1458 specified within their own Options resource.
1461 The Options resource is optional, but when specified, it will contain a list
1462 of {\bf keyword=value} options to be applied to the file-list. Multiple
1463 Options resources may be specified one after another. As the files are found
1464 in the specified directories, the Options will applied to the filenames to
1465 determine if and how the file should be backed up. The Options resources are
1466 applied in the order they are specified in the FileSet until the first one
1467 that matches. An Options resource that does not contain a {\bf wild} directive
1468 (wild-card specification, see below) is assumed to match any filename. This is
1469 important to understand, because once Bacula determine that the Options
1470 matches the file under consideration, that file will be saved without looking
1471 at any other Options resources that may be present. This means that any wild
1472 cards must appear before an Option resource without wild cards.
1474 If for some reason, Bacula applies all the Options resources to a file under
1475 consideration for backup, but there are no matches (generally because of wild
1476 cards that don't match), Bacula as a default will then backup the file. This
1477 is quite logical if you consider the case of no Options, where you want
1478 everything to be backed up. However, one additional point is that in the case
1479 that no match was found, Bacula will use the options found in the last Options
1480 resource. As a consequence, if you want a particular set of ``default''
1481 options, you should put them in an Options resource after any other Options.
1483 The directives within an Options resource may be one of the following:
1487 \item [compression=GZIP]
1488 \index[fd]{compression }
1489 All files saved will be software compressed using the GNU ZIP compression
1490 format. The compression is done on a file by file basis by the File daemon.
1491 If there is a problem reading the tape in a single record of a file, it will
1492 at most affect that file and none of the other files on the tape. Normally
1493 this option is {\bf not} needed if you have a modern tape drive as the drive
1494 will do its own compression. In fact, if you specify software compression at
1495 the same time you have hardware compression turned on, your files may
1496 actually take more space on the volume.
1498 Software compression is very important if you are writing your Volumes to a
1499 file, and it can also be helpful if you have a fast computer but a slow
1502 Specifying {\bf GZIP} uses the default compression level six (i.e. {\bf GZIP}
1503 is identical to {\bf GZIP6}). If you want a different compression level (1
1504 through 9), you can specify it by appending the level number with no
1505 intervening spaces to {\bf GZIP}. Thus {\bf compression=GZIP1} would give
1506 minimum compression but the fastest algorithm, and {\bf compression=GZIP9}
1507 would give the highest level of compression, but requires more computation.
1508 According to the GZIP documentation, compression levels greater than 6
1509 generally give very little extra compression and are rather CPU intensive.
1511 \item [signature=SHA1]
1512 \index[fd]{signature }
1513 An SHA1 signature will be computed for all The SHA1 algorithm is purported to
1514 be some what slower than the MD5 algorithm, but at the same time is
1515 significantly better from a cryptographic point of view (i.e. much fewer
1516 collisions, much lower probability of being hacked.) It adds four more bytes
1517 than the MD5 signature. We strongly recommend that either this option or MD5
1518 be specified as a default for all files. Note, only one of the two options
1519 MD5 or SHA1 can be computed for any file.
1521 \item [signature=MD5]
1522 \index[fd]{signature }
1523 An MD5 signature will be computed for all files saved. Adding this option
1524 generates about 5\% extra overhead for each file saved. In addition to the
1525 additional CPU time, the MD5 signature adds 16 more bytes per file to your
1526 catalog. We strongly recommend that this option or the SHA1 option be
1527 specified as a default for all files.
1529 \item [verify=\lt{}options\gt{}]
1531 The options letters specified are used when running a {\bf Verify
1532 Level=Catalog} as well as the {\bf DiskToCatalog} level job. The options
1533 letters may be any combination of the following:
1541 compare the permission bits
1544 compare the number of links
1550 compare the group id
1556 compare the access time
1559 compare the modification time (st\_mtime)
1562 compare the change time (st\_ctime)
1565 report file size decreases
1568 compare the MD5 signature
1571 compare the SHA1 signature
1574 A useful set of general options on the {\bf Level=Catalog} or {\bf
1575 Level=DiskToCatalog} verify is {\bf pins5} i.e. compare permission bits,
1576 inodes, number of links, size, and MD5 changes.
1578 \item {\bf onefs=yes|no}
1580 If set to {\bf yes} (the default), {\bf Bacula} will remain on a single file
1581 system. That is it will not backup file systems that are mounted on a
1582 subdirectory. If you wish to backup multiple filesystems, you can explicitly
1583 list each file system you want saved. Otherwise, if you set the onefs option
1584 to {\bf no}, Bacula will backup all mounted file systems (i.e. traverse mount
1585 points) that are found within the {\bf FileSet}. Thus if you have NFS or
1586 Samba file systems mounted on a directory listed in your FileSet, they will
1587 also be backed up. Normally, it is preferable to set {\bf onefs=yes} and to
1588 explicitly name each filesystem you want backed up. Explicitly naming the
1589 filesystems you want backed up avoids the possibility of getting into a
1590 infinite loop recursing filesystems. See the example below for more details.
1593 \item {\bf portable=yes|no}
1594 \index[dir]{portable }
1595 If set to {\bf yes} (default is {\bf no}), the Bacula File daemon will backup
1596 Win32 files in a portable format, but not all Win32 file attributes will be
1597 saved and restored. By default, this option is set to {\bf no}, which means
1598 that on Win32 systems, the data will be backed up using Windows API calls and
1599 on WinNT/2K/XP, all the security and ownership attributes will be properly
1600 backed up (and restored). However this format is not portable to other
1601 systems -- e.g. Unix, Win95/98/Me. When backing up Unix systems, this option
1602 is ignored, and unless you have a specific need to have portable backups, we
1603 recommend accept the default ({\bf no}) so that the maximum information
1604 concerning your files is saved.
1606 \item {\bf recurse=yes|no}
1607 \index[fd]{recurse }
1608 If set to {\bf yes} (the default), Bacula will recurse (or descend) into all
1609 subdirectories found unless the directory is explicitly excluded using an
1610 {\bf exclude} definition. If you set {\bf recurse=no}, Bacula will save the
1611 subdirectory entries, but not descend into the subdirectories, and thus will
1612 not save the files or directories contained in the subdirectories. Normally,
1613 you will want the default ({\bf yes}).
1615 \item {\bf sparse=yes|no}
1616 \index[dir]{sparse }
1617 Enable special code that checks for sparse files such as created by ndbm. The
1618 default is {\bf no}, so no checks are made for sparse files. You may specify
1619 {\bf sparse=yes} even on files that are not sparse file. No harm will be
1620 done, but there will be a small additional overhead to check for buffers of
1621 all zero, and a small additional amount of space on the output archive will
1622 be used to save the seek address of each non-zero record read.
1624 {\bf Restrictions:} Bacula reads files in 32K buffers. If the whole buffer is
1625 zero, it will be treated as a sparse block and not written to tape. However,
1626 if any part of the buffer is non-zero, the whole buffer will be written to
1627 tape, possibly including some disk sectors (generally 4098 bytes) that are
1628 all zero. As a consequence, Bacula's detection of sparse blocks is in 32K
1629 increments rather than the system block size. If anyone considers this to be
1630 a real problem, please send in a request for change with the reason. The
1631 sparse code was first implemented in version 1.27.
1633 If you are not familiar with sparse files, an example is say a file where you
1634 wrote 512 bytes at address zero, then 512 bytes at address 1 million. The
1635 operating system will allocate only two blocks, and the empty space or hole
1636 will have nothing allocated. However, when you read the sparse file and read
1637 the addresses where nothing was written, the OS will return all zeros as if
1638 the space were allocated, and if you backup such a file, a lot of space will
1639 be used to write zeros to the volume. Worse yet, when you restore the file,
1640 all the previously empty space will now be allocated using much more disk
1641 space. By turning on the {\bf sparse} option, Bacula will specifically look
1642 for empty space in the file, and any empty space will not be written to the
1643 Volume, nor will it be restored. The price to pay for this is that Bacula
1644 must search each block it reads before writing it. On a slow system, this may
1645 be important. If you suspect you have sparse files, you should benchmark the
1646 difference or set sparse for only those files that are really sparse.
1649 \item {\bf readfifo=yes|no}
1650 \index[fd]{readfifo }
1651 If enabled, tells the Client to read the data on a backup and write the data
1652 on a restore to any FIFO (pipe) that is explicitly mentioned in the FileSet.
1653 In this case, you must have a program already running that writes into the
1654 FIFO for a backup or reads from the FIFO on a restore. This can be
1655 accomplished with the {\bf RunBeforeJob} directive. If this is not the case,
1656 Bacula will hang indefinitely on reading/writing the FIFO. When this is not
1657 enabled (default), the Client simply saves the directory entry for the FIFO.
1659 \item {\bf mtimeonly=yes|no}
1660 \index[dir]{mtimeonly }
1661 If enabled, tells the Client that the selection of files during Incremental
1662 and Differential backups should based only on the st\_mtime value in the
1663 stat() packet. The default is {\bf no} which means that the selection of
1664 files to be backed up will be based on both the st\_mtime and the st\_ctime
1665 values. In general, it is not recommended to use this option.
1667 \item {\bf keepatime=yes|no}
1668 \index[dir]{keepatime }
1669 The default is {\bf no}. When enabled, Bacula will reset the st\_atime
1670 (access time) field of files that it backs up to their value prior to the
1671 backup. This option is not generally recommended as there are very few
1672 programs that use st\_atime, and the backup overhead is increased because of
1673 the additional system call necessary to reset the times. (I'm not sure this
1676 \item {\bf wild=\lt{}string\gt{}}
1678 Specifies a wild-card string to be applied to the Files. Note, if {\bf
1679 Exclude} is not enabled, the wild-card will select which files are to be
1680 included. If {\bf Exclude=yes} is specified, the wild-card will select which
1681 files are to be excluded. Multiple wild-card directives may be specified, and
1682 they will be applied in turn until the first one that matches.
1684 \item {\bf regex=\lt{}string\gt{}}
1686 Specifies a POSIX extended regular expression to be applied to the Files.
1687 This directive is available in version 1.35 and later. If {\bf Exclude} is
1688 not enabled, the regex will select which files are to be included. If {\bf
1689 Exclude=yes} is specified, the regex will select which files are to be
1690 excluded. Multiple regex directives may be specified within an Options
1691 resource, and they will be applied in turn until the first one that matches.
1694 \item {\bf exclude=yes|no}
1695 \index[dir]{exclude }
1696 The default is {\bf no}. When enabled, any files matched within the Options
1697 will be excluded from the backup.
1700 \item {\bf aclsupport=yes|no}
1701 \index[dir]{aclsupport }
1702 The default is {\bf no}. If this option is set to yes, and you have the POSIX
1703 {\bf libacl} installed on your system, Bacula will backup the file and
1704 directory UNIX Access Control Lists (ACL) as defined in IEEE Std 1003.1e
1705 draft 17 and ``POSIX.1e'' (abandoned). This feature is available on UNIX only
1706 and depends on the ACL library. Bacula is automatically compiled with ACL
1707 support if the {\bf libacl} library is installed on your system (shown in
1708 config.out). While restoring the files Bacula will try to restore the ACLs,
1709 if there is no ACL support available on the system, Bacula restores the files
1710 and directories but not the ACL information. Please note, if you backup an
1711 EXT3 or XFS filesystem with ACLs, then you restore them to a different
1712 filesystem (perhaps reiserfs) that does not have ACLs, the ACLs will be
1716 {\bf \lt{}file-list\gt{}} is a list of directory and/or filename names
1717 specified with a {\bf File =} directive. To include names containing spaces,
1718 enclose the name between double-quotes.
1720 There are a number of special cases when specifying directories and files in a
1721 {\bf file-list}. They are:
1724 \item Any name preceded by an at-sign (@) is assumed to be the name of a
1725 file, which contains a list of files each preceded by a ``File =''. The named
1726 file is read once when the configuration file is parsed during the Director
1727 startup. Note, that the file is read on the Director's machine and not on
1728 the Client's. In fact, the @filename can appear anywhere within the conf file
1729 where a token would be read, and the contents of the named file will be
1730 logically inserted in the place of the @filename. What must be in the file
1731 depends on the location the @filename is specified in the conf file.
1732 \item Any name beginning with a vertical bar (|) is assumed to be the name of
1733 a program. This program will be executed on the Director's machine at the
1734 time the Job starts (not when the Director reads the configuration file), and
1735 any output from that program will be assumed to be a list of files or
1736 directories, one per line, to be included. This allows you to have a job that
1737 for example includes all the local partitions even if you change the
1738 partitioning by adding a disk. In general, you will need to prefix your
1739 command or commands with a {\bf sh -c} so that they are invoked by a shell.
1740 This will not be the case if you are invoking a script as in the second
1741 example below. Also, you must take care to escape (precede with a
1742 \textbackslash{}) wild-cards, shell character, and to ensure that any spaces
1743 in your command are escaped as well. If you use a single quotes (') within a
1744 double quote (``), Bacula will treat everything between the single quotes as
1745 one field so it will not be necessary to escape the spaces. In general,
1746 getting all the quotes and escapes correct is a real pain as you can see by
1747 the next example. As a consequence, it is often easier to put everything in a
1748 file and simply use the file name within Bacula. In that case the {\bf sh
1749 -c} will not be necessary providing the first line of the file is {\bf
1758 Options { signature = SHA1 }
1759 File = "|sh -c 'df -l | grep \"^/dev/hd[ab]\" | grep -v \".*/tmp\" \
1760 | awk \"{print \\$6}\"'"
1765 will produce a list of all the local partitions on a RedHat Linux system.
1766 Note, the above line was split, but should normally be written on one line.
1767 Quoting is a real problem because you must quote for Bacula which consists of
1768 preceding every \textbackslash{} and every '' with a \textbackslash{}, and
1769 you must also quote for the shell command. In the end, it is probably easier
1770 just to execute a small file with:
1778 File = "|my_partitions"
1783 where my\_partitions has:
1788 df -l | grep "^/dev/hd[ab]" | grep -v ".*/tmp" \
1793 If the vertical bar (|) in front of my\_partitions is preceded by a backslash
1794 as in \textbackslash{}|, the program will be executed on the Client's machine
1795 instead of on the Director's machine -- (this is implemented but not
1796 thoroughly tested, and is reported to work on Windows). Please note that if
1797 the filename is given within quotes, you will need to use two slashes. An
1798 example, provided by John Donagher, that backs up all the local UFS
1799 partitions on a remote system is:
1804 Name = "All local partitions"
1806 Options { signature=SHA1; onefs=yes; }
1807 File = "\\|bash -c \"df -klF ufs | tail +2 | awk '{print \$6}'\""
1813 Note, it requires two backslash characters after the double quote (one
1814 preserves the next one). If you are a Linux user, just change the {\bf ufs}
1815 to {\bf ext3} (or your preferred filesystem type) and you will be in
1817 \item Any file-list item preceded by a less-than sign (\lt{}) will be taken
1818 to be a file. This file will be read on the Director's machine at the time
1819 the Job starts, and the data will be assumed to be a list of directories or
1820 files, one per line, to be included. The names should not be quoted even if
1821 they contain spaces. This feature allows you to modify the external file and
1822 change what will be saved without stopping and restarting Bacula as would be
1823 necessary if using the @ modifier noted above.
1825 If you precede the less-than sign (\lt{}) with a backslash as in
1826 \textbackslash{}\lt{}, the file-list will be read on the Client machine
1827 instead of on the Director's machine. Please note that if the filename is
1828 given within quotes, you will need to use two slashes.
1829 \item If you explicitly specify a block device such as {\bf /dev/hda1}, then
1830 Bacula (starting with version 1.28) will assume that this is a raw partition
1831 to be backed up. In this case, you are strongly urged to specify a {\bf
1832 sparse=yes} include option, otherwise, you will save the whole partition
1833 rather than just the actual data that the partition contains. For example:
1838 Options { signature=MD5; sparse=yes }
1844 will backup the data in device /dev/hd6.
1846 Ludovic Strappazon has pointed out that this feature can be used to backup a
1847 full Microsoft Windows disk. Simply boot into the system using a Linux Rescue
1848 disk, then load a statically linked Bacula as described in the
1849 \ilink{ Disaster Recovery Using Bacula}{_ChapterStart38} chapter of
1850 this manual. Then save the whole disk partition. In the case of a disaster,
1851 you can then restore the desired partition by again booting with the rescue
1852 disk and doing a restore of the partition.
1853 \item If you explicitly specify a FIFO device name (created with mkfifo), and
1854 you add the option {\bf readfifo=yes} as an option, Bacula will read the FIFO
1855 and back its data up to the Volume. For example:
1864 File = /home/abc/fifo
1869 if {\bf /home/abc/fifo} is a fifo device, Bacula will open the fifo, read it,
1870 and store all data thus obtained on the Volume. Please note, you must have a
1871 process on the system that is writing into the fifo, or Bacula will hang,
1872 and after one minute of waiting, Bacula will give up and go on to the next
1873 file. The data read can be anything since Bacula treats it as a stream.
1875 This feature can be an excellent way to do a ``hot'' backup of a very large
1876 database. You can use the {\bf RunBeforeJob} to create the fifo and to start
1877 a program that dynamically reads your database and writes it to the fifo.
1878 Bacula will then write it to the Volume.
1880 During the restore operation, the inverse is true, after Bacula creates the
1881 fifo if there was any data stored with it (no need to explicitly list it or
1882 add any options), that data will be written back to the fifo. As a
1883 consequence, if any such FIFOs exist in the fileset to be restored, you must
1884 ensure that there is a reader program or Bacula will block, and after one
1885 minute, Bacula will time out the write to the fifo and move on to the next
1891 The following is an example of a valid FileSet resource definition. Note, the
1892 first Include pulls in the contents of the file {\bf /etc/backup.list} when
1893 Bacula is started (i.e. the @).
1905 File = @/etc/backup.list
1913 File = /usr/lib/another_file
1919 Note, in the above example, all the files contained in /etc/backup.list will
1920 be compressed with GZIP compression, an SHA1 signature will be computed on the
1921 file's contents (its data), and sparse file handling will apply.
1923 The two directories /root/myfile and /usr/lib/another\_file will also be saved
1924 without any options, but all files in those directories with the extension
1925 {\bf .o} will be excluded.
1927 Suppose you want to save everything except {\bf /tmp} on your system. Doing a
1928 {\bf df} command, you get the following output:
1933 Filesystem 1k-blocks Used Available Use% Mounted on
1934 /dev/hda5 5044156 439232 4348692 10% /
1935 /dev/hda1 62193 4935 54047 9% /boot
1936 /dev/hda9 20161172 5524660 13612372 29% /home
1937 /dev/hda2 62217 6843 52161 12% /rescue
1938 /dev/hda8 5044156 42548 4745376 1% /tmp
1939 /dev/hda6 5044156 2613132 2174792 55% /usr
1940 none 127708 0 127708 0% /dev/shm
1941 //minimatou/c$ 14099200 9895424 4203776 71% /mnt/mmatou
1942 lmatou:/ 1554264 215884 1258056 15% /mnt/matou
1943 lmatou:/home 2478140 1589952 760072 68% /mnt/matou/home
1944 lmatou:/usr 1981000 1199960 678628 64% /mnt/matou/usr
1945 lpmatou:/ 995116 484112 459596 52% /mnt/pmatou
1946 lpmatou:/home 19222656 2787880 15458228 16% /mnt/pmatou/home
1947 lpmatou:/usr 2478140 2038764 311260 87% /mnt/pmatou/usr
1948 deuter:/ 4806936 97684 4465064 3% /mnt/deuter
1949 deuter:/home 4806904 280100 4282620 7% /mnt/deuter/home
1950 deuter:/files 44133352 27652876 14238608 67% /mnt/deuter/files
1954 If you specify only {\bf /} in your Include list, Bacula will only save the
1955 Filesystem {\bf /dev/hda5}. To save all file systems except {\bf /tmp} with
1956 out including any of the Samba or NFS mounted systems, and explicitly
1957 excluding a /tmp, /proc, .journal, and .autofsck, which you will not want to
1958 be saved and restored, you can use the following:
1963 Name = Include_example
1982 Since /tmp is on its own filesystem and it was not explicitly named in the
1983 Include list, it is not really needed in the exclude list. It is better to
1984 list it in the Exclude list for clarity, and in case the disks are changed so
1985 that it is no longer in its own partition.
1987 Please be aware that allowing Bacula to traverse or change file systems can be
1988 {\bf very} dangerous. For example, with the following:
1993 Name = "Bad example"
1995 Options { onefs=no }
2002 you will be backing up an NFS mounted partition ({\bf /mnt/matou}), and since
2003 {\bf onefs} is set to {\bf no}, Bacula will traverse file systems. Now if {\bf
2004 /mnt/matou} has the current machine's file systems mounted, as is often the
2005 case, you will get yourself into a recursive loop and the backup will never
2008 The following FileSet definition will backup a raw partition:
2013 Name = "RawPartition"
2015 Options { sparse=yes }
2022 While backing up and restoring a raw partition, you should ensure that no
2023 other process including the system is writing to that partition. As a
2024 precaution, you are strongly urged to ensure that the raw partition is not
2025 mounted or is mounted read-only. If necessary, this can be done using the {\bf
2026 RunBeforeJob} directive.
2029 \subsection*{Windows Considerations for FileSets}
2030 \index[general]{FileSets!Windows Considerations for }
2031 \index[general]{Windows Considerations for FileSets }
2032 \addcontentsline{toc}{subsection}{Windows Considerations for FileSets}
2034 If you are entering Windows file names, the directory path may be preceded by
2035 the drive and a colon (as in c:). However, the path separators must be
2036 specified in Unix convention (i.e. forward slash (/)). If you wish to include
2037 a quote in a file name, precede the quote with a backslash
2038 (\textbackslash{}\textbackslash{}). For example you might use the following
2039 for a Windows machine to backup the ``My Documents'' directory:
2044 Name = "Windows Set"
2051 File = "c:/My Documents"
2057 For exclude lists to work correctly on Windows, you must observe the following
2061 \item Filenames are case sensitive, so you must use the correct case.
2062 \item To exclude a directory, you must not have a trailing slash on the
2064 \item If you have spaces in your filename, you must enclose the entire name
2065 in double-quote characters (``). Trying to use a backslash before the space
2067 \item If you are using the old Exclude syntax (noted below), you may not
2068 specify a drive letter in the exclude. The new syntax noted above should work
2069 fine including driver letters.
2072 Thanks to Thiago Lima for summarizing the above items for us. If you are
2073 having difficulties getting includes or excludes to work, you might want to
2074 try using the {\bf estimate job=xxx listing} command documented in the
2075 \ilink{Console chapter}{estimate} of this manual.
2077 On Win32 systems, if you move a directory or file or rename a file into the
2078 set of files being backed up, and a Full backup has already been made, Bacula
2079 will not know there are new files to be saved during an Incremental or
2080 Differential backup (blame Microsoft, not me). To avoid this problem, please
2081 {\bf copy} any new directory or files into the backup area. If you do not have
2082 enough disk to copy the directory or files, move them, but then initiate a
2085 \subsubsection*{Excluding Files and Directories}
2086 \index[general]{Directories!Excluding Files and }
2087 \index[general]{Excluding Files and Directories }
2088 \addcontentsline{toc}{subsubsection}{Excluding Files and Directories}
2090 You may also include full filenames or directory names in addition to using
2091 wild-cards and {\bf Exclude=yes} in the Options resource as specified above by
2092 simply including the files to be excluded in an Exclude resource within the
2093 FileSet. For example:
2098 Name = Exclusion_example
2119 \subsection*{A Windows Example FileSet}
2120 \index[general]{FileSet!Windows Example }
2121 \index[general]{Windows Example FileSet }
2122 \addcontentsline{toc}{subsection}{Windows Example FileSet}
2124 The following example was contributed by Phil Stracchino:
2128 This is my Windows 2000 fileset:
2130 Name = "Windows 2000 Full Set"
2138 # Most of these files are excluded not because we don't want
2139 # them, but because Win2K won't allow them to be backed up
2140 # except via proprietary Win32 API calls.
2141 File = "/Documents and Settings/*/Application Data/*/Profiles/
2143 File = "/Documents and Settings/*/Local Settings/Application Data/
2144 Microsoft/Windows/[Uu][Ss][Rr][Cc][Ll][Aa][Ss][Ss].*"
2145 File = "/Documents and Settings/*/[Nn][Tt][Uu][Ss][Ee][Rr].*"
2146 File = "/Documents and Settings/*/Cookies/*"
2147 File = "/Documents and Settings/*/Local Settings/History/*"
2148 File = "/Documents and Settings/*/Local Settings/
2149 Temporary Internet Files/*"
2150 File = "/Documents and Settings/*/Local Settings/Temp/*"
2152 File = "/WINNT/security/logs/scepol.log"
2153 File = "/WINNT/system32/config/*"
2154 File = "/WINNT/msdownld.tmp/*"
2155 File = "/WINNT/Internet Logs/*"
2156 File = "/WINNT/$Nt*Uninstall*"
2157 File = "/WINNT/Temp/*"
2160 File = "/pagefile.sys"
2166 Note, the three line of the above Exclude were split to fit on the document
2167 page, they should be written on a single line in real use.
2169 \subsection*{The Old FileSet Resource}
2170 \index[general]{Resource!Old FileSet }
2171 \index[general]{Old FileSet Resource }
2172 \addcontentsline{toc}{subsection}{Old FileSet Resource}
2174 The old pre-version 1.34.3 FileSet Resource has been deprecated but will still
2175 work. You are encouraged to convert to using the new form since the old code
2176 will be removed in version 1.37.
2178 \subsection*{Testing Your FileSet}
2179 \index[general]{FileSet!Testing Your }
2180 \index[general]{Testing Your FileSet }
2181 \addcontentsline{toc}{subsection}{Testing Your FileSet}
2183 If you wish to get an idea of what your FileSet will really backup or if your
2184 exclusion rules will work correctly, you can test it by using the {\bf
2185 estimate} command in the Console program. See the
2186 \ilink{estimate command}{estimate} in the Console chapter of this
2189 \subsection*{Windows NTFS Naming Considerations}
2190 \index[general]{Windows NTFS Naming Considerations }
2191 \index[general]{Considerations!Windows NTFS Naming }
2192 \addcontentsline{toc}{subsection}{Windows NTFS Naming Considerations}
2194 NTFS filenames containing Unicode characters (i.e. \gt{} 0xFF) cannot be
2195 explicitly named at the moment. You must include such names by naming a higher
2196 level directory or a drive letter that does not contain Unicode characters.
2198 \section*{The Client Resource}
2199 \label{ClientResource2}
2200 \index[general]{Resource!Client }
2201 \index[general]{Client Resource }
2202 \addcontentsline{toc}{section}{Client Resource}
2204 The Client resource defines the attributes of the Clients that are served by
2205 this Director; that is the machines that are to be backed up. You will need
2206 one Client resource definition for each machine to be backed up.
2210 \item [Client (or FileDaemon)]
2211 \index[dir]{Client (or FileDaemon) }
2212 Start of the Client directives.
2214 \item [Name = \lt{}name\gt{}]
2216 The client name which will be used in the Job resource directive or in the
2217 console run command. This directive is required.
2219 \item [Address = \lt{}address\gt{}]
2220 \index[console]{Address }
2221 Where the address is a host name, a fully qualified domain name, or a network
2222 address in dotted quad notation for a Bacula File server daemon. This
2223 directive is required.
2225 \item [FD Port = \lt{}port-number\gt{}]
2226 \index[console]{FD Port }
2227 Where the port is a port number at which the Bacula File server daemon can be
2228 contacted. The default is 9102.
2230 \item [Catalog = \lt{}Catalog-resource-name\gt{}]
2231 \index[console]{Catalog }
2232 This specifies the name of the catalog resource to be used for this Client.
2233 This directive is required.
2235 \item [Password = \lt{}password\gt{}]
2236 \index[console]{Password }
2237 This is the password to be used when establishing a connection with the File
2238 services, so the Client configuration file on the machine to be backed up
2239 must have the same password defined for this Director. This directive is
2240 required. If you have either {\bf /dev/random} {\bf bc} on your machine,
2241 Bacula will generate a random password during the configuration process,
2242 otherwise it will be left blank.
2243 \label{FileRetention}
2245 \item [File Retention = \lt{}time-period-specification\gt{} ]
2246 \index[fd]{File Retention }
2247 The File Retention directive defines the length of time that Bacula will keep
2248 File records in the Catalog database. When this time period expires, and if
2249 {\bf AutoPrune} is set to {\bf yes} Bacula will prune (remove) File records
2250 that are older than the specified File Retention period. Note, this affects
2251 only records in the catalog database. It does not effect your archive
2254 File records may actually be retained for a shorter period than you specify
2255 on this directive if you specify either a shorter {\bf Job Retention} or
2256 shorter {\bf Volume Retention} period. The shortest retention period of the
2257 three takes precedence. The time may be expressed in seconds, minutes,
2258 hours, days, weeks, months, quarters, or years. See the
2259 \ilink{ Configuration chapter}{Time} of this manual for
2260 additional details of time specification.
2262 The default is 60 days.
2263 \label{JobRetention}
2265 \item [Job Retention = \lt{}time-period-specification\gt{} ]
2266 \index[fd]{Job Retention }
2267 The Job Retention directive defines the length of time that Bacula will keep
2268 Job records in the Catalog database. When this time period expires, and if
2269 {\bf AutoPrune} is set to {\bf yes} Bacula will prune (remove) Job records
2270 that are older than the specified File Retention period. As with the other
2271 retention periods, this affects only records in the catalog and not data in
2272 your archive backup.
2274 If a Job record is selected for pruning, all associated File and JobMedia
2275 records will also be pruned regardless of the File Retention period set. As a
2276 consequence, you normally will set the File retention period to be less than
2277 the Job retention period. The Job retention period can actually be less than
2278 the value you specify here if you set the {\bf Volume Retention} directive in
2279 the Pool resource to a smaller duration. This is because the Job retention
2280 period and the Volume retention period are independently applied, so the
2281 smaller of the two takes precedence.
2283 The Job retention period is specified as seconds, minutes, hours, days,
2284 weeks, months, quarters, or years. See the
2285 \ilink{ Configuration chapter}{Time} of this manual for
2286 additional details of time specification.
2288 The default is 180 days.
2291 \item [AutoPrune = \lt{}yes|no\gt{}]
2292 \index[fd]{AutoPrune }
2293 If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater)
2294 will automatically apply the File retention period and the Job retention
2295 period for the Client at the end of the Job. If you set {\bf AutoPrune = no},
2296 pruning will not be done, and your Catalog will grow in size each time you
2297 run a Job. Pruning affects only information in the catalog and not data
2298 stored in the backup archives (on Volumes).
2300 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2301 \index[fd]{Maximum Concurrent Jobs }
2302 where \lt{}number\gt{} is the maximum number of Jobs with the current Client
2303 that can run concurrently. Note, this directive limits only Jobs for Clients
2304 with the same name as the resource in which it appears. Any other
2305 restrictions on the maximum concurrent jobs such as in the Director, Job, or
2306 Storage resources will also apply in addition to any limit specified here.
2307 The default is set to 1, but you may set it to a larger number. We strongly
2308 recommend that you read the WARNING documented under
2309 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2312 \item [*Priority = \lt{}number\gt{}]
2313 \index[fd]{*Priority }
2314 The number specifies the priority of this client relative to other clients
2315 that the Director is processing simultaneously. The priority can range from
2316 1 to 1000. The clients are ordered such that the smaller number priorities
2317 are performed first (not currently implemented).
2320 The following is an example of a valid Client resource definition:
2328 Password = very_good
2333 \section*{The Storage Resource}
2334 \label{StorageResource2}
2335 \index[general]{Resource!Storage }
2336 \index[general]{Storage Resource }
2337 \addcontentsline{toc}{section}{Storage Resource}
2339 The Storage resource defines which Storage daemons are available for use by
2345 \index[fd]{Storage }
2346 Start of the Storage resources. At least one storage resource must be
2349 \item [Name = \lt{}name\gt{}]
2351 The name of the storage resource. This name appears on the Storage directive
2352 specified in the Job directive and is required.
2354 \item [Address = \lt{}address\gt{}]
2355 \index[sd]{Address }
2356 Where the address is a host name, a {\bf fully qualified domain name}, or an
2357 {\bf IP address}. Please note that the \lt{}address\gt{} as specified here
2358 will be transmitted to the File daemon who will then use it to contact the
2359 Storage daemon. Hence, it is {\bf not}, a good idea to use {\bf localhost} as
2360 the name but rather a fully qualified machine name or an IP address. This
2361 directive is required.
2363 \item [SD Port = \lt{}port\gt{}]
2364 \index[sd]{SD Port }
2365 Where port is the port to use to contact the storage daemon for information
2366 and to start jobs. This same port number must appear in the Storage resource
2367 of the Storage daemon's configuration file. The default is 9103.
2369 \item [Password = \lt{}password\gt{}]
2370 \index[sd]{Password }
2371 This is the password to be used when establishing a connection with the
2372 Storage services. This same password also must appear in the Director
2373 resource of the Storage daemon's configuration file. This directive is
2374 required. If you have either {\bf /dev/random} {\bf bc} on your machine,
2375 Bacula will generate a random password during the configuration process,
2376 otherwise it will be left blank.
2378 \item [Device = \lt{}device-name\gt{}]
2380 This directive specifies the name of the device to be used to for the
2381 storage. This name is not the physical device name, but the logical device
2382 name as defined on the {\bf Name} directive contained in the {\bf Device}
2383 resource definition of the {\bf Storage daemon} configuration file. You can
2384 specify any name you would like (even the device name if you prefer) up to a
2385 maximum of 127 characters in length. The physical device name associated with
2386 this device is specified in the {\bf Storage daemon} configuration file (as
2387 {\bf Archive Device}). Please take care not to define two different Storage
2388 resource directives in the Director that point to the same Device in the
2389 Storage daemon. Doing so may cause the Storage daemon to block (or hang)
2390 attempting to open the same device that is already open. This directive is
2393 \item [Media Type = \lt{}MediaType\gt{}]
2394 \index[fd]{Media Type }
2395 This directive specifies the Media Type to be used to store the data. This is
2396 an arbitrary string of characters up to 127 maximum that you define. It can
2397 be anything you want. However, it is best to make it descriptive of the
2398 storage media (e.g. File, DAT, ''HP DLT8000``, 8mm, ...). In addition, it is
2399 essential that you make the {\bf Media Type} specification unique for each
2400 storage media type. If you have two DDS-4 drives that have incompatible
2401 formats, or if you have a DDS-4 drive and a DDS-4 autochanger, you almost
2402 certainly should specify different {\bf Media Types}. During a restore,
2403 assuming a {\bf DDS-4} Media Type is associated with the Job, Bacula can
2404 decide to use any Storage daemon that support Media Type {\bf DDS-4} and on
2405 any drive supports it. If you want to tie Bacula to using a single Storage
2406 daemon or drive, you must specify a unique Media Type for that drive. This is
2407 an important point that should be carefully understood. You can find more on
2409 \ilink{Basic Volume Management}{_ChapterStart39} chapter of this
2412 The {\bf MediaType} specified here, {\bf must} correspond to the {\bf Media
2413 Type} specified in the {\bf Device} resource of the {\bf Storage daemon}
2414 configuration file. This directive is required, and it is used by the
2415 Director and the Storage daemon to ensure that a Volume automatically
2416 selected from the Pool corresponds to the physical device. If a Storage
2417 daemon handles multiple devices (e.g. will write to various file Volumes on
2418 different partitions), this directive allows you to specify exactly which
2421 As mentioned above, the value specified in the Director's Storage resource
2422 must agree with the value specified in the Device resource in the {\bf
2423 Storage daemon's} configuration file. It is also an additional check so that
2424 you don't try to write data for a DLT onto an 8mm device.
2425 \label{Autochanger1}
2427 \item [Autochanger = \lt{}yes|no\gt{} ]
2428 \index[fd]{Autochanger }
2429 If you specify {\bf yes} for this command (the default is {\bf no}), when you
2430 use the {\bf label} command or the {\bf add} command to create a new Volume,
2431 {\bf Bacula} will also request the Autochanger Slot number. This simplifies
2432 creating database entries for Volumes in an autochanger. If you forget to
2433 specify the Slot, the autochanger will not be used. However, you may modify
2434 the Slot associated with a Volume at any time by using the {\bf update
2435 volume} command in the console program. When {\bf autochanger} is enabled,
2436 the algorithm used by Bacula to search for available volumes will be modified
2437 to consider only Volumes that are known to be in the autochanger's magazine.
2438 If no {\bf in changer} volume is found, Bacula will attempt recycling,
2439 pruning, ..., and if still no volume is found, Bacula will search for any
2440 volume whether or not in the magazine. By privileging in changer volumes,
2441 this procedure minimizes operator intervention. The default is {\bf no}.
2443 For the autochanger to be used, you must also specify {\bf Autochanger = yes}
2445 \ilink{Device Resource}{Autochanger} in the Storage daemon's
2446 configuration file as well as other important Storage daemon configuration
2447 information. Please consult the
2448 \ilink{ Using Autochangers}{_ChapterStart18} manual of this
2449 chapter for the details of using autochangers.
2451 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2452 \index[fd]{Maximum Concurrent Jobs }
2453 where \lt{}number\gt{} is the maximum number of Jobs with the current Storage
2454 resource that can run concurrently. Note, this directive limits only Jobs
2455 for Jobs using this Storage daemon. Any other restrictions on the maximum
2456 concurrent jobs such as in the Director, Job, or Client resources will also
2457 apply in addition to any limit specified here. The default is set to 1, but
2458 you may set it to a larger number. We strongly recommend that you read the
2459 WARNING documented under
2460 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2463 While it is possible to set the Director's, Job's, or Client's maximum
2464 concurrent jobs greater than one, you should take great care in setting the
2465 Storage daemon's greater than one. By keeping this directive set to one, you
2466 will avoid having two jobs simultaneously write to the same Volume. Although
2467 this is supported, it is not currently recommended.
2470 The following is an example of a valid Storage resource definition:
2474 # Definition of tape storage device
2478 Password = storage_password # password for Storage daemon
2479 Device = "HP DLT 80" # same as Device in Storage daemon
2480 Media Type = DLT8000 # same as MediaType in Storage daemon
2485 \section*{The Pool Resource}
2486 \label{PoolResource}
2487 \index[general]{Resource!Pool }
2488 \index[general]{Pool Resource }
2489 \addcontentsline{toc}{section}{Pool Resource}
2491 The Pool resource defines the set of storage Volumes (tapes or files) to be
2492 used by Bacula to write the data. By configuring different Pools, you can
2493 determine which set of Volumes (media) receives the backup data. This permits,
2494 for example, to store all full backup data on one set of Volumes and all
2495 incremental backups on another set of Volumes. Alternatively, you could assign
2496 a different set of Volumes to each machine that you backup. This is most
2497 easily done by defining multiple Pools.
2499 Another important aspect of a Pool is that it contains the default attributes
2500 (Maximum Jobs, Retention Period, Recycle flag, ...) that will be given to a
2501 Volume when it is created. This avoids the need for you to answer a large
2502 number of questions when labeling a new Volume. Each of these attributes can
2503 later be changed on a Volume by Volume basis using the {\bf update} command in
2504 the console program. Note that you must explicitly specify which Pool Bacula
2505 is to use with each Job. Bacula will not automatically search for the correct
2508 Most often in Bacula installations all backups for all machines (Clients) go
2509 to a single set of Volumes. In this case, you will probably only use the {\bf
2510 Default} Pool. If your backup strategy calls for you to mount a different tape
2511 each day, you will probably want to define a separate Pool for each day. For
2512 more information on this subject, please see the
2513 \ilink{Backup Strategies}{_ChapterStart3} chapter of this
2516 To use a Pool, there are three distinct steps. First the Pool must be defined
2517 in the Director's configuration file. Then the Pool must be written to the
2518 Catalog database. This is done automatically by the Director each time that it
2519 starts, or alternatively can be done using the {\bf create} command in the
2520 console program. Finally, if you change the Pool definition in the Director's
2521 configuration file and restart Bacula, the pool will be updated alternatively
2522 you can use the {\bf update pool} console command to refresh the database
2523 image. It is this database image rather than the Director's resource image
2524 that is used for the default Volume attributes. Note, for the pool to be
2525 automatically created or updated, it must be explicitly referenced by a Job
2528 Next the physical media must be labeled. The labeling can either be done with
2529 the {\bf label} command in the {\bf console} program or using the {\bf btape}
2530 program. The preferred method is to use the {\bf label} command in the {\bf
2533 Finally, you must add Volume names (and their attributes) to the Pool. For
2534 Volumes to be used by Bacula they must be of the same {\bf Media Type} as the
2535 archive device specified for the job (i.e. if you are going to back up to a
2536 DLT device, the Pool must have DLT volumes defined since 8mm volumes cannot be
2537 mounted on a DLT drive). The {\bf Media Type} has particular importance if you
2538 are backing up to files. When running a Job, you must explicitly specify which
2539 Pool to use. Bacula will then automatically select the next Volume to use from
2540 the Pool, but it will ensure that the {\bf Media Type} of any Volume selected
2541 from the Pool is identical to that required by the Storage resource you have
2542 specified for the Job.
2544 If you use the {\bf label} command in the console program to label the
2545 Volumes, they will automatically be added to the Pool, so this last step is
2546 not normally required.
2548 It is also possible to add Volumes to the database without explicitly labeling
2549 the physical volume. This is done with the {\bf add} console command.
2551 As previously mentioned, each time Bacula starts, it scans all the Pools
2552 associated with each Catalog, and if the database record does not already
2553 exist, it will be created from the Pool Resource definition. {\bf Bacula}
2554 probably should do an {\bf update pool} if you change the Pool definition, but
2555 currently, you must do this manually using the {\bf update pool} command in
2556 the Console program.
2558 The Pool Resource defined in the Director's configuration file
2559 (bacula-dir.conf) may contain the following directives:
2565 Start of the Pool resource. There must be at least one Pool resource defined.
2568 \item [Name = \lt{}name\gt{}]
2570 The name of the pool. For most applications, you will use the default pool
2571 name {\bf Default}. This directive is required.
2573 \item [Number of Volumes = \lt{}number\gt{}]
2574 \index[dir]{Number of Volumes }
2575 This directive specifies the number of volumes (tapes or files) contained in
2576 the pool. Normally, it is defined and updated automatically by the Bacula
2577 catalog handling routines.
2580 \item [Maximum Volumes = \lt{}number\gt{}]
2581 \index[dir]{Maximum Volumes }
2582 This directive specifies the maximum number of volumes (tapes or files)
2583 contained in the pool. This directive is optional, if omitted or set to zero,
2584 any number of volumes will be permitted. In general, this directive is useful
2585 for Autochangers where there is a fixed number of Volumes, or for File
2586 storage where you wish to ensure that the backups made to disk files do not
2587 become too numerous or consume too much space.
2589 \item [Pool Type = \lt{}type\gt{}]
2590 \index[dir]{Pool Type }
2591 This directive defines the pool type, which corresponds to the type of Job
2592 being run. It is required and may be one of the following:
2603 \item [Use Volume Once = \lt{}yes|no\gt{}]
2604 \index[dir]{Use Volume Once }
2605 This directive if set to {\bf yes} specifies that each volume is to be used
2606 only once. This is most useful when the Media is a file and you want a new
2607 file for each backup that is done. The default is {\bf no} (i.e. use volume
2608 any number of times). This directive will most likely be phased out
2609 (deprecated), so you are recommended to use {\bf Maximum Volume Jobs = 1}
2612 Please note that the value defined by this directive in the bacula-dir.conf
2613 file is the default value used when a Volume is created. Once the volume is
2614 created, changing the value in the bacula-dir.conf file will not change what
2615 is stored for the Volume. To change the value for an existing Volume you
2616 must use the {\bf update} command in the Console.
2618 \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}]
2619 \index[fd]{Maximum Volume Jobs }
2620 This directive specifies the maximum number of Jobs that can be written to
2621 the Volume. If you specify zero (the default), there is no limit. Otherwise,
2622 when the number of Jobs backed up to the Volume equals {\bf positive-integer}
2623 the Volume will be marked {\bf Used}. When the Volume is marked {\bf Used} it
2624 can no longer be used for appending Jobs, much like the {\bf Full} status but
2625 it can be recycled if recycling is enabled. By setting {\bf
2626 MaximumVolumeJobs} to one, you get the same effect as setting {\bf
2627 UseVolumeOnce = yes}.
2629 Please note that the value defined by this directive in the bacula-dir.conf
2630 file is the default value used when a Volume is created. Once the volume is
2631 created, changing the value in the bacula-dir.conf file will not change what
2632 is stored for the Volume. To change the value for an existing Volume you
2633 must use the {\bf update} command in the Console.
2635 \item [Maximum Volume Files = \lt{}positive-integer\gt{}]
2636 \index[fd]{Maximum Volume Files }
2637 This directive specifies the maximum number of files that can be written to
2638 the Volume. If you specify zero (the default), there is no limit. Otherwise,
2639 when the number of files written to the Volume equals {\bf positive-integer}
2640 the Volume will be marked {\bf Used}. When the Volume is marked {\bf Used} it
2641 can no longer be used for appending Jobs, much like the {\bf Full} status but
2642 it can be recycled if recycling is enabled. This value is checked and the
2643 {\bf Used} status is set only at the end of a job that writes to the
2646 Please note that the value defined by this directive in the bacula-dir.conf
2647 file is the default value used when a Volume is created. Once the volume is
2648 created, changing the value in the bacula-dir.conf file will not change what
2649 is stored for the Volume. To change the value for an existing Volume you
2650 must use the {\bf update} command in the Console.
2652 \item [Maximum Volume Bytes = \lt{}size\gt{}]
2653 \index[fd]{Maximum Volume Bytes }
2654 This directive specifies the maximum number of bytes that can be written to
2655 the Volume. If you specify zero (the default), there is no limit except the
2656 physical size of the Volume. Otherwise, when the number of bytes written to
2657 the Volume equals {\bf size} the Volume will be marked {\bf Used}. When the
2658 Volume is marked {\bf Used} it can no longer be used for appending Jobs, much
2659 like the {\bf Full} status but it can be recycled if recycling is enabled.
2660 This value is checked and the {\bf Used} status set while the job is writing
2661 to the particular volume.
2663 Please note that the value defined by this directive in the bacula-dir.conf
2664 file is the default value used when a Volume is created. Once the volume is
2665 created, changing the value in the bacula-dir.conf file will not change what
2666 is stored for the Volume. To change the value for an existing Volume you
2667 must use the {\bf update} command in the Console.
2669 \item [Volume Use Duration = \lt{}time-period-specification\gt{}]
2670 \index[fd]{Volume Use Duration }
2671 The Volume Use Duration directive defines the time period that the Volume can
2672 be written beginning from the time of first data write to the Volume. If the
2673 time-period specified is zero (the default), the Volume can be written
2674 indefinitely. Otherwise, when the time period from the first write to the
2675 volume (the first Job written) exceeds the time-period-specification, the
2676 Volume will be marked {\bf Used}, which means that no more Jobs can be
2677 appended to the Volume, but it may be recycled if recycling is enabled.
2679 You might use this directive, for example, if you have a Volume used for
2680 Incremental backups, and Volumes used for Weekly Full backups. Once the Full
2681 backup is done, you will want to use a different Incremental Volume. This can
2682 be accomplished by setting the Volume Use Duration for the Incremental Volume
2683 to six days. I.e. it will be used for the 6 days following a Full save, then
2684 a different Incremental volume will be used.
2686 This value is checked and the {\bf Used} status is set only at the end of a
2687 job that writes to the particular volume, which means that even though the
2688 use duration may have expired, the catalog entry will not be updated until
2689 the next job that uses this volume is run.
2691 Please note that the value defined by this directive in the bacula-dir.conf
2692 file is the default value used when a Volume is created. Once the volume is
2693 created, changing the value in the bacula-dir.conf file will not change what
2694 is stored for the Volume. To change the value for an existing Volume you
2695 must use the {\bf update} command in the Console.
2697 \item [Catalog Files = \lt{}yes|no\gt{}]
2698 \index[fd]{Catalog Files }
2699 This directive defines whether or not you want the names of the files that
2700 were saved to be put into the catalog. The default is {\bf yes}. The
2701 advantage of specifying {\bf Catalog Files = No} is that you will have a
2702 significantly smaller Catalog database. The disadvantage is that you will not
2703 be able to produce a Catalog listing of the files backed up for each Job
2704 (this is often called Browsing). Also, without the File entries in the
2705 catalog, you will not be able to use the Console {\bf restore} command nor
2706 any other command that references File entries.
2707 \label{PoolAutoPrune}
2709 \item [AutoPrune = \lt{}yes|no\gt{}]
2710 \index[fd]{AutoPrune }
2711 If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater)
2712 will automatically apply the Volume Retention period when new Volume is
2713 needed and no appendable Volumes exist in the Pool. Volume pruning causes
2714 expired Jobs (older than the {\bf Volume Retention} period) to be deleted
2715 from the Catalog and permits possible recycling of the Volume.
2716 \label{VolRetention}
2718 \item [Volume Retention = \lt{}time-period-specification\gt{}]
2719 \index[fd]{Volume Retention }
2720 The Volume Retention directive defines the length of time that {\bf Bacula}
2721 will keep Job records associated with the Volume in the Catalog database.
2722 When this time period expires, and if {\bf AutoPrune} is set to {\bf yes}
2723 Bacula will prune (remove) Job records that are older than the specified
2724 Volume Retention period. All File records associated with pruned Jobs are
2725 also pruned. The time may be specified as seconds, minutes, hours, days,
2726 weeks, months, quarters, or years. The {\bf Volume Retention} applied
2727 independently to the {\bf Job Retention} and the {\bf File Retention} periods
2728 defined in the Client resource. This means that the shorter period is the
2729 one that applies. Note, that when the {\bf Volume Retention} period has been
2730 reached, it will prune both the Job and the File records.
2732 The default is 365 days. Note, this directive sets the default value for each
2733 Volume entry in the Catalog when the Volume is created. The value in the
2734 catalog may be later individually changed for each Volume using the Console
2737 By defining multiple Pools with different Volume Retention periods, you may
2738 effectively have a set of tapes that is recycled weekly, another Pool of
2739 tapes that is recycled monthly and so on. However, one must keep in mind that
2740 if your {\bf Volume Retention} period is too short, it may prune the last
2741 valid Full backup, and hence until the next Full backup is done, you will not
2742 have a complete backup of your system, and in addition, the next Incremental
2743 or Differential backup will be promoted to a Full backup. As a consequence,
2744 the minimum {\bf Volume Retention} period should be at twice the interval of
2745 your Full backups. This means that if you do a Full backup once a month, the
2746 minimum Volume retention period should be two months.
2748 Please note that the value defined by this directive in the bacula-dir.conf
2749 file is the default value used when a Volume is created. Once the volume is
2750 created, changing the value in the bacula-dir.conf file will not change what
2751 is stored for the Volume. To change the value for an existing Volume you
2752 must use the {\bf update} command in the Console.
2755 \item [Recycle = \lt{}yes|no\gt{}]
2756 \index[fd]{Recycle }
2757 This directive specifies the default for recycling Purged Volumes. If it is
2758 set to {\bf yes} and Bacula needs a volume but finds none that are
2759 appendable, it will search for Purged Volumes (i.e. volumes with all the Jobs
2760 and Files expired and thus deleted from the Catalog). If the Volume is
2761 recycled, all previous data written to that Volume will be overwritten.
2763 Please note that the value defined by this directive in the bacula-dir.conf
2764 file is the default value used when a Volume is created. Once the volume is
2765 created, changing the value in the bacula-dir.conf file will not change what
2766 is stored for the Volume. To change the value for an existing Volume you
2767 must use the {\bf update} command in the Console.
2768 \label{RecycleOldest}
2770 \item [Recycle Oldest Volume = \lt{}yes|no\gt{}]
2771 \index[fd]{Recycle Oldest Volume }
2772 This directive instructs the Director to search for the oldest used Volume
2773 in the Pool when another Volume is requested by the Storage daemon and none
2774 are available. The catalog is then {\bf pruned} respecting the retention
2775 periods of all Files and Jobs written to this Volume. If all Jobs are pruned
2776 (i.e. the volume is Purged), then the Volume is recycled and will be used as
2777 the next Volume to be written. This directive respects any Job, File, or
2778 Volume retention periods that you may have specified, and as such it is {\bf
2779 much} better to use this directive than the Purge Oldest Volume.
2781 This directive can be useful if you have a fixed number of Volumes in the
2782 Pool and you want to cycle through them and you have specified the correct
2784 \label{RecycleCurrent}
2786 \item [Recycle Current Volume = \lt{}yes|no\gt{}]
2787 \index[fd]{Recycle Current Volume }
2788 If Bacula needs a new Volume, this directive instructs Bacula to Prune the
2789 volume respecting the Job and File retention periods. If all Jobs are pruned
2790 (i.e. the volume is Purged), then the Volume is recycled and will be used as
2791 the next Volume to be written. This directive respects any Job, File, or
2792 Volume retention periods that you may have specified, and thus it is {\bf
2793 much} better to use it rather than the Purge Oldest Volume directive.
2795 This directive can be useful if you have: a fixed number of Volumes in the
2796 Pool, you want to cycle through them, and you have specified retention
2797 periods that prune Volumes before you have cycled through the Volume in the
2801 \item [Purge Oldest Volume = \lt{}yes|no\gt{}]
2802 \index[fd]{Purge Oldest Volume }
2803 This directive instructs the Director to search for the oldest used Volume
2804 in the Pool when another Volume is requested by the Storage daemon and none
2805 are available. The catalog is then {\bf purged} irrespective of retention
2806 periods of all Files and Jobs written to this Volume. The Volume is then
2807 recycled and will be used as the next Volume to be written. This directive
2808 overrides any Job, File, or Volume retention periods that you may have
2811 This directive can be useful if you have a fixed number of Volumes in the
2812 Pool and you want to cycle through them and when all Volumes are full, but
2813 you don't want to worry about setting proper retention periods. However, by
2814 using this option you risk losing valuable data.
2816 {\bf Please be aware that {\bf Purge Oldest Volume} disregards all retention
2817 periods.} If you have only a single Volume defined and you turn this variable
2818 on, that Volume will always be immediately overwritten when it fills! So at a
2819 minimum, ensure that you have a decent number of Volumes in your Pool before
2820 running any jobs. If you want retention periods to apply do not use this
2821 directive. To specify a retention period, use the {\bf Volume Retention}
2822 directive (see above).
2824 I highly recommend against using this directive, because it is sure that some
2825 day, Bacula will recycle a Volume that contains current data.
2827 \item [Accept Any Volume = \lt{}yes|no\gt{}]
2828 \index[fd]{Accept Any Volume }
2829 This directive specifies whether or not any volume from the Pool may be used
2830 for backup. The default is {\bf yes} as of version 1.27 and later. If it is
2831 {\bf no} then only the first writable volume in the Pool will be accepted for
2832 writing backup data, thus Bacula will fill each Volume sequentially in turn
2833 before using any other appendable volume in the Pool. If this is {\bf no} and
2834 you mount a volume out of order, Bacula will not accept it. If this is {\bf
2835 yes} any appendable volume from the pool mounted will be accepted.
2837 If your tape backup procedure dictates that you manually mount the next
2838 volume, you will almost certainly want to be sure this directive is turned
2841 If you are going on vacation and you think the current volume may not have
2842 enough room on it, you can simply label a new tape and leave it in the drive,
2843 and assuming that {\bf Accept Any Volume} is {\bf yes} Bacula will begin
2844 writing on it. When you return from vacation, simply remount the last tape,
2845 and Bacula will continue writing on it until it is full. Then you can remount
2846 your vacation tape and Bacula will fill it in turn.
2848 \item [Cleaning Prefix = \lt{}string\gt{}]
2849 \index[fd]{Cleaning Prefix }
2850 This directive defines a prefix string, which if it matches the beginning of
2851 a Volume name during labeling of a Volume, the Volume will be defined with
2852 the VolStatus set to {\bf Cleaning} and thus Bacula will never attempt to use
2853 this tape. This is primarily for use with autochangers that accept barcodes
2854 where the convention is that barcodes beginning with {\bf CLN} are treated as
2858 \item [Label Format = \lt{}format\gt{}]
2859 \index[fd]{Label Format }
2860 This directive specifies the format of the labels contained in this pool. The
2861 format directive is used as a sort of template to create new Volume names
2862 during automatic Volume labeling.
2864 The {\bf format} should be specified in double quotes, and consists of
2865 letters, numbers and the special characters hyphen ({\bf -}), underscore
2866 ({\bf \_}), colon ({\bf :}), and period ({\bf .}), which are the legal
2867 characters for a Volume name. The {\bf format} should be enclosed in double
2870 In addition, the format may contain a number of variable expansion characters
2871 which will be expanded by a complex algorithm allowing you to create Volume
2872 names of many different formats. In all cases, the expansion process must
2873 resolve to the set of characters noted above that are legal Volume names.
2874 Generally, these variable expansion characters begin with a dollar sign ({\bf
2875 \$}) or a left bracket ({\bf [}). If you specify variable expansion
2876 characters, you should always enclose the format with double quote characters
2877 ({\bf ``}). For more details on variable expansion, please see the
2878 \ilink{Variable Expansion}{_ChapterStart50} Chapter of this manual.
2880 If no variable expansion characters are found in the string, the Volume name
2881 will be formed from the {\bf format} string appended with the number of
2882 volumes in the pool plus one, which will be edited as four digits with
2883 leading zeros. For example, with a {\bf Label Format = ''File-``}, the first
2884 volumes will be named {\bf File-0001}, {\bf File-0002}, ...
2886 With the exception of Job specific variables, you can test your {\bf
2887 LabelFormat} by using the
2888 \ilink{ var command}{var} the Console Chapter of this manual.
2890 In almost all cases, you should enclose the format specification (part after
2891 the equal sign) in double quotes.
2894 In order for a Pool to be used during a Backup Job, the Pool must have at
2895 least one Volume associated with it. Volumes are created for a Pool using the
2896 {\bf label} or the {\bf add} commands in the {\bf Bacula Console}, program. In
2897 addition to adding Volumes to the Pool (i.e. putting the Volume names in the
2898 Catalog database), the physical Volume must be labeled with valid Bacula
2899 software volume label before {\bf Bacula} will accept the Volume. This will be
2900 automatically done if you use the {\bf label} command. Bacula can
2901 automatically label Volumes if instructed to do so, but this feature is not
2902 yet fully implemented.
2904 The following is an example of a valid Pool resource definition:
2916 \section*{The Catalog Resource}
2917 \label{CatalogResource}
2918 \index[general]{Resource!Catalog }
2919 \index[general]{Catalog Resource }
2920 \addcontentsline{toc}{section}{Catalog Resource}
2922 The Catalog Resource defines what catalog to use for the current job.
2923 Currently, Bacula can only handle a single database server (SQLite, MySQL,
2924 built-in) that is defined when configuring {\bf Bacula}. However, there may be
2925 as many Catalogs (databases) defined as you wish. For example, you may want
2926 each Client to have its own Catalog database, or you may want backup jobs to
2927 use one database and verify or restore jobs to use another database.
2932 \index[console]{Catalog }
2933 Start of the Catalog resource. At least one Catalog resource must be defined.
2936 \item [Name = \lt{}name\gt{}]
2937 \index[console]{Name }
2938 The name of the Catalog. No necessary relation to the database server name.
2939 This name will be specified in the Client resource directive indicating that
2940 all catalog data for that Client is maintained in this Catalog. This
2941 directive is required.
2943 \item [password = \lt{}password\gt{}]
2944 \index[console]{password }
2945 This specifies the password to use when logging into the database. This
2946 directive is required.
2948 \item [DB Name = \lt{}name\gt{}]
2949 \index[console]{DB Name }
2950 This specifies the name of the database. If you use multiple catalogs
2951 (databases), you specify which one here. If you are using an external
2952 database server rather than the internal one, you must specify a name that
2953 is known to the server (i.e. you explicitly created the Bacula tables using
2954 this name. This directive is required.
2956 \item [user = \lt{}user\gt{}]
2957 \index[console]{user }
2958 This specifies what user name to use to log into the database. This directive
2961 \item [DB Socket = \lt{}socket-name\gt{}]
2962 \index[console]{DB Socket }
2963 This is the name of a socket to use on the local host to connect to the
2964 database. This directive is used only by MySQL and is ignored by SQLite.
2965 Normally, if neither {\bf DB Socket} or {\bf DB Address} are specified, MySQL
2966 will use the default socket.
2968 \item [DB Address = \lt{}address\gt{}]
2969 \index[console]{DB Address }
2970 This is the host address of the database server. Normally, you would specify
2971 this instead of {\bf DB Socket} if the database server is on another machine.
2972 In that case, you will also specify {\bf DB Port}. This directive is used
2973 only by MySQL and is ignored by SQLite if provided. This directive is
2976 \item [DB Port = \lt{}port\gt{}]
2977 \index[console]{DB Port }
2978 This defines the port to be used in conjunction with {\bf DB Address} to
2979 access the database if it is on another machine. This directive is used only
2980 by MySQL and is ignored by SQLite if provided. This directive is optional.
2982 \item [Multiple Connections = \lt{}yes|no\gt{}]
2983 \index[console]{Multiple Connections }
2984 By default, this directive is set to no. In that case, each job that uses the
2985 same Catalog will use a single connection to the catalog. It will be shared,
2986 and Bacula will allow only one Job at a time to communicate. If you set this
2987 directive to yes, Bacula will permit multiple connections to the database,
2988 and the database must be multi-thread capable. For SQLite and PostgreSQL,
2989 this is no problem. For MySQL, you must be *very* careful to have the
2990 multi-thread version of the client library loaded on your system. When this
2991 directive is set yes, each Job will have a separate connection to the
2992 database, and the database will control the interaction between the different
2993 Jobs. This can significantly speed up the database operations if you are
2994 running multiple simultaneous jobs. In addition, for SQLite and PostgreSQL,
2995 Bacula will automatically enable transactions. This can significantly speed
2996 up insertion of attributes in the database either for a single Job or
2997 multiple simultaneous Jobs.
2999 This directive has not been tested. Please test carefully before running it
3000 in production and report back your results.
3003 The following is an example of a valid Catalog resource definition:
3012 password = "" # no password = no security
3017 or for a Catalog on another machine:
3027 DB Address = remote.acme.com
3033 \section*{The Messages Resource}
3034 \label{MessagesResource2}
3035 \index[general]{Resource!Messages }
3036 \index[general]{Messages Resource }
3037 \addcontentsline{toc}{section}{Messages Resource}
3039 For the details of the Messages Resource, please see the
3040 \ilink{Messages Resource Chapter}{_ChapterStart15} of this
3043 \section*{The Console Resource}
3044 \label{ConsoleResource1}
3045 \index[general]{Console Resource }
3046 \index[general]{Resource!Console }
3047 \addcontentsline{toc}{section}{Console Resource}
3049 As of Bacula version 1.33 and higher, there are three different kinds of
3050 consoles, which the administrator or user can use to interact with the
3051 Director. These three kinds of consoles comprise three different security
3055 \item The first console type is an {\bf anonymous} or {\bf default} console,
3056 which has full privileges. There is no console resource necessary for this
3057 type since the password is specified in the Director's resource and
3058 consequently such consoles do not have an name as defined on a {\bf Name =}
3059 directive. This is the kind of console that was initially implemented in
3060 versions prior to 1.33 and remains valid. Typically you would use it only for
3062 \item The second type of console, and new to version 1.33 and higher is a
3063 ''named`` console defined within a Console resource in both the Director's
3064 configuration file and in the Console's configuration file. Both the names
3065 and the passwords in these two entries must match much as is the case for
3068 This second type of console begins with absolutely no privileges except those
3069 explicitly specified in the Director's Console resource. Thus you can have
3070 multiple Consoles with different names and passwords, sort of like multiple
3071 users, each with different privileges. As a default, these consoles can do
3072 absolutely nothing -- no commands what so ever. You give them privileges or
3073 rather access to commands and resources by specifying access control lists
3074 in the Director's Console resource. The ACLs are specified by a directive
3075 followed by a list of access names. Examples of this are shown below.
3076 \item The third type of console is similar to the above mentioned one in that
3077 it requires a Console resource definition in both the Director and the
3078 Console. In addition, if the console name, provided on the {\bf Name =}
3079 directive, is the same as a Client name, that console is permitted to use the
3080 {\bf SetIP} command to change the Address directive in the Director's client
3081 resource to the IP address of the Console. This permits portables or other
3082 machines using DHCP (non-fixed IP addresses) to ''notify`` the Director of
3083 their current IP address.
3086 The Console resource is optional and need not be specified. The following
3087 directives are permited within the Director's configuration resource:
3091 \item [Name = \lt{}name\gt{}]
3092 \index[console]{Name }
3093 The name of the console. This name must match the name specified in the
3094 Console's configuration resource (much as is the case with Client
3097 \item [Password = \lt{}password\gt{}]
3098 \index[console]{Password }
3099 Specifies the password that must be supplied for a named Bacula Console to be
3100 authorized. The same password must appear in the {\bf Console} resource of
3101 the Console configuration file. For added security, the password is never
3102 actually passed across the network but rather a challenge response hash code
3103 created with the password. This directive is required. If you have either
3104 {\bf /dev/random} {\bf bc} on your machine, Bacula will generate a random
3105 password during the configuration process, otherwise it will be left blank.
3107 \item [JobACL = \lt{}name-list\gt{}]
3108 \index[console]{JobACL }
3109 This directive is used to specify a list of Job resource names that can be
3110 accessed by the console. Without this directive, the console cannot access
3111 any of the Director's Job resources. Multiple Job resource names may be
3112 specified by separating them with commas, and/or by specifying multiple
3113 JobACL directives. For example, the directive may be specified as:
3117 JobACL = kernsave, "Backup client 1", "Backup client 2"
3118 JobACL = "RestoreFiles"
3123 With the above specification, the console can access the Director's resources
3124 for the four jobs named on the JobACL directives, but for no others.
3126 \item [ClientACL = \lt{}name-list\gt{}]
3127 \index[console]{ClientACL }
3128 This directive is used to specify a list of Client resource names that can be
3129 accessed by the console.
3131 \item [StorageACL = \lt{}name-list\gt{}]
3132 \index[console]{StorageACL }
3133 This directive is used to specify a list of Storage resource names that can
3134 be accessed by the console.
3136 \item [ScheduleACL = \lt{}name-list\gt{}]
3137 \index[console]{ScheduleACL }
3138 This directive is used to specify a list of Schedule resource names that can
3139 be accessed by the console.
3141 \item [PoolACL = \lt{}name-list\gt{}]
3142 \index[console]{PoolACL }
3143 This directive is used to specify a list of Pool resource names that can be
3144 accessed by the console.
3146 \item [FileSetACL = \lt{}name-list\gt{}]
3147 \index[console]{FileSetACL }
3148 This directive is used to specify a list of FileSet resource names that can
3149 be accessed by the console.
3151 \item [CatalogACL = \lt{}name-list\gt{}]
3152 \index[console]{CatalogACL }
3153 This directive is used to specify a list of Catalog resource names that can
3154 be accessed by the console.
3156 \item [CommandACL = \lt{}name-list\gt{}]
3157 \index[console]{CommandACL }
3158 This directive is used to specify a list of of console commands that can be
3159 executed by the console.
3162 Aside from Director resource names and console command names, the special
3163 keyword {\bf *all*} can be specified in any of the above access control lists.
3164 When this keyword is present, any resource or command name (which ever is
3165 appropriate) will be accepted. For an example configuration file, please see
3167 \ilink{Console Configuration}{_ChapterStart36} chapter of this
3170 \section*{The Counter Resource}
3171 \label{CounterResource}
3172 \index[general]{Resource!Counter }
3173 \index[general]{Counter Resource }
3174 \addcontentsline{toc}{section}{Counter Resource}
3176 The Counter Resource defines a counter variable that can be accessed by
3177 variable expansion used for creating Volume labels with the {\bf LabelFormat}
3179 \ilink{LabelFormat}{Label} directive in this chapter for more
3185 \index[console]{Counter }
3186 Start of the Counter resource. Counter directives are optional.
3188 \item [Name = \lt{}name\gt{}]
3189 \index[console]{Name }
3190 The name of the Counter. This is the name you will use in the variable
3191 expansion to reference the counter value.
3193 \item [Minimum = \lt{}integer\gt{}]
3194 \index[console]{Minimum }
3195 This specifies the minimum value that the counter can have. It also becomes
3196 the default. If not supplied, zero is assumed.
3198 \item [Maximum = \lt{}integer\gt{}]
3199 \index[console]{Maximum }
3200 This is the maximum value value that the counter can have. If not specified
3201 or set to zero, the counter can have a maximum value of 2,147,483,648 (2 to
3202 the 31 power). When the counter is incremented past this value, it is reset
3205 \item [*WrapCounter = \lt{}counter-name\gt{}]
3206 \index[console]{*WrapCounter }
3207 If this value is specified, when the counter is incremented past the maximum
3208 and thus reset to the minimum, the counter specified on the {\bf WrapCounter}
3209 is incremented. (This is not currently implemented).
3211 \item [Catalog = \lt{}catalog-name\gt{}]
3212 \index[console]{Catalog }
3213 If this directive is specified, the counter and its values will be saved in
3214 the specified catalog. If this directive is not present, the counter will be
3215 redefined each time that Bacula is started.
3218 \section*{ A Complete Example Director Configuration File}
3219 \label{SampleDirectorConfiguration}
3220 \index[general]{File!Complete Example Director Configuration }
3221 \index[general]{Complete Example Director Configuration File }
3222 \addcontentsline{toc}{section}{Complete Example Director Configuration File}
3224 An example Director configuration file might be the following:
3229 # Default Bacula Director Configuration file
3231 # The only thing that MUST be changed is to add one or more
3232 # file or directory names in the Include directive of the
3235 # For Bacula release 1.15 (5 March 2002) -- redhat
3237 # You might also want to change the default email address
3238 # from root to your address. See the "mail" and "operator"
3239 # directives in the Messages resource.
3241 Director { # define myself
3243 QueryFile = "/home/kern/bacula/bin/query.sql"
3244 WorkingDirectory = "/home/kern/bacula/bin/working"
3245 PidDirectory = "/home/kern/bacula/bin/working"
3246 Password = "XkSfzu/Cf/wX4L8Zh4G4/yhCbpLcz3YVdmVoQvU3EyF/"
3248 # Define the backup Job
3250 Name = "NightlySave"
3252 Level = Incremental # default
3255 Schedule = "WeeklyCycle"
3265 Where = /tmp/bacula-restores
3271 # List of files to be backed up
3275 Options { signature=SHA1 }
3277 # Put your list of files here, one per line or include an
3278 # external list with:
3282 # Note: / backs up everything
3287 # When to do the backups
3289 Name = "WeeklyCycle"
3290 Run = Full sun at 1:05
3291 Run = Incremental mon-sat at 1:05
3293 # Client (File Services) to backup
3298 Password = "MQk6lVinz4GG2hdIZk1dsKE/LxMZGo6znMHiD7t7vzF+"
3299 File Retention = 60d # sixty day file retention
3300 Job Retention = 1y # 1 year Job retention
3301 AutoPrune = yes # Auto apply retention periods
3303 # Definition of DLT tape storage device
3307 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3308 Device = "HP DLT 80" # same as Device in Storage daemon
3309 Media Type = DLT8000 # same as MediaType in Storage daemon
3311 # Definition of DDS tape storage device
3315 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3316 Device = SDT-10000 # same as Device in Storage daemon
3317 Media Type = DDS-4 # same as MediaType in Storage daemon
3319 # Definition of 8mm tape storage device
3323 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3324 Device = "Exabyte 8mm"
3327 # Definition of file storage device
3331 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3332 Device = FileStorage
3335 # Generic catalog service
3338 dbname = bacula; user = bacula; password = ""
3340 # Reasonable message delivery -- send most everything to
3341 # the email address and to the console
3344 mail = root@localhost = all, !skipped, !terminate
3345 operator = root@localhost = mount
3346 console = all, !skipped, !saved
3349 # Default pool definition
3357 # Restricted console used by tray-monitor to get the status of the director
3361 Password = "GN0uRo7PTUmlMbqrJ2Gr1p0fk0HQJTxwnFyE4WSST3MWZseR"
3362 CommandACL = status, .status