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 vous avez soit {\bf /dev/random} soit {\bf bc}
36 sur votre machine, Bacula g\'en\`erera un mot de passe al\'eatoire lors du
37 processus de configuration, sinon, il sera laiss\'e blanc.
39 \ilink{Job}{JobResource} -- Pour d\'efinir les Jobs de types
40 sauvegarde et restauration, et pour lier les ressources Client, FileSet et
41 Schedules \`a utiliser conjointement pour chaque Job.
43 \ilink{JobDefs}{JobDefsResource} -- Ressource optionnelle destin\'ee \`a
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 \subsection*{La ressource Director}
72 \label{DirectorResource4}
73 \index[general]{Director!La ressource }
74 \index[general]{La ressource Director }
75 \addcontentsline{toc}{subsection}{La ressource Director}
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, 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 segments 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 se met 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îne 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 \subsection*{La ressource Job}
270 \index[general]{Resource!Job }
271 \index[general]{Job Resource }
272 \addcontentsline{toc}{subsection}{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 diff\'erents
309 niveaux, qui seront d\'ecrits dans les prochains paragraphes.
314 \index[console]{Backup }
315 D\'efinit une sauvegarde. En principe, vous aurez au moins un job de type Backup
316 par client sauvegard\'e. A moins que vous ne d\'esactiviez le catalogue, la
317 plupart des donn\'ees et statistiques concernant les fichiers sauvegard\'ees
318 seront \'ecrites dans le catalogue.
321 \index[console]{Restore }
322 D\'efinit une restauration. En principe, vous ne cr\'eerez qu'un seul job de ce
323 type, que vous utiliserez comme un prototype que vous modifierez \`a l'aide
324 de la console lorsque vous devrez restaurer. Bien que certaines informations
325 basiques soient conserv\'ees dans le catalogue lors de restaurations, leur
326 quantit\'e est infime en regard des informations stock\'ees pour une sauvegarde --
327 par exemple, aucune entr\'ee de nom de fichier n'est g\'en\'er\'ee, puisqu'aucun fichier
331 \index[console]{Verify }
332 D\'efinit un Job de type Verify. Le Jobs de type {\bf verify} permettent de
333 comparer le catalogue au syst\`eme de fichiers ou \`a ce qui a \'et\'e sauvegard\'e.
334 Vous pouvez l'utiliser pour vous assurer qu'une cartouche de donn\'ees est
335 lisible, mais aussi comme un syst\`eme de d\'etection d'intrusion \`a la fa\ccon de
340 D\'efinit un Job de type Admin. Un {\bf Admin} peut s'utiliser pour "\'elaguer"
341 p\'eriodiquement le catalogue, si vous ne souhaitez pas que ceci soit fait \`a la fin
342 de chaque sauvegarde. Bien que les Jobs de type admin soient enregistr\'es dans le
343 catalogue, la quantit\'e de donn\'ees g\'en\'er\'ee est infime.
349 \item [Level = \lt{}job-level\gt{}]
351 La directive Level sp\'ecifie le niveau d'ex\'ecutiondu job par d\'efaut.
352 Chaque type de job a son propre jeu de niveaux qui peuvent \^etre sp\'ecifi\'es.
353 Le niveau d'ex\'ecution est en g\'en\'eral surcharg\'e par une valeur diff\'erente
354 sp\'ecifi\'ee dans la ressource {\bf Schedule}. Cette directive n'est pas
355 requise mais doit \^etre sp\'ecifi\'ee soit ici, soit en tant que surcharge
356 dans la ressource {\bf Schedule}.
358 Pour un job de type {\bf Backup} le niveau doit \^etre l'un des suivants :
364 Tous les fichiers du FileSet, qu'ils aient \'et\'e modifi\'es ou non.
367 \index[fd]{Incremental }
368 Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde valide du FileSet
369 sp\'ecifi\'e. Si le Director ne peut trouver une sauvegarde Full ant\'erieure,
370 le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le Director
371 recherche une Full valide dans le catalogue, il recherche un job avec
372 les caract\'eristiques suivantes :
375 \item le m\^eme nom de job ;
376 \item le m\^eme nom de client ;
377 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle
378 que l'ajout ou la suppression de fichiers dans les sections Include ou
379 Exclude constitue un changement de FileSet).
380 \item le niveau requis (Full, Differential ou Incremental)
381 \item le job s'est termin\'e normalement, c'est \`a dire un qu'il ne s'est pas termin\'e
382 en \'echec, et n'a pas \'et\'e effac\'e.
385 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director
386 augmentera la sauvegarde incr\'ementale en une sauvegarde Full. Dans le cas
387 contraire, la sauvegarde incr\'ementale sera effectu\'ee normalement.
389 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une
390 incr\'ementale par comparaison de l'heure de d\'emarrage du Job pr\'ec\'edent
391 (Full, Diff\'erentiel ou Incr\'emental) avec les dates de derni\`ere modification
392 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier
393 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier
396 Veuillez noter que certains logiciels anti-virus peuvent modifier la date
397 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie
398 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il
399 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder
400 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le
401 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant
402 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez
405 Lorsque Bacula effectue une sauvegarde incr\'ementale, tous les fichiers modifi\'es
406 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis
407 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez
408 une restauration \`a partir de sauvegardes incr\'ementales (et de la Full associ\'ee),
409 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers
410 n'apparaîtront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde
411 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une
412 incr\'ementale ralentirait fortement les sauvegardes incr\'ementales. Il n'est
413 actuellement pas impl\'ement\'e dans Bacula.
416 \index[fd]{Differential }
417 Tous les fichiers modifi\'es depuis la derni\`ere sauvegarde Full valide du FileSet
418 sp\'ecifi\'e. Si le Director ne peut trouver une sauvegarde Full ant\'erieure,
419 le niveau du job sera \'elev\'e en une sauvegarde Full. Lorsque le Director
420 recherche une Full valide dans le catalogue, il recherche un job avec
421 les caract\'eristiques suivantes :
424 \item le m\^eme nom de job ;
425 \item le m\^eme nom de client ;
426 \item le m\^eme FileSet (toute modification de la d\'efinition du FileSet telle
427 que l'ajout ou la suppression de fichiers dans les sections Include ou
428 Exclude constitue un changement de FileSet).
429 \item le Job \'etait une sauvegarde FULL
430 \item le Job s'est termin\'e normalement, c'est \`a dire qu'il ne s'est pas termin\'e
431 en \'echec, et n'a pas \'et\'e effac\'e.
434 Si toutes les conditions ci-dessus ne sont pas r\'ealis\'ees, le Director
435 augmentera la sauvegarde diff\'erentielle en une sauvegarde Full. Dans le cas
436 contraire, la sauvegarde diff\'erentielle sera effectu\'ee normalement.
438 Le File Daemon (Client) d\'etermine les fichiers \`a sauvegarder pour une
439 diff\'erentielle par comparaison de l'heure de d\'emarrage de la derni\`ere
440 sauvegarde Full avec les dates de derni\`ere modification
441 de chaque fichier (st\_mtime) et de ses attributs (st\_ctime). Si le fichier
442 ou ses attributs ont chang\'es depuis cette date de d\'emarrage, alors le fichier
443 sera sauvegard\'e. La date de d\'emarrage utilis\'ee est affich\'e apr\`es le {\bf Since}
444 du rapport de Job. Dans de rares cas, certains fichiers sont sauvegard\'es deux fois
445 \`a cause de l'utilisation de la date de d\'emarrage de la sauvegarde pr\'ec\'edente,
446 mais ceci assure qu'aucun changement n'est perdu. Comme pour les incr\'ementales,
447 vous devriez vous assurer que les horloges de votre serveur Bacula et de vos clients
448 sont synchronis\'ees, ou aussi proches que possible, pour \'eviter le risque d'omission
449 d'un fichier. Notez qu'\`a partir de la version 1.33, Bacula effectue automatiquement
450 ces ajustements de sorte que les horloges utilis\'ees par Bacula soient synchrones.
452 Veuillez noter que certains logiciels anti-virus peuvent modifier la date
453 st\_time lors de leurs op\'erations de scan. Ainsi, si l'antivirus modifie
454 la date d'acc\`es (st\_atime), qui n'est pas utilis\'ee par Bacula, il
455 provoquera une modification du st\_ctime et conduira Bacula \`a sauvegarder
456 les fichiers concern\'es lors des incr\'ementales et diff\'erentielles. Dans le
457 cas de l'antivirus Sophos, vous pouvez \'eviter cet inconv\'enient en utilisant
458 l'option {\bf \verb{--{no-reset-atime}. Pour les autres logiciels, voyez
461 Lorsque Bacula effectue une sauvegarde diff\'erentielle, tous les fichiers modifi\'es
462 pr\'esents sur le syst\`eme sont sauvegard\'es. Cependant, tout fichier supprim\'e depuis
463 la derni\`ere Full demeure dans le catalogue, ce qui signifie que si vous effectuez
464 une restauration \`a partir de sauvegardes diff\'erentielles (et de la Full associ\'ee),
465 les fichiers supprim\'es depuis la derni\`ere Full seront aussi restaur\'es. Ces fichiers
466 n'apparaîtront plus dans le catalogue apr\`es avoir fait une nouvelle sauvegarde
467 Full. Le processus pour supprimer ces fichiers du catalogue lors d'une
468 incr\'ementale ralentirait fortement les sauvegardes diff\'erentielles. Il n'est
469 actuellement pas impl\'ement\'e dans Bacula.
473 Pour un Job de type {\bf Restore}, aucun niveau ne doit \^etre sp\'ecifi\'e.
475 Pour un Job de type {\bf Verify}, le niveau peut \^etre l'un des suivants :
480 \index[fd]{InitCatalog }
481 Examine le {\bf FileSet} sp\'ecifi\'e et stocke les attributs de fichiers dans le
482 catalogue. Vous pouvez vous interroger sur l'int\'er\^et d'un Job qui ne
483 sauvegarde aucun fichier. La r\'eponse est de pouvoir utiliser Bacula comme
484 vous utiliseriez Tripwire, en d'autres termes, ce type de Jobs vous permet
485 de sauvegarder l'\'etat d'un ensemble de fichiers d\'efini par un {\bf FileSet}
486 afin de pouvoir ult\'erieurement contr\^oler si rien n'a \'et\'e modifi\'e, supprim\'e ou
487 ajout\'e. Ceci peut \^etre utilis\'e pour d\'etecter une intrusion. Typiquement,
488 vous sp\'ecifiez un {\bf FileSet} qui contient l'ensemble des fichiers qui ne
489 devraient pas changer (par exemple /sbin, /boot, /lib, /bin, ...). Ensuite,
490 vous ex\'ecutez le Job verify de niveau {\bf InitCatalog} apr\`es l'installation
491 de votre syst\`eme, puis apr\`es chaque modification (mise \`a jour). Ensuite,
492 lorsque vous souhaitez contr\^oler l'\'etat de votre syst\`eme de fichiers,
493 vous utilisez un Job {\bf Verify}, {\bf level = Catalog} afin de comparer
494 le r\'esultat de votre {\bf InitCatalog} avec l'\'etat actuel de votre syst\`eme
499 Compare l'\'etat actuel des fichiers et l'\'etat pr\'ec\'edemment sauvegard\'e
500 lors d'un {\bf InitCatalog}. Toutes les anomalies sont rapport\'ees.
501 Les objets du rapport sont d\'etermin\'es par les options {\bf verify}
502 sp\'ecifi\'ees dans la directive {\bf Include} du {\bf FileSet} sp\'ecifi\'e
503 (voyez la ressource {\bf FileSet} ci-dessous pour plus de d\'etails).
504 Typiquement, cette commande sera ex\'ecut\'ee quotidiennement pour
505 contr\^oler toute modification de votre syst\`eme de fichier.
507 Attention ! Si vous ex\'ecutez deux jobs Verify Catalog simultan\'ement sur le m\^eme client,
508 les r\'esultats seront probablement erronn\'es. En effet, Verify Catalog modifie
509 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
511 \item [VolumeToCatalog]
512 \index[fd]{VolumeToCatalog }
513 Ce niveau permet de lire les attributs de fichiers \'ecrits sur le Volume
514 lors du dernier Job. Les attributs de fichiers sont compar\'es aux valeurs
515 sauvegard\'ees dans le catalogue et toute diff\'erence est rapport\'ee. Ceci
516 est similaire au niveau {\bf Catalog}, sauf que ce sont les
517 attributs des fichiers du volume plut\^ot que ceux des fichiers du disque
518 qui sont compar\'es aux attributs sauvegard\'es dans le catalogue. Bien que
519 les attributs et signatures (MD5 ou SHA1) soient compar\'es, les donn\'ees
520 r\'eelles ne le sont pas (elles ne figurent pas dans le catalogue).
522 Attention ! Si vous ex\'ecutez deux jobs Verify VolumeToCatalog simultan\'ement sur le m\^eme client,
523 les r\'esultats seront probablement erronn\'es. En effet, Verify VolumeToCatalog modifie
524 le catalogue lors de son ex\'ecution afin de d\'etecter les nouveaux fichiers.
526 \item [DiskToCatalog]
527 \index[fd]{DiskToCatalog }
528 Ce niveau permet de lire les fichiers tels qu'ils sont actuellement sur le
529 disque et de comparer leurs attributs actuels avec ceux stock\'es dans le
530 catalogue lors de la derni\`ere sauvegarde pour le Job sp\'ecifi\'e par la
531 directive {\bf VerifyJob}. Ce niveau diff\`ere du niveau {\bf Catalog}
532 d\'ecrit plus haut en ce qu'il ne se r\'ef\`ere pas \`a un Job Verify ant\'erieur,
533 mais \`a la derni\`ere sauvegarde. Lorsque vous utilisez ce niveau , vous devez
534 renseigner les option Verify de la section Include. Ces options d\'eterminent
535 quels attributs seront compar\'es.
537 Cette commande peut se r\'ev\'eler tr\`es utile si vous avez des probl\`emes de disque
538 car elle comparera l'\'etat actuel de votre disque avec la derni\`ere sauvegarde
539 valide, qui peut remonter \`a plusieurs jobs.
541 Notez que l'impl\'ementation actuelle (1.32c) n'identifie pas les fichiers qui
542 ont \'et\'e supprim\'es.
545 \item {\bf Verify Job = \lt{}Job-Resource-Name\gt{}}
546 \index[fd]{Verify Job }
547 Si vous ex\'ecutez un job verify sans cette directive, le dernier job
548 ex\'ecut\'e sera compar\'e avec le catalogue, ce qui signifie que votre commande
549 verify doit succ\'eder imm\'ediatement \`a une sauvegarde. Si vous sp\'ecifiez
550 un {\bf Verify Job}, Bacula trouvera le dernier job ex\'ecut\'e avec ce nom.
551 Ceci vous permet d'ex\'ecuter toutes vos sauvegardes, puis d'ex\'ecuter les jobs
552 Verify sur les sauvegardes de votre choix (le plus souvent, un {\bf VolumeToCatalog}
553 de sorte que la cartouche qui vient juste d'\^etre \'ecrite est relue).
555 \item {\bf JobDefs = \lt{}JobDefs-Resource-Name\gt{}}
557 Si un nom de JobDef est sp\'ecifi\'e dans la d\'efinition d'un Job, toutes les valeurs
558 d\'efinies dans la ressource JobDef concern\'ee seront utilis\'ees en tant que valeurs
559 par d\'efaut pour le Job. Toute valeur explicitement sp\'ecifi\'ee dans la
560 d\'efinition du Job outrepasse la valeur par d\'efaut d\'efinie par le JobDef.
561 L'utilisation de cette directive permet d'\'ecrire des ressources Job plus
562 compactes, o\`u la majeure partie des directives sont d\'efinies dans un ou
563 plusieurs JobDefs. C'est particuli\`erement pratique si vous avez de nombreux
564 Jobs similaires avec des variations mineures telles que diff\'erents clients.
565 Un exemple basique de l'utilisation d'un Jobdef est fourni dans le fichier
566 bacula-dir.conf par d\'efaut.
568 \item {\bf Bootstrap = \lt{}bootstrap-file\gt{}}
569 \index[dir]{Bootstrap }
570 La directive Bootstrap sp\'ecifie un fichier bootstrap qui, s'il est fourni,
571 sera utilis\'e lors des restaurations et ignor\'e par tout les autres Jobs.
572 Le fichier {\bf bootstrap} contient la liste des cartouches n\'ecessaires
573 pour la restauration ainsi que les index des fichiers \`a restaurer
574 (localisation sur la cartouche). Cette directive
575 est optionnelle, et n'est utilis\'ee que pour les restaurations. De plus,
576 elle peut \^etre modifi\'ee lorsqu'une restauration est lanc\'ee depuis la console.
578 Si vous utilisez la commande {\bf Restore} dans la console pour lancer une
579 restauration, le fichier {\bf bootstrap} sera cr\'e\'e automatiquement \`a partir des
580 fichiers que vous avez s\'electionn\'es pour la restauration.
582 Pour plus de d\'etails concernant les fichiers {\bf bootstrap}, veuillez
583 consulter le chapitre \ilink{Restaurer des fichiers avec le fichier Bootstrap}{_ChapterStart43}
586 \item {\bf \label{writebootstrap} Write Bootstrap = \lt{}bootstrap-file-specification\gt{}}
589 La directive {\bf writebootstrap} sp\'ecifie le de fichier Bootstrap o\`u Bacula
590 \'ecrira lors de chaque sauvegarde. Ainsi, cette directive s'applique
591 exclusivement aux jobs de type sauvegarde. Si la sauvegarde est une Full,
592 Bacula \'ecrase le contenu du fichier sp\'ecifi\'e. Sinon, Bacula ajoute les
593 nouveaux enregistrements Bootstrap \`a la fin du fichier..
595 En utilisant cette fonction, vous aurez constamment un fichier bootstrap
596 capable de recouvrer l'\'etat le plus r\'ecent de votre syst\`eme. Le fichier
597 bootstrap devrait \^etre \'ecrit sur un disque mont\'e sur une autre machine, de
598 sorte que vous puissiez en disposer imm\'ediatement en cas de d\'efaillance
599 de votre disque dur. Une alternative consiste \`a copier le fichier sur une autre
600 machine apr\`es chaque mise \`a jour.
602 Si la {\bf sp\'ecification de fichier bootstrap} d\'ebute par une barre verticale (|),
603 Bacula consid\`ere la sp\'ecification comme un nom de programme vers lequel les
604 les enregistrement bootstrap seront redirig\'es. Ce peut \^etre, par exemple, un
605 script qui vous envoie par e-mail les enregistrements bootstrap.
607 Pour plus de d\'etails sur l'utilisation de fichiers bootstrap, veuillez
608 consulter le chapitre intitul\'e \ilink{Le Fichier Bootstrap}{_ChapterStart43}
612 \item {\bf Client = \lt{}client-resource-name\gt{}}
614 La directive Client sp\'ecifie le Client (File Daemon) \`a utiliser dans le Job.
615 Le client est ex\'ecut\'e sur la machine \`a sauvegarder. Il exp\'edie les fichiers requis
616 au Storage Daemon lors des sauvegardes, et re\
\ 3oit les fichiers du Storage Daemon
617 lors des restaurations. Pour plus de d\'etails, consultez la section
618 \ilink{Ressource Client}{ClientResource2} de ce chapitre. Cette deirective est requise.
621 \item {\bf FileSet = \lt{}FileSet-resource-name\gt{}}
623 La directive FileSet sp\'ecifie le FileSet \`a utiliser dans le Job concern\'e. Le
624 FileSet d\'efinit les r\'epertoires et fichiers \`a sauvegarder, ainsi que les options
625 \`a utiliser pour les sauvegarder (par exemple la compression,...). Un Job ne peut
626 contenir qu'un seul FileSet. Pour plus de d\'etails, consultez la section
627 \ilink{Ressource FileSet}{FileSetResource} de ce chapitre.
628 Cette directive est requise.
630 \item {\bf Messages = \lt{}messages-resource-name\gt{}}
631 \index[dir]{Messages }
632 La directive Messages d\'efinit la ressource Message qui doit \^etre utilis\'ee
633 pour le job concern\'e. Ainsi, elle d\'etermine le comment et o\`u seront
634 d\'elivr\'es les diff\'erents messages de Bacula. Par exemple, vous pouvez diriger
635 certains messages vers un fichier de logs, tandis que d'autres seront
636 envoy\'es par e-mail. Pour plus de d\'etails, consultez le chapitre
637 \ilink{Ressource Messages}{_ChapterStart15} de ce manuel. Cette directive
640 \item {\bf Pool = \lt{}pool-resource-name\gt{}}
642 La directive Pool sp\'ecifie le jeu de volumes qui doit \^etre utilis\'e pour
643 sauvegarder vos donn\'ees. De nombreuses installations de Bacula
644 n'utiliseront que le pool d\'efini par d\'efaut {\bf Default}. Toutefois,
645 si vous voulez sp\'ecifier diff\'erents jeux de volumes pou diff\'erents clients
646 ou diff\'erents jobs, vous voudrez probablement utiliser les Pools.
647 Pour plus de d\'etails, consultez la section \ilink{Ressource Pool}{PoolResource}
648 de ce chapitre. Cette directive est requise
650 \item {\bf Full Backup Pool = \lt{}pool-resource-name\gt{} }
651 \index[dir]{Full Backup Pool }
652 La directive {\it Full Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
653 sauvegardes Full. Cette directive outrepasse toute autre sp\'ecification
654 de Pool lors d'une sauvegarde Full. Cette directive est optionnelle.
656 \item {\bf Differential Backup Pool = \lt{}pool-resource-name\gt{} }
657 \index[dir]{Differential Backup Pool }
658 La directive {\it Differential Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
659 sauvegardes Diff\'erentielles. Cette directive outrepasse toute autre sp\'ecification
660 de Pool lors d'une sauvegarde Diff\'erentielle. Cette directive est optionnelle.
662 \item {\bf Incremental Backup Pool = \lt{}pool-resource-name\gt{} }
663 \index[dir]{Incremental Backup Pool }
664 La directive {\it Incremental Backup Pool} sp\'ecifie un Pool \`a utiliser pour les
665 sauvegardes Incr\'ementales. Cette directive outrepasse toute autre sp\'ecification
666 de Pool lors d'une sauvegarde Incr\'ementale. Cette directive est optionnelle.
668 \item {\bf Schedule = \lt{}schedule-name\gt{}}
669 \index[dir]{Schedule }
670 La directive Schedule d\'efinit la planification du job. Le {\it schedule} d\'etermine
671 la date et l'instant o\`u le job doit \^etre lanc\'e automatiquement, et le niveau
672 (Full, Diff\'erentiel, Incr\'emental...) du job en question. Cette directive est
673 optionnelle. Si elle est omise, le job ne pourra \^etre ex\'ecut\'e que manuellement via
674 la Console. Bien que vous puissiez vous contenter d'une ressource Schedule simple
675 pour tout job, vous pouvez aussi d\'efinir des ressources Schedule avec plusieurs
676 directives {\bf Run}, afin de lancer le job \`a diff\'erentes heures. Chacune de ces
677 directives {\bf Run} permet d'outrepasser les valeurs par d\'efaut de Level, Pool,
678 Storage et Messages ressources. Ceci autorise une grande souplesse d'utilisation
680 Pour plus de d\'etails, consultez le chapitre.
681 \ilink{Ressource Schedule}{ScheduleResource} de ce manuel.
683 \item {\bf Storage = \lt{}storage-resource-name\gt{}}
684 \index[dir]{Storage }
685 La directive Storage d\'efinit le nom du service storage que vous souhaitez
686 utiliser pour sauvegarder les donn\'ees du FileSet. Pour plus de d\'etails, consultez le
687 chapitre \ilink{Ressource Storage}{StorageResource2} de ce manuel.
688 Cette directive est requise.
690 \item {\bf Max Start Delay = \lt{}time\gt{}}
691 \index[sd]{Max Start Delay }
692 La directive Max Start Delay sp\'ecifie le d\'elai maximal entre l'horaire
693 planifi\'e (dans le schedule) et l'horaire effectif de d\'emarrage du job.
694 Par exemple, un job peut \^etre programm\'e pour d\'emarrer \`a 1h, mais \^etre
695 mis en attente \`a cause d'autres jobs en cours d'ex\'ecution. Si le
696 Max Start Delay a \'et\'e r\'egl\'e \`a 3600, le job sera supprimm\'e s'il n'a pas
697 d\'emarr\'e \`a 2h. Ceci peut se r\'ev\'eler utile pour, par exemple, \'eviter qu'un job
698 s'ex\'ecute duant les heures ouvrables. La valeur par d\'efaut est 0 (pas de limite).
700 \item {\bf Max Run Time = \lt{}time\gt{}}
701 \index[sd]{Max Run Time }
702 La directive Max Run Time sp\'ecifie le d\'elai allou\'e pour l'ex\'ecution
703 compl\`ete d'un job depuis son lancement (pas n\'ecessairement \`a l'heure
704 de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee
705 depuis la version 1.33.
707 \item {\bf Max Wait Time = \lt{}time\gt{}}
708 \index[sd]{Max Wait Time }
709 La directive Max Wait Time sp\'ecifie le d\'elai maximum durant lequel un
710 job peut rester bloqu\'e en attente d'une ressource (par exemple, en attente du
711 montage d'une cartouche ou encore en attente des Storage ou File Daemon occup\'es
712 \`a d'autres tâches) depuis son lancement (pas n\'ecessairement \`a l'heure
713 de sa programmation) jusqu'\`a sa fin. Cette directive est impl\'ement\'ee
714 depuis la version 1.33.
716 \item {\bf Prune Jobs = \lt{}yes|no\gt{}}
717 \index[fd]{Prune Jobs }
718 En principe, l'\'elagage des jobs du catalogue est sp\'ecifi\'e pour chaque client
719 dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
720 directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
721 elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
722 par d\'efaut est {\bf no}.
724 \item {\bf Prune Files = \lt{}yes|no\gt{}}
725 \index[fd]{Prune Files }
726 En principe, l'\'elagage des fichiers du catalogue est sp\'ecifi\'e pour chaque client
727 dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
728 directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
729 elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
730 par d\'efaut est {\bf no}.
732 \item {\bf Prune Volumes = \lt{}yes|no\gt{}}
733 \index[fd]{Prune Volumes }
734 En principe, l'\'elagage des volumes du catalogue est sp\'ecifi\'e pour chaque client
735 dans sa propre ressource Client par la directive {\bf AutoPrune}. Si cette
736 directive est sp\'ecifi\'ee (normalement, non) et si la valeur est {\bf yes},
737 elle outrepasse la valeur sp\'ecifi\'ee dans la ressource Client. La valeur
738 par d\'efaut est {\bf no}.
740 \item {\bf Run Before Job = \lt{}command\gt{}}
741 \index[fd]{Run Before Job }
742 La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe avant le
743 lancement du job. Tout retour de la commande sur la sortie standard est
744 incluse dans le rapport de job de Bacula. La chaîne {bf command} doit \^etre
745 un nom de programme valide ou un script shell. Cette directive n'est pas requise,
746 mais si elle est d\'efinie, et si le code retour d'ex\'ecution du programme
747 est diff\'erent de z\'ero, le job qui a lanc\'e le programme est effac\'e. D'autre part,
748 la chaîne {bf command} est parcourue puis envoy\'ee vers la fonction execvp(), ce qui
749 signifie que le chemin de la commande est recherch\'e pour son ex\'ecution, mais
750 qu'il n'y a aucune interpr\'etation shell. Par cons\'equent, si vous voulez utiliser
751 des commandes complexes ou toute fonctionnalit\'e du shell telle que la
752 redirection, vous devez appeler un script shell o\`u vous mettrez vos commandes.
753 Avant de soumettre la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula
754 effectue les substitutions suivantes :
762 %e = Statut de sortie du job
763 %j = Nom unique du job
771 Depuis la version 1.30, Bacula contr\^ole le statut de sortie du programme
772 RunBeforeJob. S'il est diff\'erent de z\'ero, le job se termine en erreur.
773 Lutz Kittler a fait remarquer que ceci peut \^etre un moyen ais\'e pour modifier
774 vos schedules pour les vacances. Par exemple, supposons que vous fassiez
775 habituellement des sauvegardes Full le vendredi, mais que jeudi et vendredi
776 soient f\'eri\'es. Pour \'eviter d'avoir \`a changer les cartouches entre jeudi et vendredi
777 alors que personne n'est au bureau, vous pouvez cr\'eer un RunBeforeJob qui retourne
778 un statut non nul jeudi et z\'ero les autres jours. Ainsi, le job de jeudi ne sera pas
779 ex\'ecut\'e, et la cartouche que vous avez ins\'er\'e mercredi sera disponible pour la Full
782 \item {\bf Run After Job = \lt{}command\gt{}}
783 \index[fd]{Run After Job }
784 La commande sp\'ecifi\'ee est ex\'ecut\'ee en tant que programme externe apr\`es la fin
785 du job. La chaîne {bf command} doit \^etre un nom de programme valide ou un
786 script shell. Cette directive n'est pas requise. Si le code de sortie du
787 programme est non nul, le job se termine en erreur. Avant de soumettre
788 la commande sp\'ecifi\'ee au syst\`eme d'exploitation, Bacula effectue les
789 substitutions de caract\`eres d\'ecrites au paragraphe {\bf Run Before Job}
791 Un exemple d'utilisation de cette directive est donn\'e au chapitre
792 \ilink{Astuces}{JobNotification} de ce manuel. depuis la version 1.30,
793 Bacula contr\^ole le statut de sortie du program RunAfter. S'il est
794 non nul, le job se termine en erreur.
796 \item {\bf Client Run Before Job = \lt{}command\gt{}}
797 \index[fd]{Client Run Before Job }
798 Cette directive est similaire \`a {\bf Run Before Job} except\'e que la
799 commande est ex\'ecut\'ee sur la machine cliente. Les m\^emes restrictions
800 s'appliquent aux syt\`emes Unix que celles signal\'ees pour {\bf Run Before Job}.
801 D'autre part, pour les clients Windows \`a partir de la version 1.33, notez bien
802 que vous devez fournir un chemin correct pour votre script, et que le script
803 peut avoir l'extension .com, .exe, ou .bat. Si vous sp\'ecifiez un chemin,
804 vous devez aussi sp\'ecifier l'extension compl\`ete. Les commandes \`a la fa\c{c}on
805 d'Unix ne fonctionneront pas, \`a moins que vous n'ayez install\'e et
806 correctement configur\'e Cygwin en plus (et s\'epar\'ement) de Bacula.
809 {\bf Consid\'erations particuli\`eres \`a Windows}
810 La commande peut \^etre n'importe quel programme reconnu par cmd.exe ou command.com
811 comme un fichier ex\'ecutable. Sp\'ecifier une extension de fichier ex\'ecutable
812 est optionnel, \`a moins qu'il y ait une ambigu\"it\'e (par exemple ls.bat, ls.exe).
814 Bacula cherche la commande dans le r\'epertoire "System \%Path\%" (Dans la
815 boîte de dialogue des variables d'environnement vous avez les variables
816 "syst\`eme" et "utilisateurs". Si bacula-fd fonctionne en tant que
817 service, seules les variables d'environnement syst\`emes sont accessibles.)
819 Les variables d'environnement syst\`eme peuvent \^etre invoqu\'ees avec la
820 syntaxe \%var\% et utilis\'ees comme portion du nom de la commande ou des
823 Lorsque la sp\'ecification du chemin absolu d'un ex\'ecutable ou le nom de
824 l'ex\'ecutable contient des espaces ou des caract\`eres sp\'eciaux, ils doivent
825 \^etre quot\'es. Il en va de m\^eme pour les arguments.
829 ClientRunBeforeJob = "\"C:/Program Files/Software
830 Vendor/Executable\" /arg1 /arg2 \"foo bar\""
834 Les caract\`eres sp\'eciaux \&()[]\{\}\^{}=;!'+,`\~{} devront \^etre quot\'es s'ils font
835 partie d'un nom de fichier ou d'un argument.
838 If someone is logged in a blank ``command'' window running the commands will
839 be present during the execution of the command.
841 Quelques suggestions de Phil Stracchino pour l'ex\'ecution sur les machines
842 Win32 avec le File Daemon Win32 natif :
845 \item Vous pourriez utiliser la directive ClientRunBeforeJob pour sp\'ecifier
846 un fichier .bat qui ex\'ecute les commandes cot\'e client plut\^ot que
847 d'essayer d'ex\'ecuter (par exemple) regedit /e directement.
848 \item Le fichier batch devrait retourner explicitement 0 lors des ex\'ecutions correctes.
849 \item Le chemin vers le fichier batch devrait \^etre sp\'ecifi\'e au format Unix :
851 ClientRunBeforeJob = ``c:/bacula/bin/systemstate.bat''
853 plut\^ot qu'au format DOS/Windows :
856 ``c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}systemstate.bat''
860 \item {\bf Client Run After Job = \lt{}command\gt{}}
861 \index[fd]{Client Run After Job }
862 Cette directive est similaire \`a {\bf Run After Job} sauf qu'elle est ex\'ecut\'ee
863 sur la machine cliente. Veuillez consulter les notes concernant les clients
864 Windows dans le paragraphe {\bf Client Run Before Job} ci-dessus.
866 \item {\bf Rerun Failed Levels = \lt{}yes|no\gt{}}
867 \index[fd]{Rerun Failed Levels }
868 Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), et si
869 Bacula d\'etecte qu'un job ant\'erieur d'un niveau plus \'elev\'e (Full ou
870 diff\'erentiel), alors le job est \'elev\'e au niveau le plus haut. Ceci est
871 particuli\`erement utile pour sauvegarder les pc portables qui peuvent
872 \^etre fr\'equemment inaccessibles. En effet, apr\`es l'\'echec d'une Full, vous
873 souhaiterez probablement que la prochaine sauvegarde soit de niveau Full
874 plut\^ot qu'Incremental ou Diff\'erentiel.
876 \item {\bf Spool Data = \lt{}yes|no\gt{}}
877 \index[fd]{Spool Data }
878 Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), le
879 Storage Daemon aura pour consigne de stocker les donn\'ees dans un
880 fichier spoule sur disque plut\^ot que de les \'ecrire directement sur bande.
881 Lorsque toutes les donn\'ees sont dans le spoule ou lorsque la taille
882 maximale fix\'ee pour le fichier spoule est atteinte, les donn\'ees sont
883 d\'echarg\'ees du spoule vers les bandes. Lorsque la valeur de cette directive
884 est {\bf yes}, la directive Spool Attributes est aussi automatiquement
885 mise \`a la valeur {\bf yes}. L'utilisation de cette fonctionnalit\'e
886 pr\'evient les arr\^ets et red\'emarrage incessants lors des incr\'ementales.
887 Elle ne doit pas \^etre utilis\'ee si vous sauvegardez sur disque.
890 \item {\bf Spool Attributes = \lt{}yes|no\gt{}}
891 \index[fd]{Spool Attributes }
892 La valeur par d\'efaut est {\bf no}, ce qui signifie que le Storage Daemon
893 envoie les attributs de fichiers au Director au moment o\`u ils (les fichiers)
894 sont ecrits sur la bande. Cependant, si vous souhaitez \'eviter le risque
895 de ralentissement d\^u aux mises \`a jour du catalogue, vous pouvez r\'egler
896 cette directive \`a {\bf yes}, dans ce cas, le Storage Daemon stockera les
897 attributs de fichiers dans un fichier tampon du Working Directory pour ne les
898 transmettre au Director qu'\`a la fin de l'\'ecriture sur bande des donn\'ees du job.
900 \item {\bf Where = \lt{}directory\gt{}}
902 Cette directive ne concerne que les jobs de type Restauration. Elle permet
903 de sp\'ecifier un pr\'efixe au nom du r\'epertoire o\`u tous les fichiers sont
904 restaur\'es. Ceci permet de restaurer les fichiers en un emplacement
905 diff\'erent de celui o\`u ils ont \'et\'e sauvegard\'es. Si {\bf Where} n'est pas
906 renseign\'e, ou si sa valeur est backslash ({\bf /}), les fichiers sont
907 restaur\'es \`a leur emplacement d'origine. Par d\'efaut, nous avons donn\'e \`a
908 {\bf Where} la valeur {\bf /tmp/bacula-restores} dans les fichiers de
909 configuration fournis en exemple, ceci afin d'\'eviter l'\'ecrasement
910 accidentel de vos fichiers.
912 \item {\bf Replace = \lt{}replace-option\gt{}}
913 \index[dir]{Replace }
914 Cette directive ne concerne que les jobs de type Restauration. Elle pr\'ecise
915 la conduite \`a adopter dans l'\'eventualit\'e o\`u Bacula serait conduit \`a restaurer
916 un fichier ou un r\'epertoire qui existe d\'ej\`a. Les options suivantes sont
923 Lorsque le fichier \`a restaurer existe d\'ej\`a, il est supprim\'e et remplac\'e par la
928 Si le fichier sauvegard\'e (sur bande) est plus r\'ecent que le fichier existant,
929 le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
933 Si le fichier sauvegard\'e (sur bande) est plus ancien que le fichier existant,
934 le fichier existant est supprim\'e et remplac\'e par la copie sauvegard\'ee.
938 Si le fichier sauvegard\'e existe d\'ej\`a, Bacula renonce \`a restaurer ce fichier.
941 \item {\bf Prefix Links=\lt{}yes|no\gt{}}
942 \index[fd]{Prefix Links }
943 Si la valeur de cette directive est {\bf Yes} et si un pr\'efixe de chemin
944 {\bf Where} est sp\'ecifi\'e, alors ce dernier s'applique aussi aux liens
945 absolus. La valeur par d\'efaut est {\bf No}. Lorsque cette directive est \`a
946 {\bf Yes}, tous les liens absolus seront aussi modifi\'es pour
947 pointer vers le nouveau r\'epertoire. En principe, c'est ce qui est souhait\'e :
948 l'ensemble du r\'epertoire restaur\'e conserve sa coh\'erence interne. Cependant,
949 si vous voulez replacer les fichiers ult\'erieurement \`a leurs emplacements
950 d'origine, tous les liens absolus seront bris\'es.
952 \item {\bf Maximum Concurrent Jobs = \lt{}number\gt{}}
953 \index[dir]{Maximum Concurrent Jobs }
954 O\`u \lt{}number\gt{} est le nombre maximum de jobs de la ressource Job courrante
955 qui peuvent \^etre ex\'ecut\'es simultan\'ement. Notez que cette directive ne limite
956 que les jobs avec le m\^eme nom que la ressource dans laquelle elle
957 figure. Toute autre restriction du nombre maximum de jobs simultan\'es, que ce soit au
958 niveau du Director, du Client ou de la ressource Storage, s'applique en plus de
959 de la limite stipul\'ee ici. LA valeur par d\'efaut est 1, mais vous pouvez utiliser
960 une valeur plus grande. Nous vous recommandons fortement de lire
961 attentivement le paragraphe WARNING sous \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs}
962 dans la section concernant la ressource Director.
964 \item {\bf Reschedule On Error = \lt{}yes|no\gt{}}
965 \index[dir]{Reschedule On Error }
966 Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera
967 reprogramm\'e en accord avec les directives {\bf Reschedule Interval} et
968 {\bf Reschedule Times}. Si vous supprimez le job, il ne sera pas reprogramm\'e.
969 La valeur par d\'efaut est {\bf no}.
971 Cette sp\'ecification peut se r\'ev\'eler utile pour les pc portables ainsi que pour toutes
972 les machines qui ne sont pas connect\'ees au r\'eseau en permanence.
974 \item {\bf Reschedule Interval = \lt{}time-specification\gt{}}
975 \index[dir]{Reschedule Interval }
976 Si cette directive est activ\'ee, alors si le job se termine en erreur, il sera
977 reprogramm\'e apr\`es l'intervalle de temps stipul\'e par {\bf time-specification}.
978 Consultez la section \ilink{ the time specification formats}{Time} du chapitre
979 Configurer Bacula pour plus de d\'etails sur les sp\'ecifications de temps. Si
980 aucun intervalle n'est sp\'ecifi\'e, le job ne sera pas reprogramm\'e en cas d'erreur.
982 \item {\bf Reschedule Times = \lt{}count\gt{}}
983 \index[dir]{Reschedule Times }
984 Cette directive pr\'ecise le nombre maximal de tentatives d'ex\'ecution du job.
985 S'il est fix\'e \`a z\'ero (valeur par d\'efaut), le job sera reprogramm\'e
989 \item {\bf Priority = \lt{}number\gt{}}
990 \index[dir]{Priority }
991 Cette directive vous permet de contr\^oler l'ordre d'ex\'ecution des jobs en
992 sp\'ecifiant un entier positif non nul. Plus grand est ce nombre, plus basse
993 est la priorit\'e du job. En supposant que vous n'ex\'ecutiez pas de jobs
994 simultan\'es, tous les jobs en file d'attente avec la priorit\'e 1 seront
995 ex\'ecut\'es avant ceux avec la priorit\'e 2, et ainsi de suite, sans prise en
996 compte de l'ordre original de planification.
998 La priorit\'e affecte seulement les jobs en file d'attente, et non les jobs d\'eja
999 en cours d'ex\'ecution. Si un ou plusieurs jobs de priorit\'e 2 sont d\'ej\`a en cours
1000 d'ex\'ecution, et si un nouveau job est programm\'e avec la priorit\'e 1, les jobs
1001 en cours d'ex\'ecution doivent se terminer pour que le job de priorit\'e 1 puisse
1004 La priorit\'e par d\'efaut est 10.
1006 Si vous voulez ex\'ecutez plusieurs jobs simultan\'es, ce qui n'est pas recommand\'e,
1007 vous devriez garder les points suivants \`a l'esprit :
1010 \item Pour ex\'ecuter plusieurs jobs simultan\'es, vous devez ajuster la directive
1011 {\bf Maximum Concurrent Jobs } en cinq ou six endroits diff\'erents : dans le
1012 fichier bacula-dir.conf, les ressources {\bf Job}, {\bf Client}, {\bf Storage};
1013 dans le fichier bacula-fd, la ressource {\bf FileDaemon}; et dans le fichier
1014 bacula-sd.conf, la ressource {\bf Storage}. Si vous omettez l'un d'entre eux,
1015 les jobs seront ex\'ecut\'es un par un.
1016 \item Bacula n'ex\'ecute pas simultan\'ement les jobs de priorit\'es distinctes.
1017 \item Si Bacula ex\'ecute un job de priorit\'e 2 et si un nouveau job de priorit\'e
1018 1 est programm\'e, il attendra la fin du job de priorit\'e 1, m\^eme si les
1019 param\`etres {\bf Maximum Concurrent Jobs} pourraient permettre l'ex\'ecution
1020 simultan\'ee de deux jobs.
1021 \item Supposons que Bacula soit en train d'ex\'ecuter un job de priorit\'e 2 et qu'un
1022 job de priorit\'e 1 soit programm\'e et mis en queue en attente de la fin du
1023 job de priorit\'e 2. Si vous d\'emarrez alors un second job de priorit\'e 2, le job
1024 en attente de priorit\'e 1 emp\`echera le nouveau job de priorit\'e 2 de s'ex\'ecuter
1025 en parall\`ele au premier. Ainsi : tant qu'il reste un job de priorit\'e sup\'erieure
1026 \`a ex\'ecuter, aucun nouveau job de priorit\'e inf\'erieure ne pourra d\'emarrer, m\^eme si
1027 les param\`etres {\bf Maximum Concurrent Jobs} devraient le permettre. Ceci permet
1028 d'assurer que les jobs de priorit\'e sup\'erieure seront ex\'ecut\'es d\`es que possible.
1031 Si vous avez plusieurs jobs de priorit\'es diff\'erentes, il est pr\'ef\'erable de ne pas les
1032 d\'emarrer exactement \`a la m\^eme heure, car Bacula doit les examiner un \`a la fois. Si,
1033 par hazard, Bacula commence par traiter un job de priorit\'e inf\'erieure, il sera
1034 ex\'ecut\'e avant votre job de priorit\'e \'elev\'e. Pour \'eviter cette situation,
1035 d\'emarrez l'un quelconque des jobs de priorit\'e \'elev\'ee quelques secondes avant
1036 ceux de basse priorit\'e. Ainsi, vous serez assur\'e que Bacula examine les jobs
1037 dans l'ordre voulu et que votre sch\'ema de priorit\'es sera respect\'e.
1039 \label{WritePartAfterJob}
1041 \item {\bf Write Part After Job = \lt{}yes|no\gt{}}
1042 \index[sd]{Write Part After Job }
1043 Si la valeur de cette directive est {\bf yes} ({\bf no} par d\'efaut), un nouveau
1044 "fichier partition" (ndt : part file) sera cr\'e\'e apr\`es la fin du job.
1046 Cette directive devrait \^etre activ\'ee lors de l'\'ecriture sur des p\'eriph\'erique
1047 qui requi\`erent un montage (par exemple, les DVDs), afin de vous assurer que
1048 le fichier partition courant, celui qui contient les donn\'ees de ce job, est
1049 envoy\'e vers le p\'eriph\'erique, et qu'aucune donn\'ee n'est laiss\'ee dans le fichier
1050 temporaire sur le disque dur. Quoi qu'il en soit, avec certains supports tels
1051 que les DVD+R et DVD-R, beaucoup d'espace (environ 10 Mb) est perdu \`a chaque fois
1052 qu'un fichier partition est \'ecrit. Aussi, si vous ex\'ecutez plusieurs jobs \`a la
1053 suite, vous devriez r\'egler cette directive \`a {\bf no} pour tous ces jobs sauf
1054 le dernier, pour \'eviter un gaspillage important d'espace, tout en ayant la certitude
1055 que les donn\'ees sont bien \'ecrites sur le m\'edium lorsque tous les jobs sont
1058 Cette directive est ignor\'ee avec les bandes et les p\'eriph\'eriques FIFO.
1061 Voici un exemple de d\'efinition de ressource Job valide.
1068 Level = Incremental # default
1070 FileSet="Minou Full Set"
1073 Schedule = "MinouWeeklyCycle"
1079 \subsection*{La ressource JobDefs}
1080 \label{JobDefsResource}
1081 \index[general]{JobDefs Resource }
1082 \index[general]{Resource!JobDefs }
1083 \addcontentsline{toc}{subsection}{JobDefs Resource}
1085 La ressource Jobdefs admet toutes les directives qui peuvent apparaître dans
1086 une ressource Job. Une ressource Jobdefs ne cr\'e\'e en aucun cas un Job, son r\^ole
1087 est de pouvoir \^etre d\'esign\'ee dans une ressource Job comme un ensemble de
1088 param\`etres par d\'efaut. Ceci permet de d\'efinir plusieurs jobs similaires avec
1089 concision, en ne mentionnant, pour chaque job, que les diff\'erences avec les
1090 valeurs par d\'efaut sp\'ecifi\'ees dans la ressource Jobdefs.
1092 \subsection*{La ressource Schedule}
1093 \label{ScheduleResource}
1094 \index[general]{Resource!Schedule }
1095 \index[general]{Schedule Resource }
1096 \addcontentsline{toc}{subsection}{Schedule Resource}
1098 La ressource Schedule offre un moyen pour planifier automatiquement un Job,
1099 mais aussi la possibilit\'e de surcharger les param\`etres par d\'efaut de Level,
1100 Pool, Storage, et Messages ressources. Si une ressource Schedule n'est pas
1101 sp\'ecifi\'ee dans un job, ce job ne peut \^etre ex\'ecut\'e que manuellement.
1102 En g\'en\'eral, vous sp\'ecifierez une action et le moment de son lancement.
1107 \index[sd]{Schedule }
1108 D\'ebut des directives Schedule. La ressource {\bf Schedule} n'est pas requise,
1109 mais il vous en faudra au moins une si vous souhaitez que vos jobs soient
1110 ex\'ecut\'es automatiquement.
1112 \item [Name = \lt{}name\gt{}]
1114 Le nom du Schedule d\'efini. Cette directive est requise.
1116 \item [Run = \lt{}Job-overrides\gt{} \lt{}Date-time-specification\gt{} ]
1118 La directive Run d\'efinit quand un job doit \^etre ex\'ecut\'e, et les \'eventuelles
1119 surcharges \`a appliquer. Il est possible de sp\'ecifier plusieurs directives
1120 {\bf run} au sein d'une ressource {\bf Schedule}, elles seront toutes
1121 appliqu\'ees. Si vous avez deux directives {\bf Run} qui d\'emarrent au m\^eme
1122 moment, deux jobs seront lanc\'es simultan\'ement (en fait, avec une seconde d'\'ecart).
1125 La directive {\bf Job-overrides} permet d'outrepasser les sp\'ecifications de
1126 Level, Storage, Messages et Pool \'ecrites dans la ressource Job. De plus,
1127 les sp\'ecifications FullPool, DifferentialPool et IncrementalPool permettent
1128 de passer outre les sp\'ecification de Pool, en accord avec le niveau (level)
1129 effectif d'ex\'ecution du job.
1131 L'utilisation de surcharges permet de peaufiner le param\'etrage d'un job
1132 particulier. Par exemple, vous pourriez surcharger une sp\'ecification
1133 Messages qui enverrait vos logs de backups vers un fichier, de fa\
\ 3on \`a ce qu'ils
1134 vous soient envoy\'es par mails pour les Fulls hebdomadaires ou mensuelles.
1136 Les directives {\bf Job-overrides} sont sp\'ecifi\'ees en tant que {\bf mot-clef=valeur}
1137 o\`u le mot-clef est l'un des suivants : Level, Storage, Messages, Pool, FullPool,
1138 DifferentialPool ou IncrementalPool, et la {\bf valeur} est d\'efinie selon le format
1139 adapt\'e \`a la directive. Vous pouvez sp\'ecifier plusieurs surcharges {\bf Job-overrides}
1140 en une seule directive {\bf Run} en les s\'eparant par des espaces ou des
1141 trailing comas (traduction ?). Par exemple :
1147 Tous les fichiers du FileSet qu'ils aient ou non chang\'e.
1149 \item [Level=Incremental]
1151 Tous les fichiers qui ont chang\'e depuis la derni\`ere sauvegarde.
1155 Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Weekly}.
1157 \item [Storage=DLT\_Drive]
1158 \index[sd]{Storage }
1159 Sp\'ecifie l'utilisation du lecteur {\bf DLT\_Drive} pour p\'eriph\'erique de stockage.
1161 \item [Messages=Verbose]
1162 \index[sd]{Messages }
1163 Sp\'ecifie l'utilisation de la ressource messages {\bf Verbose} pour le job.
1165 \item [FullPool=Full]
1166 \index[sd]{FullPool }
1167 Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Full} si le job est une sauvegarde Full,
1168 ou s'il a \'et\'e \'elev\'e en Full bien qu'ayant \'et\'e lanc\'e en tant que diff\'erentiel ou
1171 \item [DifferentialPool=Differential]
1172 \index[sd]{DifferentialPool }
1173 Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Differential} si le job est une
1174 sauvegarde diff\'erentielle.
1176 \item [IncrementalPool=Incremental]
1177 \index[sd]{IncrementalPool }
1178 Sp\'ecifie l'utilisation du Pool nomm\'e {\bf Incremental} si le job est une
1179 sauvegarde incr\'ementale.
1181 \item [SpoolData=yes|no]
1182 \index[sd]{SpoolData }
1183 Indique \`a Bacula d'ordonner au Storage Daemon de placer les donn\'ees sur un
1184 spool disque avant de les envoyer vers les cartouches.
1186 \item [WritePartAfterJob=yes|no]
1187 \index[sd]{WritePartAfterJob }
1188 Indique \`a Bacula d'ordonner au Storage Daemon d'\'ecrire le fichier partition
1189 courant vers le p\'eriph\'erique lorsque le job s'ach\`eve (voir
1190 \ilink{la directive Write Part After Job dans la ressource Job}{WritePartAfterJob}).
1193 {\bf Date-time-specification} D\'etermine la planification d'ex\'ecution du job.
1194 La sp\'ecification est une r\'ep\'etition, et, par d\'efaut, Bacula est param\'etr\'e
1195 pour ex\'ecuter un job au d\'ebut de chaque heure de chaque jour de chaque semaine
1196 de chaque mois de chaque ann\'ee. Ce n'est probablement pas ce que vous souhaitez,
1197 aussi vous devez pr\'eciser ou limiter les moments o\`u vous souhaitez voir vos jobs
1198 ex\'ecut\'es. Toute sp\'ecification est suppos\'ee cyclique et servira \`a limiter le
1199 cycle par d\'efaut. Ceci se fait en sp\'ecifiant des masques ou des horaires,
1200 jours de la semaine, jours du mois, semaines du mois, semaines de l'ann\'ee et
1201 mois de l'ann\'ee o\`u vous voulez ex\'ecuter le job. En combinant ces possibilit\'es,
1202 vous pouvez d\'efinir une planification qui se r\'ep\`ete \`a presque n'importe quelle
1205 Concr\`etement, vous devez d\'efinir les {\bf mois}, {\bf jour}, {\bf heure} et
1206 {\bf minute} o\`u le job est \`a ex\'ecuter. Parmis ces quatre objets, le {\bf jour}
1207 est particulier en ce qu'il peut sp\'ecifier un jour du mois (1,2,...31) ou de la
1208 semaine (Monday, Tuesday,...Sunday). Enfin, vous pouvez aussi sp\'ecifier un
1209 jour de la semaine pour restreindre la planification \`a la premi\`ere, deuxi\`eme,
1210 troisi\`eme, quatri\`eme ou cinqui\`eme semaine du mois.
1212 Par exemple, si vous sp\'ecifiez seulement un jour de la semaine, disons {\bf Mardi},
1213 le job sera ex\'ecut\'e toutes les heures de chaque mardi de chaque mois. La raison
1214 en est que les param\`etres {\bf Mois} et {\bf Heure} sont rest\'es \`a leurs valeurs
1215 par d\'efaut : chaque mois et chaque heure.
1217 Notez que, par d\'efaut, sans autre sp\'ecification, votre job s'ex\'ecutera au
1218 d\'ebut de chaque heure. Si vous souhaitez que votre job s'ex\'ecute plus souvent
1219 qu'une fois par heure, il vous faudra d\'efinir plusieurs sp\'ecifications {\bf run}
1220 avec pour chacune une minut diff\'erente.
1222 Les dates et horaires d'ex\'ecutions des jobs peuvent \^etre sp\'ecifi\'es comme suit,
1229 <week-keyword> = 1st | 2nd | 3rd | 4th | 5th | first |
1230 second | third | forth | fifth
1231 <wday-keyword> = sun | mon | tue | wed | thu | fri | sat |
1232 sunday | monday | tuesday | wednesday |
1234 <week-of-year-keyword> = w00 | w01 | ... w52 | w53
1235 <month-keyword> = jan | feb | mar | apr | may | jun | jul |
1236 aug | sep | oct | nov | dec | january |
1237 february | ... | december
1238 <daily-keyword> = daily
1239 <weekly-keyword> = weekly
1240 <monthly-keyword> = monthly
1241 <hourly-keyword> = hourly
1242 <digit> = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
1243 <number> = <digit> | <digit><number>
1244 <12hour> = 0 | 1 | 2 | ... 12
1245 <hour> = 0 | 1 | 2 | ... 23
1246 <minute> = 0 | 1 | 2 | ... 59
1247 <day> = 1 | 2 | ... 31
1248 <time> = <hour>:<minute> |
1249 <12hour>:<minute>am |
1251 <time-spec> = <at-keyword> <time> |
1253 <date-keyword> = <void-keyword> <weekly-keyword>
1254 <day-range> = <day>-<day>
1255 <month-range> = <month-keyword>-<month-keyword>
1256 <wday-range> = <wday-keyword>-<wday-keyword>
1257 <range> = <day-range> | <month-range> |
1259 <date> = <date-keyword> | <day> | <range>
1260 <date-spec> = <date> | <date-spec>
1261 <day-spec> = <day> | <wday-keyword> |
1262 <day-range> | <wday-range> |
1264 <day-spec> = <day> | <wday-keyword> |
1265 <week-keyword> <wday-keyword>
1266 <month-spec> = <month-keyword> | <month-range> |
1268 <date-time-spec> = <month-spec> <day-spec> <time-spec>
1274 Notez que les sp\'ecifications de semaine et d'ann\'ee suivent les d\'efinitions ISO
1275 standard de semaine et ann\'ee, o\`u la semaine 1 est la semaine qui contient le
1276 premier jeudi de l'ann\'ee, ou alternativement, la semaine qui contient le
1277 quatri\`eme jour de janvier. Les semaines sont num\'erot\'ees w01 \`a w53. w00 est
1278 pour Bacula la semaine qui pr\'ec\`ede la premi\`ere semaine ISO (c'est \`a dire celle
1279 qui contient les quelques premiers jours de l'ann\'ee si aucun n'est un jeudi).
1280 w00 n'est pas d\'efinie dans les sp\'ecifications ISO. Une semaine commence le Lundi
1281 et se termine le Dimanche.
1283 Voici un exemple de ressource Schedule nomm\'ee {\bf WeeklyCycle} qui ex\'ecute
1284 un job de niveau Full chaque Dimanche \`a 1h05 et un job de niveau incr\'emental
1285 du Lundi au Samedi \`a 1h05 :
1290 Name = "WeeklyCycle"
1291 Run = Level=Full sun at 1:05
1292 Run = Level=Incremental mon-sat at 1:05
1297 Voici un exemple de cycle mensuel :
1302 Name = "MonthlyCycle"
1303 Run = Level=Full Pool=Monthly 1st sun at 1:05
1304 Run = Level=Differential 2nd-5th sun at 1:05
1305 Run = Level=Incremental Pool=Daily mon-sat at 1:05
1310 Le premier de chaque mois :
1316 Run = Level=Full on 1 at 1:05
1317 Run = Level=Incremental on 2-31 at 1:05
1322 Toutes les dix minutes :
1328 Run = Level=Full hourly at 0:05
1329 Run = Level=Full hourly at 0:15
1330 Run = Level=Full hourly at 0:25
1331 Run = Level=Full hourly at 0:35
1332 Run = Level=Full hourly at 0:45
1333 Run = Level=Full hourly at 0:55
1338 \subsection*{Notes techniques sur les Schedules}
1339 \index[general]{Schedules!Technical Notes on }
1340 \index[general]{Technical Notes on Schedules }
1341 \addcontentsline{toc}{subsection}{Notes techniques sur les Schedules}
1342 Au niveau interne, Bacula consid\`ere un schedule en tant que bit masque.
1343 Il y a six masques et un champ minute pour chaque schedule. Les masques sont
1344 heure, jour du mois (mday), jour de la semaine (wday), semaine du mois (wom),
1345 et semaine de l'ann\'ee (woy). Le schedule est initialis\'e de fa\
\ 3on \`a avoir les
1346 bits de chacun de ces masques positionn\'es, ce qui signifie qu'au d\'ebut de chaque
1347 heure, le job sera ex\'ecut\'e. Quand vous sp\'ecifiez un mois pour la premi\`ere
1348 fois, le masque est effac\'e et le bit correspondant au mois s\'electionn\'e est
1349 ajout\'e au masque. Si vous sp\'ecifiez un second mois, le bit correspondant
1350 est aussi ajout\'e. Ainsi, lorsque Bacula examine le masque pour voir si
1351 les bits plac\'es correspondent \`a la date courante, votre job ne sera ex\'ecut\'e
1352 que pendant les deux mois que vous avez sp\'ecifi\'es. De m\^eme, si vous sp\'ecifiez
1353 un horaire, le masque Heure est effac\'e et le bit correspondant \`a l'heure que
1354 vous avez sp\'ecifi\'ee est plac\'e, les minutes sont quant \`a elles stock\'ees dans le
1357 Pour chacun de vos schedules, vous pouvez visualiser le masque associ\'e
1358 grâce \`a la commande {\bf show schedules} du programme Console.
1359 Notez que le bit masque est "zero based", et que Dimanche est le premier
1360 jour de la semaine (bit 0)
1362 \subsection*{La ressource FileSet }
1363 \label{FileSetResource}
1364 \index[general]{Resource!FileSet }
1365 \index[general]{FileSet Resource }
1366 \addcontentsline{toc}{subsection}{FileSet Resource}
1368 La ressource FileSet d\'efinit les fichiers \`a inclure dans une sauvegarde. Pour
1369 chaque job de type sauvegarde, il est n\'ecessaire de d\'efinir au moins une
1370 ressource {\bf FileSet}. Un {\bf FileSet} consiste en une liste de fichiers
1371 ou r\'epertoires \`a inclure, une liste de fichiers ou r\'epertoires \`a exclure, et
1372 diverses options de sauvegardes telles que compression, chiffrement et
1373 signatures qui doivent \^etre appliqu\'ees \`a chaque fichier.
1375 Toute modification de la liste des fichiers inclus provoque la cr\'eation par Bacula
1376 d'un nouveau FileSet (d\'efini par le nom et la somme de contr\^ole MD5 du contenu
1377 du paragraphe Include). Chaque fois qu'un nouveau FileSet est cr\'e\'e, Bacula
1378 s'assure que la premi\`ere sauvegarde est une Full.
1383 \index[dir]{FileSet }
1384 D\'ebut de la ressource FileSet. Au moins une ressource {\bf FileSet} doit
1387 \item [Name = \lt{}name\gt{}]
1389 Le nom de la ressource FileSet. Cette directive est requise.
1391 \item [Ignore FileSet Changes = \lt{}yes|no\gt{}]
1392 \index[dir]{Ignore FileSet Changes }
1393 Si cette directive est activ\'ee ({\bf yes}), toute modification des listes
1394 d'inclusion ou d'exclusion du FileSet sera ignor\'ee et Bacula n'\'el\`evera
1395 pas la prochaine sauvegarde en Full. La valeur par d\'efaut est {\bf no}, ainsi,
1396 si vous modifiez une des listes d'inclusion ou d'exclusion du FileSet, Bacula
1397 forcera une sauvegarde Full pour assurer que tout soit bien sauvegard\'e
1398 proprement. Il n'est pas recommand\'e d'activer cette directive. Cette directive
1399 est disponible \`a partir de Bacula 1.35.4.
1401 \item [{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1402 \lt{}file-list\gt{} \}
1404 \index[dir]{Include \ \{ [ Options \{\lt{}file-options\gt{}\} ...]
1405 \lt{}file-list\gt{} \} }
1407 \item [Options \ \{ \lt{}file-options\gt{} \}
1409 \index[dir]{Options \ \{ \lt{}file-options\gt{} \} }
1411 \item [Exclude \ \{ \lt{}file-list\gt{} \}]
1412 \index[dir]{Exclude \ \{ \lt{}file-list\gt{} \} }
1414 La ressource Include doit contenir une liste de r\'epertoires et/ou fichiers
1415 \`a traiter lors de la sauvegarde. Normalement, tous les fichiers trouv\'es dans
1416 tous les sous-r\'epertoires de tout r\'epertoire de la liste d'inclusion des
1417 fichiers seront sauvegard\'es. La ressource Include peut aussi comporter une
1418 ou plusieurs ressources Options qui sp\'ecifient des param\`etres tels que
1419 la compression \`a appliquer \`a tous les fichiers ou \`a n'importe quel sous ensemble
1420 de fichiers \`a sauvegarder.
1422 Le nombre de ressources {\bf Include} par FileSet n'est pas limit\'e, chacune ayant
1423 sa propre liste de r\'epertoires et/ou fichiers \`a sauvegarder et ses propres
1424 param\`etres d\'efinis par une ou plusieurs ressources Options. La liste de fichiers
1425 {\bf file-list} consiste en un nom de fichier ou r\'epertoire par ligne.
1426 Les noms de r\'epertoire doivent \^etre sp\'ecifi\'es sans slash final.
1428 Vous devez toujours sp\'ecifier des chemins absolus pour tout fichier ou
1429 r\'epertoire que vous placez dans un FileSet. De plus, sur les machines Windows,
1430 vous devez {\bf toujours} pr\'efixer le r\'epertoire ou nom de fichier d'une
1431 sp\'ecification de disque (par exemple : {\bf c:/xxx}) en utilisant le s\'eparateur
1432 de r\'epertoire Unix (slash /).
1434 Le comportement par d\'efaut de Bacula en ce qui concerne le traitement des
1435 r\'epertoires est de descendre r\'ecursivement dans chaque r\'epertoire
1436 et de sauvegarder tous les fichiers et sous-r\'epertoires. Par d\'efaut, Bacula
1437 ne suit pas les syst\`emes de fichiers transverses (en terminologie Unix, les
1438 points de montage). Ceci signifie que si vous sp\'ecifiez la partition racine
1439 ( par exemple /), Bacula sauvegardera seulement la partition racine, et aucun
1440 des syst\`emes de fichiers mont\'es. De fa\
\ 3on analogue, sur les syst\`emes Windows,
1441 vous devez expliciter chacun des disques que vous souhaitez sauvegarder (par
1442 exemple {\bf c:/} et {\bf d:/}...). De plus, au moins pour les syst\`emes
1443 Windows, il sera la plupart du temps n\'ecessaire d'encadrer chaque sp\'ecification
1444 de doubles quotes, particuli\`erement si le nom du r\'epertoire (ou du fichier)
1445 comporte des espaces. La commande {\bf df} des syst\`emes Unix vous fournira
1446 la liste des r\'epertoires qu'il vous faudra sp\'ecifier pour tout sauvegarder.
1447 Voyez ci-dessous pour un exemple.
1449 Soyez attentif \`a ne pas inclure un r\'epertoire deux fois, car il serait
1450 sauvegard\'e deux fois, ce qui gaspillerait l'espace sur votre p\'eriph\'erique
1451 de sauvegarde. Cette erreur est facile \`a commettre. Par exemple :
1458 Options { compression=GZIP }
1463 Sur un syst\`eme Unix o\`u /usr est un sous r\'epertoire (plut\^ot qu'un syst\`eme de
1464 fichiers mont\'e), cette ressource Include sauvegarderait /usr deux fois.
1465 Dans ce cas, sur les versions ant\'erieures \`a 1.32f-5-09Mar04, en raison
1466 d'un bug, vous ne pourriez restaurer les fichiers li\'es physiquement sauvegard\'es
1469 Si vous avez utilis\'e des versions de Bacula ant\'erieures \`a 1.34.3, vous noterez
1470 ces modifications dans la syntaxe des FileSets :
1473 \item il n'y a pas de signe \'egale (=) apr\`es le "include" et avant l'accolade
1475 \item chaque r\'epertoire (ou nom de fichier) \`a sauvegarder est pr\'ec\'ed\'e de
1477 \item les options qui apparaissaient pr\'ec\'edemmant sur la ligne Include doivent
1478 d\'esormais \^etre sp\'ecifi\'ees dans leur propre ressource Options.
1481 La ressource Options est optionnelle, mais lorsqu'elle est sp\'ecifi\'ee, elle doit
1482 contenir une liste de lignes "{\bf mot-clef=valeur}" relatives aux options \`a appliquer
1483 \`a la liste de fichiers/r\'epertoires. Plusieurs ressources Options peuvent \^etre
1484 sp\'ecifi\'ees l'une apr\`es l'autre. Lorsqu'un fichier se trouve dans un dossier
1485 sp\'ecifi\'e, les options sont appliqu\'ees au nom de fichier pour savoir s'il doit
1486 \^etre sauvegard\'e, et comment. Les ressources Options sont appliqu\'ees dans l'ordre
1487 o\`u elles apparaîssent dans le FileSet jusqu'\`a ce qu'il y en ait une qui corresponde.
1488 Une ressource Options qui ne contient pas de directive {\bf wild} (sp\'ecification
1489 de caract\`ere joker, voir ci-dessous) est consid\'er\'ee comme concernant tous les
1490 fichiers. Il est important de bien comprendre ceci, car une fois que Bacula a
1491 d\'etermin\'e que des Options s'appliquent \`a un fichier donn\'e, ce fichier sera
1492 sauvegard\'e sans tenir compte d'aucunes des \'eventuelles autres ressources Options.
1493 Ceci signifie que toute ressource Options avec caract\`eres joker doit apparaître
1494 avant une ressource Options sans caract\`eres joker.
1496 Si, pour quelque raison, Bacula applique toutes les ressources Options \`a un
1497 fichier sans qu'aucune ne corresponde (en g\'en\'eral \`a cause de caract\`eres joker
1498 qui ne correspondent pas), par d\'efaut Bacula sauvegardera le fichier. Ceci est
1499 assez logique si vous consid\'erez la situation sans options, o\`u vous souhaitez
1500 que tout soit sauvegard\'e. De plus, dans le cas ou aucune correspondance n'est
1501 trouv\'ee, Bacula utilise les options de la derni\`ere ressource Options. Par cons\'equent,
1502 si vous souhaitez d\'efinir un jeu d'options par d\'efaut, vous devriez les placer
1503 dans la derni\`ere ressource Options.
1505 Les directives disponibles pour les ressources Options sont les suivantes :
1508 \item [compression=GZIP]
1509 \index[fd]{compression }
1510 Tous les fichiers sauvegard\'es sont compress\'es (NDT : compression logicielle,
1511 par opposition \`a la compression mat\'erielle effectu\'ee par le lecteur) au
1512 format GNU ZIP. Chaque fichier est compress\'e individuellement par le File
1513 Daemon. S'il y a un probl\`eme \`a la lecture d'une cartouche au niveau de
1514 l'enregistrement d'un fichier, il affectera tout au plus ce fichier et aucun
1515 des autres fichiers de la cartouche. La plupart du temps, cette option n'est
1516 pas n\'ecessaire si vous avez un lecteur de bandes moderne qui applique sa
1517 propre compression. En fait, si vous activez les deux compressions
1518 simultan\'ement, il se peut que vos fichiers occupent plus d'espace sur le
1519 volume qu'avec une seule.
1521 La compression logicielle est particuli\`erement int\'eressante lorsque vous
1522 sauvegardez sur disque, et peut \^etre d'un grand secours si vous avez un
1523 ordinateur rapide mais un r\'eseau lent.
1525 La sp\'ecification {\bf GZIP} utilise le niveau de compression six par d\'efaut
1526 (i.e. {\bf GZIP} est \'equivalent \`a {\bf GZIP6}). Si vous voulez utiliser un
1527 niveau diff\'erent (de 1 \`a 9), vous pouvez le sp\'ecifier en ajoutant le num\'ero
1528 du niveau voulu \`a la fin du mot {\bf GZIP}, sans espace. Ainsi, {\bf compression=GZIP1}
1529 d\'esigne la compression la moins efficace, mais l'algorithme le plus rapide,
1530 tandis que {\bf compression=GZIP9} est le niveau de compression le plus \'elev\'e,
1531 mais requi\`ere plus de puissance de calcul. Selon la documentation GZIP, les
1532 niveaux de compression sup\'erieurs \`a 6 ne procurent g\'en\'eralement que peu
1533 de compression suppl\'ementaire alors qu'ils sont plut\^ot exigeants en puissance
1536 \item [signature=SHA1]
1537 \index[fd]{signature }
1538 La signature SHA1 est calcul\'ee pour tous les fichiers sauvegard\'es.
1539 L'algorithme SHA1 est
1540 r\'eput\'e plus lent que MD5, mais bien meilleur d'un point de vue cryptographique
1541 (i.e. beaucoup moins de collisions et probabilit\'e de piratage bien inf\'erieure.).
1542 Nous recommandons fortement d'activer l'une ou l'autre des options SHA1 ou MD5
1543 par d\'efaut pour tous les fichiers. Notez que seule l'une de ces deux options
1544 peut \^etre activ\'ee pour tout fichier.
1546 \item [signature=MD5]
1547 \index[fd]{signature }
1548 La signature MD5 est calcul\'ee pour tous les fichiers sauvegard\'es. Activer cette
1549 option r\'esulte en une charge CPU suppl\'ementaire de l'ordre de 5\% pour chaque
1550 fichier sauvegard\'e. D'autre part, la signature MD5 ajoute 16 octets
1551 suppl\'ementaires au catalogue pour chaque fichier sauvegard\'e. Nous recommandons
1552 fortement d'activer l'une ou l'autre des options SHA1 ou MD5 par d\'efaut pour tous
1555 \item [verify=\lt{}options\gt{}]
1557 Les "options-lettres" sont utilis\'ees lors de l'ex\'ecution de jobs de type {\bf Verify}
1558 de niveau {\bf Level=Catalog} et de niveau {\bf Level=DiskToCatalog}. Les options
1559 peuvent \^etre n'importe quelle combinaison de ces lettres.
1567 compare bits de permissions
1570 compare le nombre de liens
1573 compare les user ids
1576 compare les group ids
1582 compare les date d'acc\`es (access time)
1585 compare les dates de modification (st\_mtime)
1588 compare les dates de changement (st\_ctime)
1591 signale tout fichier dont la taille a diminu\'e
1594 compare les signatures MD5
1597 compare les signatures SHA1
1600 Le jeu d'options {\bf pins5} (qui compare les bits de permissions, les inodes,
1601 les nombres de liens, la taille des fichiers et les signatures MD5) est tr\`es
1602 utile pour des jobs de type verify de niveaux {\bf Level=Catalog} ou
1603 {\bf Level=DiskToCatalog}.
1605 \item [{\bf onefs=yes|no}]
1607 Si cette option est activ\'ee (valeur {\bf yes}, par d\'efaut), Bacula ne
1608 changera pas de syst\`eme de fichiers. Autrement dit, il ne sauvegardera pas
1609 les syst\`emes de fichiers mont\'es sur des sous-r\'epertoires. Si vous souhaitez
1610 sauvegarder plusieurs syst\`emes de fichiers, vous pouvez les \'enum\'erer
1611 explicitement. Une autre possibilit\'e consiste \`a d\'esactiver l'option onefs
1612 ({\bf onefs=no}) afin que Bacula sauvegarde les syst\`emes de fichiers mont\'es
1613 trouv\'es dans les r\'epertoires list\'es dans votre FileSet. Ainsi, si vous avez
1614 des syst\`emes de fichiers NFS ou Samba mont\'es sur un r\'epertoire list\'e dans le
1615 FileSet, ils seront aussi sauvegard\'es. En principe, il est pr\'ef\'erable
1616 d'activer cette option et de nommer explicitement chaque syst\`eme de fichier
1617 que vous voulez sauvegarder. Ce nommage explicite \'evite le risque de tomber
1618 dans une boucle infinie de syst\`emes de fichiers. Voyez l'exemple ci-dessous
1619 pour plus de d\'etails.
1623 \item [{\bf portable=yes|no}]
1624 \index[dir]{portable }
1625 Si cette option est activ\'ee (la valeur par d\'efaut est {\bf no}), le File Daemon
1626 sauvegarde les fichiers win32 dans un format portable, mais tous les attributs
1627 de fichiers win32 ne seront pas sauvegard\'es ni restaurables. La valeur par
1628 d\'efaut est {\bf no}, ce qui signifie que sur les syst\`emes Win32, les donn\'ees
1629 sont sauvegard\'ees en utilisant les appels Windows API et sur les WinNT/2k/XP,
1630 tous les attributs de s\'ecurit\'e et de propri\'et\'e sont correctement sauvegard\'es
1631 et restaur\'es. Cependant, ce format n'est pas portable aux autres syst\`emes
1632 -- par exemple UNIX, Win95/98/Me. Lors de la sauvegarde de syst\`emes Unix,
1633 cette option est ignor\'ee, et \`a moins que vous n'ayez un besoin sp\'ecifique de
1634 portabilit\'e de vos sauvegardes, nous recommandons d'accepter la valeur par
1635 d\'efaut ({\bf no}) de sorte qu'un maximum d'informations concernant vos
1636 fichiers soit sauvegard\'e.
1638 \item [{\bf recurse=yes|no}]
1639 \index[fd]{recurse }
1640 Si cette option est activ\'ee (la valeur par d\'efaut est {\bf yes}), Bacula
1641 descend r\'ecursivement dans tout sous-r\'epertoire trouv\'e, \`a moins qu'il ne soit
1642 explicitement exclu par une d\'efinition {\bf exclude}. Si vous d\'esactivez cette
1643 option ({\bf recurse=no}), Bacula sauvegardera toutes les entr\'ees de sous-
1644 r\'epertoires, mais n'entrera pas dans ces sous-r\'epertoires, et ainsi ne
1645 sauvegardera pas les fichiers ou \'epertoires contenus dans ces sous-r\'epertoires.
1646 En principe, vous pr\'ef\`ererez la valeur par d\'efaut ({\bf yes}).
1648 \item [{\bf sparse=yes|no}]
1649 \index[dir]{sparse }
1650 Cette option active un code sp\'ecial qui d\'etecte les fichiers clairsem\'es tels
1651 ceux cr\'e\'es par ndbm. Elle est d\'esactiv\'ee par d\'efaut ({\bf sparse=no}), de sorte
1652 qu'aucun contr\^ole n'est fait pour rechercher les fichiers clairsem\'es. Vous
1653 pouvez l'activer sans danger sur des fichiers non clairsem\'es, cependant elle
1654 entraîne une l\'eg\`ere charge suppl\'ementaire pour la d\'etection de tampons remplis
1655 de z\'eros (buffers of all zero), et un l\'eger surplus d'espace sur l'archive
1656 de sortie sera utilis\'e pour ssauver les adresses de recherche de chaque
1657 enregistrement non-nul trouv\'e.
1659 {\bf Restrictions:} Bacula lit les fichiers dans des tampons de 32K. Si le tampon
1660 entier est rempli de z\'eros, il sera trait\'e en tant que bloc clairsem\'e, et ne sera pas
1661 \'ecrit sur la cartouche. En revanche, si une partie quelconque du tampon est
1662 non-nulle, le tampon sera int\'egralement copi\'e sur la cartouche, avec \'eventuellement
1663 des secteurs de disque (g\'en\'eralement 4098 octets) enti\`erement nuls. La d\'etection par
1664 Bacula des blocs clairsem\'es a lieu sur des blocs de 32K plut\^ot que sur des blocs de
1665 taille d\'etermin\'ee par le syst\`eme. Si quelqu'un consid\`ere ceci comme un r\'eelle
1666 probl\`eme, merci d'envoyer une demande de modification en exposant les raisons.
1667 Ce code est apparu avec la version 1.27 de Bacula.
1669 Si vous n'\^etes pas familier avec les notions de fichiers clairsem\'es, prenons
1670 pour exemple un fichier o\`u vous \'ecrivez 512 octets \`a l'adresse 0, puis 512 octets
1671 \`a l'adresse 1 million. Le syst\`eme d'exploitation n'allouera que deux blocs, et
1672 rien n'est allou\'e pour l'espace vide. Pourtant, lorsque vous lisez le fichier
1673 clairsem\'e, le syst\`eme retourne tous les z\'eros comme si l'espace \'etait allou\'e,
1674 et si vous sauvegardez un tel fichier, vous utiliserez beaucoup d'espace
1675 sur le volume pour \'ecrire des z\'eros. Pire encore, lorsque vous restaurez ce
1676 fichier \`a son emplacement initial, tous les emplacements pr\'ec\'edemment vides
1677 seront cette fois allou\'es, occupant ainsi beaucoup plus d'espace disque.
1678 En activant l'option {\bf sparse}, Bacula recherchera sp\'ecifiquement l'espace
1679 vide dans les fichiers afin d'\'eviter ces inconv\'enients. Le prix \`a payer est que
1680 Bacula doit d'abord examiner chaque bloc lu avant de l'\'ecrire. Sur un syst\`eme lent,
1681 ceci peut-\^etre important. Si vous suspectez certains de vos fichiers d'\^etre
1682 clairsem\'es, vous devriez mesurer les performances et gains d'espace avec et
1683 sans l'options, ou ne l'activer que pour les fichiers effectivement
1688 \item [{\bf readfifo=yes|no}]
1689 \index[fd]{readfifo }
1690 Cette option, si elle est activ\'ee, indique au client de lire les donn\'ees
1691 (lors d'une sauvegarde) et de les \'ecrire (lors d'une restauration) sur
1692 un FIFO (pipe) explicitement explicitement mentionn\'e dans le FileSet.
1693 Dans ce cas, vous devez avoir un programme actif qui \'ecrit sur ce FIFO
1694 dans le cas d'une sauvegarde, ou qui le lit dans le cas d'une restauration.
1695 (Ceci peut \^etre accompli par la directive {\bf RunBeforeJob}). Si cette
1696 condition n'est pas satisfaite, Bacula demeurera en suspens ind\'efiniment
1697 en lecture/\'ecriture du FIFO. Lorsque cette option est d\'esactiv\'ee (par d\'efaut),
1698 le Client sauvegarde simplement l'entr\'ee du r\'epertoire pour le FIFO.
1700 \item [{\bf mtimeonly=yes|no}]
1701 \index[dir]{mtimeonly }
1702 Cette option, si elle est activ\'ee, indique au client que la s\'election de fichiers
1703 lors d'une sauvegarde incr\'ementale ou diff\'erentielle ne doit se r\'ef\'erer qu'aux valeurs
1704 de st\_mtime du paquet stat(). La valeur par d\'efaut est {\bf no}, ce qui signifie
1705 que la s\'election de fichiers \`a sauvegarder se base sur les deux valeurs st\_mtime et
1706 st\_ctime. En g\'en\'eral, il n'est pas recommand\'e d'activer cette option.
1708 \item [{\bf keepatime=yes|no}]
1709 \index[dir]{keepatime }
1710 Avec cette option activ\'ee, Bacula r\'etablit le champ st\_atime (date d'acc\`es) des
1711 fichiers qu'il sauvegarde \`a leur valeur d'avant la sauvegarde. Cette option
1712 n'est g\'en\'eralement pas recommand\'ee car il existe peu de programmes qui utilisent
1713 st\_atime, et la charge de la sauvegarde se trouve augment\'ee par les appels
1714 syst\`emes n\'ecessaires pour r\'etablir les dates. (Je ne suis pas sur que ceci
1715 fonctionne sous Win32).
1717 \item [{\bf wild=\lt{}string\gt{}}]
1719 Sp\'ecifie une chaîne de caract\`eres jokers \`a appliquer aux fichiers. Notez
1720 que si {\bf Exclude} n'est pas activ\'ee, cette chaîne s\'electionnera les fichiers
1721 \`a sauvegarder. Si au contraire {\bf Exclude=yes} est sp\'ecifi\'e, la chaîne
1722 s\'electionnera les fichiers \`a exclure de la sauvegarde. Plusieurs directives
1723 wild-card peuvent \^etre sp\'ecifi\'ees et sont appliqu\'ees s\'equentiellement
1724 jusqu'\`a ce que l'une d'elles corresponde.
1726 \item [{\bf regex=\lt{}string\gt{}}]
1728 Sp\'ecifie une expression r\'eguli\`ere \'etendue POSIX \`a appliquer aux fichiers.
1729 Cette directive est disponible \`a partir de Bacula 1.35. Si {\bf Exclude} n'est
1730 pas activ\'ee, cette expression r\'eguli\`ere s\'electionnera les fichiers \`a
1731 sauvegarder. Si au contraire {\bf Exclude=yes} est sp\'ecifi\'e, elle s\'electionnera
1732 les fichiers \`a exclure de la sauvegarde. Plusieurs directives regex peuvent \^etre
1733 sp\'ecifi\'ees et sont appliqu\'ees s\'equentiellement jusqu'\`a ce que l'une d'elles corresponde.
1735 \item [{\bf exclude=yes|no}]
1736 \index[dir]{exclude }
1737 Lorsque cette option est activ\'ee, tout fichier qui correspond aux options est exclu de
1738 la sauvegarde. La valeur par d\'efaut est {\bf no}.
1742 \item [{\bf aclsupport=yes|no}]
1743 \index[dir]{aclsupport }
1744 Si cette option est activ\'ee, et si vous avez install\'e la librarie POSIX {\bf libacl}
1745 sur votre syst\`eme, Bacula sauvegardera Listes de Contr\^oles d'Acc\`es (ACL) UNIX des
1746 fichiers et r\'epertoires telles que d\'efinies dans IEEE Std 1003.1e version 17 et
1747 "POSIX.1e" (abandonn\'e). Cette fonction n'est disponible que sur UNIX et d\'epend de
1748 la librairie ACL. Bacula est automatiquement compil\'e avec le support ACL si la
1749 librairie {\bf libacl} est install\'ee sur votre syst\`eme (ceci est report\'e dans
1750 le fichier config.out). Lors de la restauration, Bacula tentera de restaurer les
1751 ACLs. S'il n'y a pas de support ACL sur le syst\`eme cible, Bacula ne restaurera que les
1752 fichiers et r\'epertoires sans les informations ACL. Veuillez noter que si vous
1753 sauvegardez un syst\`eme de fichiers EXT3 ou XFS avec le support des ACLs, et que vous
1754 restaurez vers un syst\`eme de fichiers sans ACLs (tel , peut-\^etre reiserfs), les
1755 ACLs seront ignor\'ees.
1759 {\bf \lt{}file-list\gt{}} est une liste de r\'epertoires et/ou noms de fichiers sp\'ecifi\'es
1760 avec la directive {\bf File =}. Pour inclure des noms contenant des espaces,
1761 entourez-les de guillemets (doubles quotes).
1763 Il existe quelques notations particuli\`eres pour sp\'ecifier des fichiers et r\'epertoires
1764 dans une liste de fichiers {\bf file-list}. Les voici :
1767 \item Tout nom pr\'ec\'ed\'e d'un signe "at" (@) est compris comme le nom d'un fichier,
1768 lequel contient une liste de fichiers, chacun pr\'ec\'ed\'e d'une directive "File=".
1769 Ce fichier est lu lorsque le fichier de configuration est parcouru au d\'emarrage
1770 du Director. Notez bien que le fichier est lu sur sur la machine qui h\'eberge le
1771 Director (autrement dit, le serveur de sauvegardes) et non sur le Client.
1772 En fait, le "@NomDeFichier" peut apparaître n'importe o\`u dans le fichier de
1773 configuration o\`u un objet pourrait \^etre lu, le contenu du fichier d\'esign\'e sera
1774 logiquement ins\'er\'e \`a l'emplacement du "@NomDeFichier". Ce qui doit figurer dans le
1775 fichier d\'epend de l'emplacement du "@NomDeFichier" au sein du fichier de
1777 \item Tout nom pr\'ec\'ed\'e d'une barre verticale (|) est compris comme le nom d'un
1778 programme. Ce programme sera ex\'ecut\'e sur la machine qui h\'eberge le Director au
1779 moment o\`u le job d\'emarre (et non lorsque le Director lit son fichier de
1780 configuration), et toute sortie de ce programme sera per\
\ 3u en tant que liste
1781 de fichiers ou r\'epertoires, un par ligne, \`a inclure. Ceci vous permet d'avoir un
1782 job qui, par exemple, inclue toutes les partitions locales m\^eme si vous changez le
1783 partitionnement en ajoutant des disques. En g\'en\'eral, il vous faudra pr\'ec\'eder
1784 votre commande d'un "{\bf sh -c}" afin qu'elle soit invoqu\'ee par un shell.
1785 Ce ne sera pas le cas si vous invoquez un script comme dans le second exemple
1786 ci-dessous. Vous devez aussi prendre soin d'\'echapper (pr\'ec\'eder d'un \textbackslash{})
1787 les caract\`eres jokers, les caract\`eres du shell, ainsi que toute espace dans votre
1788 commande. Si vous utilisez des simples quotes (') dans des doubles quotes (``),
1789 Bacula traitera tout ce qui est entre simples quotes comme un seul champ, et il ne
1790 dera donc pas n\'ecessaire d'\'echapper les espaces. En g\'en\'eral, parvenir \`a avoir
1791 toutes les quotes et \'echappements corrects est un calvaire, comme vous pouvez
1792 le constater dans le prochain exemple. Par cons\'equent, il est souvent plus facile
1793 de tout mettre dans un fichier et d'utiliser simplement le nom de fichier dans
1794 Bacula. Dans ce cas le "{\bf sh -c}" ne sera plus n\'ecessaire, pourvu que la
1795 premi\`ere ligne du fichier soit {\bf \#!/bin/sh}.
1804 Options { signature = SHA1 }
1805 File = "|sh -c 'df -l | grep \"^/dev/hd[ab]\" | grep -v \".*/tmp\" \
1806 | awk \"{print \\$6}\"'"
1811 produira une liste de toutes les partitions locales sur un syst\`eme RedHat Linux.
1812 Notez que la ligne si dessus a \'et\'e coup\'ee, mais devrait normalement \^etre \'ecrite
1813 sur une seule ligne. Quoter est un r\'eel probl\`eme car vous devez d'une part le faire
1814 pour Bacula - ce qui consiste \`a pr\'ec\'eder tout \textbackslash{} et tout '' avec un
1815 \textbackslash{} - et d'autre part pour les commandes shell. En d\'efinitive, il est
1816 probablement plus ais\'e d'ex\'ecuter un petit fichier tel que :
1824 File = "|my_partitions"
1829 o\`u le fichier my\_partitions contient :
1834 df -l | grep "^/dev/hd[ab]" | grep -v ".*/tmp" \
1839 Si la barre verticale (|) devant "my\_partitions" est pr\'ec\'ed\'ee d'une barre oblique
1840 (\textbackslash{}), le programme sera ex\'ecut\'e sur la machine cliente plut\^ot que sur
1841 la machine h\'ebergeant le Director -- (ceci est impl\'ement\'e, mais n'est pas compl\`etement
1842 test\'e, et a \'et\'e rapport\'e fonctionner sous Windows). Veuillez noter que si le nom de
1843 fichier est donn\'e entre quotes, vous devrez utiliser deux barres obliques. Voci un
1844 exemple, fourni par John Donagher, qui sauvegarde toutes les partitions UFS locales
1845 sur un syst\`eme distant :
1850 Name = "All local partitions"
1852 Options { signature=SHA1; onefs=yes; }
1853 File = "\\|bash -c \"df -klF ufs | tail +2 | awk '{print \$6}'\""
1859 Notez que deux barres obliques \textbackslash{} sont requises après les doubles quotes
1860 (l'une préserve l'autre). Si vous utilisez Linux, changez simplement {\bf ufs} en {\bf ext3}
1861 (ou votre système de fichiers préféré) et l'affaire sera dans le sac.
1863 \item Tout élément de la liste de fichiers file-list précédé par un signe "inférieur" (\lt{})
1864 est interprété comme un fichier qui sera lu sur la machine qui héberge le Director
1865 au moment où le job démarre. Son contenu est supposé être une liste de répertoires ou
1866 fichiers, un par ligne, à inclure dans la sauvegarde. Les noms ne doivent pas être quotés, même
1867 s'ils comportent des espaces. Cette fonction vous permet de modifier le fichier externe,
1868 et ainsi ce qui est sauvegardé sans avoir à redémarrer Bacula comme il le faudrait avec
1869 le modificateur @ décrit plus haut.
1871 Si vous précédez le signe "inférieur" (\lt{}) d'une barre oblique \textbackslash{}\lt{}, le
1872 fichier mentionné sera lu sur la machine cliente au lieu de celle hébergeant le Director.
1873 Veullez noter que si le nom de fichier est donné entre quotes, il vous faudra utiliser deux
1876 \item Si vous spécifiez explicitement un block device (NDT ?) tel que {\bf /dev/hda1}, alors
1877 Bacula considèrera ceci comme une partition raw à sauvegarder. Dans ce cas, vous êtes
1878 fortement invité à utiliser l'option {\bf sparse=yes}, faute de quoi vous sauvegarderez
1879 la partition entière plutôt que seulement les données réellement contenues dans la
1880 partition. Par exemple :
1885 Options { signature=MD5; sparse=yes }
1891 va sauvegarder les données de la partition /dev/hd6.
1893 will backup the data in device /dev/hd6.
1895 Ludovic Strappazon a fait remarquer que cette fonction pouvait servir à sauvegarder
1896 un disque Microsoft Windows. Il suffit de booter avec un Linux Rescue Disk, puis de
1897 charger un client Bacula statiquement lié comme décrit dans le chapitre
1898 link{ Disaster Recovery avec Bacula}{_ChapterStart38} de ce manuel. Sauvegardez alors
1899 la partition complète. En cas de désastre, vous pouvez alors restaurer la partition
1900 désirée en bootant une fois encore sur le Linux Rescue Disk et en utilisant le
1901 client Bacula statiquement lié.
1904 \item Si vous spécifiez explicitement un périphérique FIFO nommé (créé avec mkfifo),
1905 ets si vous ajoutez l'option {\bf readfifo=yes}, Bacula lira le FIFO et sauvegardera ses
1906 données sur le volume. Par exemple :
1915 File = /home/abc/fifo
1920 si {\bf /home/abc/fifo} est un FIFO, Bacula va l'ouvrir, le lire, et stocker
1921 toutes les données ainsi obtenues sur le volume. Notez qu'il faut que vous ayez
1922 un processus qui écrit sur le FIFO, faute de quoi Bacula restera en suspens, et
1923 abandonnera au bout d'une minute pour passer au fichier suivant. Les données
1924 lues peuvent être de nature quelconque puisque Bacula les traite comme un flux.
1926 Cette fonction est un excellent moyen de faire une sauvegarde "Ã chaud" d'une
1927 très grosse base de données. Vous pouvez utiliser la directive {\bf RunBeforeJob}
1928 pour créer le FIFO et démarrer un programme qui lit dynamiquement votre base de
1929 données et l'écrit sur le FIFO. Bacula l'écrira alors sur le volume.
1931 Lors de l'opération de restauration, l'inverse se produit : après que Bacula ait créé
1932 le FIFO, s'il y avait des données stockées par son biais (inutile de les lister
1933 explicitement ni d'ajouter aucune option), elles seront renvoyées vers le FIFO.
1934 Par conséquent, s'il existe un tel FIFO à restaurer, vous devez vous assurer
1935 qu'il y a un programme lecteur ou Bacula se bloquera et passera au fichier suivant
1942 Voici un exemple de définition de ressource FileSet valide. Notez que le premier
1945 The following is an example of a valid FileSet resource definition. Note, the
1946 first Include insère le contenu du fichier {\bf /etc/backup.list} lors du démarrage
1947 de when Bacula (i.e. le @).
1959 File = @/etc/backup.list
1967 File = /usr/lib/another_file
1973 Notez que dans l'exemple ci-dessus, tous les fichiers mentionnés dans
1974 /etc/backup.list seront compressé avec GZIP, qu'une signature SHA1 sera
1975 calculée sur le contenu des fichiers (leurs données), et que la prise en
1976 charge particulière des fichiers clairsemés (sparse) s'appliquera.
1978 Les deux répertoires /root/myfile et /usr/lib/another\_file seront aussi
1979 sauvegardés sans aucune option, mais tous les fichiers à extension {\bf .o}
1980 de ces répertoires seront exlus de la sauvegarde.
1982 Supposons que vous vouliez sauvegarder tout sauf {\bf /tmp} sur votre système.
1983 La commande {\bf df} vous fournit le résultat suivant :
1988 Filesystem 1k-blocks Used Available Use% Mounted on
1989 /dev/hda5 5044156 439232 4348692 10% /
1990 /dev/hda1 62193 4935 54047 9% /boot
1991 /dev/hda9 20161172 5524660 13612372 29% /home
1992 /dev/hda2 62217 6843 52161 12% /rescue
1993 /dev/hda8 5044156 42548 4745376 1% /tmp
1994 /dev/hda6 5044156 2613132 2174792 55% /usr
1995 none 127708 0 127708 0% /dev/shm
1996 //minimatou/c$ 14099200 9895424 4203776 71% /mnt/mmatou
1997 lmatou:/ 1554264 215884 1258056 15% /mnt/matou
1998 lmatou:/home 2478140 1589952 760072 68% /mnt/matou/home
1999 lmatou:/usr 1981000 1199960 678628 64% /mnt/matou/usr
2000 lpmatou:/ 995116 484112 459596 52% /mnt/pmatou
2001 lpmatou:/home 19222656 2787880 15458228 16% /mnt/pmatou/home
2002 lpmatou:/usr 2478140 2038764 311260 87% /mnt/pmatou/usr
2003 deuter:/ 4806936 97684 4465064 3% /mnt/deuter
2004 deuter:/home 4806904 280100 4282620 7% /mnt/deuter/home
2005 deuter:/files 44133352 27652876 14238608 67% /mnt/deuter/files
2009 Si vous vous contentez de spécifier {\bf /} dans votre liste d'inclusions,
2010 Bacula ne sauvegardera que le système de fichiers {\bf /dev/hda5}. Pour
2011 sauvegarder tous vos systèmes de fichiers sans inclure les systèmes de fichiers
2012 montés Samba ou NFS et en excluant /tmp, /proc, .journal, et .autofsck, que
2013 vous ne voulez ni sauvegarder ni restaurer, vous pouvez utiliser ce qui suit :
2018 Name = Include_example
2037 /tmp étant sur son propre système de fichiers et n'étant pas explicitement nommé
2038 dans la liste d'inclusion, il n'est pas nécessaire de le spécifier dans la liste
2039 d'exclusion. Cependant, il peut être préférable de le faire malgré tout par
2040 souci de clarté et au cas où il ne serait plus sur sa propre partition après un
2041 remplacement de disques.
2043 Ayez conscience qu'il peut être {\bf très} dangereux de permettre à Bacula de traverser ou
2044 changer de système de fichiers au gré des ppoints de montage. Par exemple, avec ce qui suit :
2049 Name = "Bad example"
2051 Options { onefs=no }
2058 vous sauvegardez une partition NFS montée ({\bf /mnt/matou}), et puisque
2059 {\bf onefs} est désactivée, Bacula traverse les systèmes de fichiers.
2060 Si jamais {\bf /mnt/matou} contient lui même un point de montage où le système
2061 de fichiers de la machine sauvegardée est monté, ce qui est souvent le cas,
2062 vous vous retrouvez pris dans un boucle récursive, et la sauvegarde ne se
2065 Le FileSet suivant sauvegarde une partition raw :
2070 Name = "RawPartition"
2072 Options { sparse=yes }
2079 Lorsque vous sauvegardez et restaurez une partition raw, vous devriez vous
2080 assurer qu'aucun autre processus, y compris le système, n'écrit sur cette
2081 partition. En guise de précaution, nous recommandons ardemment de ne sauvegarder
2082 en mode raw que des partitions non montées, ou montées en lecture seule. Ceci peut
2083 être fait si nécessaire avec la directive {\bf RunBeforeJob}.
2087 \subsection*{Considérations sur les FileSets Windows}
2088 \index[general]{FileSets!Windows Considerations for }
2089 \index[general]{Windows Considerations for FileSets }
2090 \addcontentsline{toc}{subsection}{Windows Considerations for FileSets}
2092 Si vous saisissez des noms de fichiers Windows, les chemins des répertoires devraient
2093 être précédés de double-points (comme dans "c:"). Cependant, les séparateurs de
2094 champs doivent être spécifiés selon la convention Unix (c'est à dire, la barre oblique
2095 avant : "/"). Si vous souhaitez inclure une apostrophe dans un nom de fichier, précédez-la
2096 d'une barre oblique arrière (\textbackslash{}\textbackslash{}). Par exemple, vous pourriez
2097 utiliser ce qui suit pour sauvegarder le répertoire "My Documents" d'une machine Windows :
2102 Name = "Windows Set"
2109 File = "c:/My Documents"
2115 Pour que les listes d'exclusion fonctionnent correctement sous Windows, vous devez
2116 observer les règles suivante :
2119 \item les noms de fichiers sont sensibles à la casse, aussi vous devez utilise la
2121 \item vous ne devez pas spécifier de barre oblique finale pour exclure un répertoire ;
2122 \item si vos noms de fichiers comportent des espaces, vous devez les encadrer de
2123 quillemets. Les barres obliques arrières (\textbackslash{}\textbackslash{}) ne
2125 \item si vous utilisez l'ancienne syntaxe des listes d'exclusion (mentionnée ci-dessous),
2126 vous ne devriez pas spécifier la lettre référençant le disque dans une liste d'exclusion.
2127 La nouvelle syntaxe décrite ci-dessus devrait fonctionner correctement en incluant la lettre
2131 Merci à Thiago Lima pour nous avoir résumé les points ci-dessus. Si vous rencontrez
2132 des difficultés pour faire fonctionner vos listes d'inclusion ou d'exclusion,
2133 songez à utiliser la commande {\bf estimate job=xxx listing} documentée
2134 dans le chapitre \ilink{Console chapter}{estimate} de ce manuel.
2136 Sur les systèmes Win32, si vous déplacez un répertoire ou si vous renommez
2137 un fichier de la liste à sauvegarder, et si une Full a déjà eu lieu, Bacula
2138 ne saura reconnaître qu'il existe de nouveaux fichiers à sauvegarder lors d'une
2139 incrémentale ou d'une différentielle (faites-en le reproche à Microsoft, pas à moi !).
2140 Pour pallier à ce problème, veuillez copier tout répertoire ou fichier de la
2141 zone sauvegardée. Si vous ne disposez pas de suffisamment d'espace disque,
2142 déplacez-les, mais lancez alors une sauvegarde Full.
2144 \subsubsection*{Exclusion de fichiers et répertoires}
2145 \index[general]{Directories!Excluding Files and }
2146 \index[general]{Excluding Files and Directories }
2147 \addcontentsline{toc}{subsubsection}{Exclusion de fichiers et répertoires}
2149 Vous pouvez aussi inclure des noms de fichiers ou chemins absolus, en plus
2150 de l'utilisation de caractères jokers et de la directive {\bf Exclude=yes} dans
2151 les ressources Options comme exposé ci-dessus, en ajoutant simplement
2152 les fichiers à exclure dans une ressource Exclude du FileSet. Par exemple :
2157 Name = Exclusion_example
2178 \subsection*{Un exemple de FileSet Windows}
2179 \index[general]{FileSet!Windows Example }
2180 \index[general]{Un exemple de FileSet Windows}
2181 \addcontentsline{toc}{subsection}{Un exemple de FileSet Windows}
2183 Cet exemple est une contribution de Phil Stracchino :
2187 This is my Windows 2000 fileset:
2189 Name = "Windows 2000 Full Set"
2197 # Most of these files are excluded not because we don't want
2198 # them, but because Win2K won't allow them to be backed up
2199 # except via proprietary Win32 API calls.
2200 File = "/Documents and Settings/*/Application Data/*/Profiles/
2202 File = "/Documents and Settings/*/Local Settings/Application Data/
2203 Microsoft/Windows/[Uu][Ss][Rr][Cc][Ll][Aa][Ss][Ss].*"
2204 File = "/Documents and Settings/*/[Nn][Tt][Uu][Ss][Ee][Rr].*"
2205 File = "/Documents and Settings/*/Cookies/*"
2206 File = "/Documents and Settings/*/Local Settings/History/*"
2207 File = "/Documents and Settings/*/Local Settings/
2208 Temporary Internet Files/*"
2209 File = "/Documents and Settings/*/Local Settings/Temp/*"
2211 File = "/WINNT/security/logs/scepol.log"
2212 File = "/WINNT/system32/config/*"
2213 File = "/WINNT/msdownld.tmp/*"
2214 File = "/WINNT/Internet Logs/*"
2215 File = "/WINNT/$Nt*Uninstall*"
2216 File = "/WINNT/Temp/*"
2219 File = "/pagefile.sys"
2225 Remarque : les trois lignes coupées de cette liste d'exclusion ne l'ont été
2226 que pour des motifs de mise en page, elles doivent en réalité être écrites
2227 sur une seule ligne.
2229 \subsection*{L'ancienne ressource FileSet}
2230 \index[general]{Resource!Old FileSet }
2231 \index[general]{L'ancienne ressource FileSet}
2232 \addcontentsline{toc}{subsection}{L'ancienne ressource FileSet}
2234 L'ancienne Ressource FileSet des versions antérieures à 1.34.3 est obsolète,
2235 mais fonctionne encore. Nous vous encourageons à utiliser la nouvelle forme,
2236 car le code correspondant sera supprimé à partir de la version 1.37.
2238 \subsection*{Tester vos FileSets}
2239 \index[general]{FileSet!Testing Your }
2240 \index[general]{Tester vos FileSets }
2241 \addcontentsline{toc}{subsection}{Tester vos FileSets}
2243 Si vous voulez vous faire une idée précise de ce qui sera effectivement
2244 sauvegardé par un FileSet, ou si vous voulez vous assurer de l'efficacité
2245 d'une liste d'exclusion, vous pouvez utiliser la commande {\bf estimate}
2246 du programme Console. Voyez \ilink{estimate command}{estimate} dans le
2247 chapitre Console de ce manuel.
2249 \subsection*{Considerations sur le nommage Windows NTFS}
2250 \index[general]{Considerations sur le nommage Windows NTFS}
2251 \index[general]{Considerations!Windows NTFS Naming }
2252 \addcontentsline{toc}{subsection}{Considerations sur le nommage Windows NTFS}
2254 Les noms de fichiers NTFS contenant des caractères Unicode (i.e. \gt{} 0xFF) ne
2255 peuvent, pour le moment, être nommé eplicitement. Vous devez inclure de tels
2256 fichiers en désignant un répertoire de niveau supérieur ou une lettre de disque
2257 ne contenant pas de caractère Unicode.
2259 \subsection*{La ressource Client}
2260 \label{ClientResource2}
2261 \index[general]{Resource!Client }
2262 \index[general]{La ressource Client}
2263 \addcontentsline{toc}{subsection}{La ressource Client}
2265 La ressource Client définit les attributs des clients servis (sauvegardés)
2266 par ce Director. Il faut une ressource Client par machine sauvegardée.
2270 \item [Client (ou FileDaemon)]
2271 \index[dir]{Client (ou FileDaemon) }
2272 Début des directives Client.
2274 \item [Name = \lt{}name\gt{}]
2276 Le nom du client qui sera utilisé dans la directive Job de la ressource ou
2277 dans une commande run de la Console. Cette directive est requise.
2279 \item [Address = \lt{}address\gt{}]
2280 \index[console]{Address }
2282 L'adresse d'un File Daemon Bacula est un nom d'hôte, un nom pleinement qualifié
2283 ou une adresse réseau au format quatre octets pointés. Cette directive est requise.
2285 \item [FD Port = \lt{}port-number\gt{}]
2286 \index[console]{FD Port }
2287 Où le port est le numéro de port auquel le le File Daemon peut être contacté.
2288 La valeur par défaut est 9102.
2291 \item [Catalog = \lt{}Catalog-resource-name\gt{}]
2292 \index[console]{Catalog }
2293 Cette directive spécifie le nom de la ressource catalog à utiliser pour ce
2294 client. Cette directive est requise.
2296 \item [Password = \lt{}password\gt{}]
2297 \index[console]{Password }
2298 Il s'agit ici du mot de passe à utiliser lors de la connection avec le
2299 File Daemon, aussi le fichier de configuration de la machine à sauvegarder
2300 doit définir le même mot de passe pour être connecté par ce Director.
2301 Cette directive est requise. Si vous disposez de {\bf /dev/random} ou de {\bf bc}
2302 sur votre machine, Bacula génère des mots de passe aléatoires lors du processus
2303 de configuration. Dans le cas contraire, le mot de passe est laissé blanc.
2305 \label{FileRetention}
2307 \item [File Retention = \lt{}time-period-specification\gt{} ]
2308 \index[fd]{File Retention }
2309 The File Retention directive defines the length of time that Bacula will keep
2310 File records in the Catalog database. When this time period expires, and if
2311 {\bf AutoPrune} is set to {\bf yes} Bacula will prune (remove) File records
2312 that are older than the specified File Retention period. Note, this affects
2313 only records in the catalog database. It does not effect your archive
2316 File records may actually be retained for a shorter period than you specify
2317 on this directive if you specify either a shorter {\bf Job Retention} or
2318 shorter {\bf Volume Retention} period. The shortest retention period of the
2319 three takes precedence. The time may be expressed in seconds, minutes,
2320 hours, days, weeks, months, quarters, or years. See the
2321 \ilink{ Configuration chapter}{Time} of this manual for
2322 additional details of time specification.
2324 The default is 60 days.
2325 \label{JobRetention}
2327 \item [Job Retention = \lt{}time-period-specification\gt{} ]
2328 \index[fd]{Job Retention }
2329 The Job Retention directive defines the length of time that Bacula will keep
2330 Job records in the Catalog database. When this time period expires, and if
2331 {\bf AutoPrune} is set to {\bf yes} Bacula will prune (remove) Job records
2332 that are older than the specified File Retention period. As with the other
2333 retention periods, this affects only records in the catalog and not data in
2334 your archive backup.
2336 If a Job record is selected for pruning, all associated File and JobMedia
2337 records will also be pruned regardless of the File Retention period set. As a
2338 consequence, you normally will set the File retention period to be less than
2339 the Job retention period. The Job retention period can actually be less than
2340 the value you specify here if you set the {\bf Volume Retention} directive in
2341 the Pool resource to a smaller duration. This is because the Job retention
2342 period and the Volume retention period are independently applied, so the
2343 smaller of the two takes precedence.
2345 The Job retention period is specified as seconds, minutes, hours, days,
2346 weeks, months, quarters, or years. See the
2347 \ilink{ Configuration chapter}{Time} of this manual for
2348 additional details of time specification.
2350 The default is 180 days.
2353 \item [AutoPrune = \lt{}yes|no\gt{}]
2354 \index[fd]{AutoPrune }
2355 If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater)
2356 will automatically apply the File retention period and the Job retention
2357 period for the Client at the end of the Job. If you set {\bf AutoPrune = no},
2358 pruning will not be done, and your Catalog will grow in size each time you
2359 run a Job. Pruning affects only information in the catalog and not data
2360 stored in the backup archives (on Volumes).
2362 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2363 \index[fd]{Maximum Concurrent Jobs }
2364 where \lt{}number\gt{} is the maximum number of Jobs with the current Client
2365 that can run concurrently. Note, this directive limits only Jobs for Clients
2366 with the same name as the resource in which it appears. Any other
2367 restrictions on the maximum concurrent jobs such as in the Director, Job, or
2368 Storage resources will also apply in addition to any limit specified here.
2369 The default is set to 1, but you may set it to a larger number. We strongly
2370 recommend that you read the WARNING documented under
2371 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2374 \item [*Priority = \lt{}number\gt{}]
2375 \index[fd]{*Priority }
2376 The number specifies the priority of this client relative to other clients
2377 that the Director is processing simultaneously. The priority can range from
2378 1 to 1000. The clients are ordered such that the smaller number priorities
2379 are performed first (not currently implemented).
2382 The following is an example of a valid Client resource definition:
2390 Password = very_good
2395 \subsection*{The Storage Resource}
2396 \label{StorageResource2}
2397 \index[general]{Resource!Storage }
2398 \index[general]{Storage Resource }
2399 \addcontentsline{toc}{subsection}{Storage Resource}
2401 The Storage resource defines which Storage daemons are available for use by
2407 \index[fd]{Storage }
2408 Start of the Storage resources. At least one storage resource must be
2411 \item [Name = \lt{}name\gt{}]
2413 The name of the storage resource. This name appears on the Storage directive
2414 specified in the Job directive and is required.
2416 \item [Address = \lt{}address\gt{}]
2417 \index[sd]{Address }
2418 Where the address is a host name, a {\bf fully qualified domain name}, or an
2419 {\bf IP address}. Please note that the \lt{}address\gt{} as specified here
2420 will be transmitted to the File daemon who will then use it to contact the
2421 Storage daemon. Hence, it is {\bf not}, a good idea to use {\bf localhost} as
2422 the name but rather a fully qualified machine name or an IP address. This
2423 directive is required.
2425 \item [SD Port = \lt{}port\gt{}]
2426 \index[sd]{SD Port }
2427 Where port is the port to use to contact the storage daemon for information
2428 and to start jobs. This same port number must appear in the Storage resource
2429 of the Storage daemon's configuration file. The default is 9103.
2431 \item [Password = \lt{}password\gt{}]
2432 \index[sd]{Password }
2433 This is the password to be used when establishing a connection with the
2434 Storage services. This same password also must appear in the Director
2435 resource of the Storage daemon's configuration file. This directive is
2436 required. If you have either {\bf /dev/random} {\bf bc} on your machine,
2437 Bacula will generate a random password during the configuration process,
2438 otherwise it will be left blank.
2440 \item [Device = \lt{}device-name\gt{}]
2442 This directive specifies the name of the device to be used to for the
2443 storage. This name is not the physical device name, but the logical device
2444 name as defined on the {\bf Name} directive contained in the {\bf Device}
2445 resource definition of the {\bf Storage daemon} configuration file. You can
2446 specify any name you would like (even the device name if you prefer) up to a
2447 maximum of 127 characters in length. The physical device name associated with
2448 this device is specified in the {\bf Storage daemon} configuration file (as
2449 {\bf Archive Device}). Please take care not to define two different Storage
2450 resource directives in the Director that point to the same Device in the
2451 Storage daemon. Doing so may cause the Storage daemon to block (or hang)
2452 attempting to open the same device that is already open. This directive is
2455 \item [Media Type = \lt{}MediaType\gt{}]
2456 \index[fd]{Media Type }
2457 This directive specifies the Media Type to be used to store the data. This is
2458 an arbitrary string of characters up to 127 maximum that you define. It can
2459 be anything you want. However, it is best to make it descriptive of the
2460 storage media (e.g. File, DAT, ''HP DLT8000``, 8mm, ...). In addition, it is
2461 essential that you make the {\bf Media Type} specification unique for each
2462 storage media type. If you have two DDS-4 drives that have incompatible
2463 formats, or if you have a DDS-4 drive and a DDS-4 autochanger, you almost
2464 certainly should specify different {\bf Media Types}. During a restore,
2465 assuming a {\bf DDS-4} Media Type is associated with the Job, Bacula can
2466 decide to use any Storage daemon that support Media Type {\bf DDS-4} and on
2467 any drive supports it. If you want to tie Bacula to using a single Storage
2468 daemon or drive, you must specify a unique Media Type for that drive. This is
2469 an important point that should be carefully understood. You can find more on
2471 \ilink{Basic Volume Management}{_ChapterStart39} chapter of this
2474 The {\bf MediaType} specified here, {\bf must} correspond to the {\bf Media
2475 Type} specified in the {\bf Device} resource of the {\bf Storage daemon}
2476 configuration file. This directive is required, and it is used by the
2477 Director and the Storage daemon to ensure that a Volume automatically
2478 selected from the Pool corresponds to the physical device. If a Storage
2479 daemon handles multiple devices (e.g. will write to various file Volumes on
2480 different partitions), this directive allows you to specify exactly which
2483 As mentioned above, the value specified in the Director's Storage resource
2484 must agree with the value specified in the Device resource in the {\bf
2485 Storage daemon's} configuration file. It is also an additional check so that
2486 you don't try to write data for a DLT onto an 8mm device.
2487 \label{Autochanger1}
2489 \item [Autochanger = \lt{}yes|no\gt{} ]
2490 \index[fd]{Autochanger }
2491 If you specify {\bf yes} for this command (the default is {\bf no}), when you
2492 use the {\bf label} command or the {\bf add} command to create a new Volume,
2493 {\bf Bacula} will also request the Autochanger Slot number. This simplifies
2494 creating database entries for Volumes in an autochanger. If you forget to
2495 specify the Slot, the autochanger will not be used. However, you may modify
2496 the Slot associated with a Volume at any time by using the {\bf update
2497 volume} command in the console program. When {\bf autochanger} is enabled,
2498 the algorithm used by Bacula to search for available volumes will be modified
2499 to consider only Volumes that are known to be in the autochanger's magazine.
2500 If no {\bf in changer} volume is found, Bacula will attempt recycling,
2501 pruning, ..., and if still no volume is found, Bacula will search for any
2502 volume whether or not in the magazine. By privileging in changer volumes,
2503 this procedure minimizes operator intervention. The default is {\bf no}.
2505 For the autochanger to be used, you must also specify {\bf Autochanger = yes}
2507 \ilink{Device Resource}{Autochanger} in the Storage daemon's
2508 configuration file as well as other important Storage daemon configuration
2509 information. Please consult the
2510 \ilink{ Using Autochangers}{_ChapterStart18} manual of this
2511 chapter for the details of using autochangers.
2513 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
2514 \index[fd]{Maximum Concurrent Jobs }
2515 where \lt{}number\gt{} is the maximum number of Jobs with the current Storage
2516 resource that can run concurrently. Note, this directive limits only Jobs
2517 for Jobs using this Storage daemon. Any other restrictions on the maximum
2518 concurrent jobs such as in the Director, Job, or Client resources will also
2519 apply in addition to any limit specified here. The default is set to 1, but
2520 you may set it to a larger number. We strongly recommend that you read the
2521 WARNING documented under
2522 \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's
2525 While it is possible to set the Director's, Job's, or Client's maximum
2526 concurrent jobs greater than one, you should take great care in setting the
2527 Storage daemon's greater than one. By keeping this directive set to one, you
2528 will avoid having two jobs simultaneously write to the same Volume. Although
2529 this is supported, it is not currently recommended.
2532 The following is an example of a valid Storage resource definition:
2536 # Definition of tape storage device
2540 Password = storage_password # password for Storage daemon
2541 Device = "HP DLT 80" # same as Device in Storage daemon
2542 Media Type = DLT8000 # same as MediaType in Storage daemon
2547 \subsection*{The Pool Resource}
2548 \label{PoolResource}
2549 \index[general]{Resource!Pool }
2550 \index[general]{Pool Resource }
2551 \addcontentsline{toc}{subsection}{Pool Resource}
2553 The Pool resource defines the set of storage Volumes (tapes or files) to be
2554 used by Bacula to write the data. By configuring different Pools, you can
2555 determine which set of Volumes (media) receives the backup data. This permits,
2556 for example, to store all full backup data on one set of Volumes and all
2557 incremental backups on another set of Volumes. Alternatively, you could assign
2558 a different set of Volumes to each machine that you backup. This is most
2559 easily done by defining multiple Pools.
2561 Another important aspect of a Pool is that it contains the default attributes
2562 (Maximum Jobs, Retention Period, Recycle flag, ...) that will be given to a
2563 Volume when it is created. This avoids the need for you to answer a large
2564 number of questions when labeling a new Volume. Each of these attributes can
2565 later be changed on a Volume by Volume basis using the {\bf update} command in
2566 the console program. Note that you must explicitly specify which Pool Bacula
2567 is to use with each Job. Bacula will not automatically search for the correct
2570 Most often in Bacula installations all backups for all machines (Clients) go
2571 to a single set of Volumes. In this case, you will probably only use the {\bf
2572 Default} Pool. If your backup strategy calls for you to mount a different tape
2573 each day, you will probably want to define a separate Pool for each day. For
2574 more information on this subject, please see the
2575 \ilink{Backup Strategies}{_ChapterStart3} chapter of this
2578 To use a Pool, there are three distinct steps. First the Pool must be defined
2579 in the Director's configuration file. Then the Pool must be written to the
2580 Catalog database. This is done automatically by the Director each time that it
2581 starts, or alternatively can be done using the {\bf create} command in the
2582 console program. Finally, if you change the Pool definition in the Director's
2583 configuration file and restart Bacula, the pool will be updated alternatively
2584 you can use the {\bf update pool} console command to refresh the database
2585 image. It is this database image rather than the Director's resource image
2586 that is used for the default Volume attributes. Note, for the pool to be
2587 automatically created or updated, it must be explicitly referenced by a Job
2590 Next the physical media must be labeled. The labeling can either be done with
2591 the {\bf label} command in the {\bf console} program or using the {\bf btape}
2592 program. The preferred method is to use the {\bf label} command in the {\bf
2595 Finally, you must add Volume names (and their attributes) to the Pool. For
2596 Volumes to be used by Bacula they must be of the same {\bf Media Type} as the
2597 archive device specified for the job (i.e. if you are going to back up to a
2598 DLT device, the Pool must have DLT volumes defined since 8mm volumes cannot be
2599 mounted on a DLT drive). The {\bf Media Type} has particular importance if you
2600 are backing up to files. When running a Job, you must explicitly specify which
2601 Pool to use. Bacula will then automatically select the next Volume to use from
2602 the Pool, but it will ensure that the {\bf Media Type} of any Volume selected
2603 from the Pool is identical to that required by the Storage resource you have
2604 specified for the Job.
2606 If you use the {\bf label} command in the console program to label the
2607 Volumes, they will automatically be added to the Pool, so this last step is
2608 not normally required.
2610 It is also possible to add Volumes to the database without explicitly labeling
2611 the physical volume. This is done with the {\bf add} console command.
2613 As previously mentioned, each time Bacula starts, it scans all the Pools
2614 associated with each Catalog, and if the database record does not already
2615 exist, it will be created from the Pool Resource definition. {\bf Bacula}
2616 probably should do an {\bf update pool} if you change the Pool definition, but
2617 currently, you must do this manually using the {\bf update pool} command in
2618 the Console program.
2620 The Pool Resource defined in the Director's configuration file
2621 (bacula-dir.conf) may contain the following directives:
2627 Start of the Pool resource. There must be at least one Pool resource defined.
2630 \item [Name = \lt{}name\gt{}]
2632 The name of the pool. For most applications, you will use the default pool
2633 name {\bf Default}. This directive is required.
2635 \item [Number of Volumes = \lt{}number\gt{}]
2636 \index[dir]{Number of Volumes }
2637 This directive specifies the number of volumes (tapes or files) contained in
2638 the pool. Normally, it is defined and updated automatically by the Bacula
2639 catalog handling routines.
2642 \item [Maximum Volumes = \lt{}number\gt{}]
2643 \index[dir]{Maximum Volumes }
2644 This directive specifies the maximum number of volumes (tapes or files)
2645 contained in the pool. This directive is optional, if omitted or set to zero,
2646 any number of volumes will be permitted. In general, this directive is useful
2647 for Autochangers where there is a fixed number of Volumes, or for File
2648 storage where you wish to ensure that the backups made to disk files do not
2649 become too numerous or consume too much space.
2651 \item [Pool Type = \lt{}type\gt{}]
2652 \index[dir]{Pool Type }
2653 This directive defines the pool type, which corresponds to the type of Job
2654 being run. It is required and may be one of the following:
2665 \item [Use Volume Once = \lt{}yes|no\gt{}]
2666 \index[dir]{Use Volume Once }
2667 This directive if set to {\bf yes} specifies that each volume is to be used
2668 only once. This is most useful when the Media is a file and you want a new
2669 file for each backup that is done. The default is {\bf no} (i.e. use volume
2670 any number of times). This directive will most likely be phased out
2671 (deprecated), so you are recommended to use {\bf Maximum Volume Jobs = 1}
2674 Please note that the value defined by this directive in the bacula-dir.conf
2675 file is the default value used when a Volume is created. Once the volume is
2676 created, changing the value in the bacula-dir.conf file will not change what
2677 is stored for the Volume. To change the value for an existing Volume you
2678 must use the {\bf update} command in the Console.
2680 \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}]
2681 \index[fd]{Maximum Volume Jobs }
2682 This directive specifies the maximum number of Jobs that can be written to
2683 the Volume. If you specify zero (the default), there is no limit. Otherwise,
2684 when the number of Jobs backed up to the Volume equals {\bf positive-integer}
2685 the Volume will be marked {\bf Used}. When the Volume is marked {\bf Used} it
2686 can no longer be used for appending Jobs, much like the {\bf Full} status but
2687 it can be recycled if recycling is enabled. By setting {\bf
2688 MaximumVolumeJobs} to one, you get the same effect as setting {\bf
2689 UseVolumeOnce = yes}.
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 [Maximum Volume Files = \lt{}positive-integer\gt{}]
2698 \index[fd]{Maximum Volume Files }
2699 This directive specifies the maximum number of files that can be written to
2700 the Volume. If you specify zero (the default), there is no limit. Otherwise,
2701 when the number of files written to the Volume equals {\bf positive-integer}
2702 the Volume will be marked {\bf Used}. When the Volume is marked {\bf Used} it
2703 can no longer be used for appending Jobs, much like the {\bf Full} status but
2704 it can be recycled if recycling is enabled. This value is checked and the
2705 {\bf Used} status is set only at the end of a job that writes to the
2708 Please note that the value defined by this directive in the bacula-dir.conf
2709 file is the default value used when a Volume is created. Once the volume is
2710 created, changing the value in the bacula-dir.conf file will not change what
2711 is stored for the Volume. To change the value for an existing Volume you
2712 must use the {\bf update} command in the Console.
2714 \item [Maximum Volume Bytes = \lt{}size\gt{}]
2715 \index[fd]{Maximum Volume Bytes }
2716 This directive specifies the maximum number of bytes that can be written to
2717 the Volume. If you specify zero (the default), there is no limit except the
2718 physical size of the Volume. Otherwise, when the number of bytes written to
2719 the Volume equals {\bf size} the Volume will be marked {\bf Used}. When the
2720 Volume is marked {\bf Used} it can no longer be used for appending Jobs, much
2721 like the {\bf Full} status but it can be recycled if recycling is enabled.
2722 This value is checked and the {\bf Used} status set while the job is writing
2723 to the particular volume.
2725 Please note that the value defined by this directive in the bacula-dir.conf
2726 file is the default value used when a Volume is created. Once the volume is
2727 created, changing the value in the bacula-dir.conf file will not change what
2728 is stored for the Volume. To change the value for an existing Volume you
2729 must use the {\bf update} command in the Console.
2731 \item [Volume Use Duration = \lt{}time-period-specification\gt{}]
2732 \index[fd]{Volume Use Duration }
2733 The Volume Use Duration directive defines the time period that the Volume can
2734 be written beginning from the time of first data write to the Volume. If the
2735 time-period specified is zero (the default), the Volume can be written
2736 indefinitely. Otherwise, when the time period from the first write to the
2737 volume (the first Job written) exceeds the time-period-specification, the
2738 Volume will be marked {\bf Used}, which means that no more Jobs can be
2739 appended to the Volume, but it may be recycled if recycling is enabled.
2741 You might use this directive, for example, if you have a Volume used for
2742 Incremental backups, and Volumes used for Weekly Full backups. Once the Full
2743 backup is done, you will want to use a different Incremental Volume. This can
2744 be accomplished by setting the Volume Use Duration for the Incremental Volume
2745 to six days. I.e. it will be used for the 6 days following a Full save, then
2746 a different Incremental volume will be used.
2748 This value is checked and the {\bf Used} status is set only at the end of a
2749 job that writes to the particular volume, which means that even though the
2750 use duration may have expired, the catalog entry will not be updated until
2751 the next job that uses this volume is run.
2753 Please note that the value defined by this directive in the bacula-dir.conf
2754 file is the default value used when a Volume is created. Once the volume is
2755 created, changing the value in the bacula-dir.conf file will not change what
2756 is stored for the Volume. To change the value for an existing Volume you
2757 must use the {\bf update} command in the Console.
2759 \item [Catalog Files = \lt{}yes|no\gt{}]
2760 \index[fd]{Catalog Files }
2761 This directive defines whether or not you want the names of the files that
2762 were saved to be put into the catalog. The default is {\bf yes}. The
2763 advantage of specifying {\bf Catalog Files = No} is that you will have a
2764 significantly smaller Catalog database. The disadvantage is that you will not
2765 be able to produce a Catalog listing of the files backed up for each Job
2766 (this is often called Browsing). Also, without the File entries in the
2767 catalog, you will not be able to use the Console {\bf restore} command nor
2768 any other command that references File entries.
2769 \label{PoolAutoPrune}
2771 \item [AutoPrune = \lt{}yes|no\gt{}]
2772 \index[fd]{AutoPrune }
2773 If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater)
2774 will automatically apply the Volume Retention period when new Volume is
2775 needed and no appendable Volumes exist in the Pool. Volume pruning causes
2776 expired Jobs (older than the {\bf Volume Retention} period) to be deleted
2777 from the Catalog and permits possible recycling of the Volume.
2778 \label{VolRetention}
2780 \item [Volume Retention = \lt{}time-period-specification\gt{}]
2781 \index[fd]{Volume Retention }
2782 The Volume Retention directive defines the length of time that {\bf Bacula}
2783 will keep Job records associated with the Volume in the Catalog database.
2784 When this time period expires, and if {\bf AutoPrune} is set to {\bf yes}
2785 Bacula will prune (remove) Job records that are older than the specified
2786 Volume Retention period. All File records associated with pruned Jobs are
2787 also pruned. The time may be specified as seconds, minutes, hours, days,
2788 weeks, months, quarters, or years. The {\bf Volume Retention} applied
2789 independently to the {\bf Job Retention} and the {\bf File Retention} periods
2790 defined in the Client resource. This means that the shorter period is the
2791 one that applies. Note, that when the {\bf Volume Retention} period has been
2792 reached, it will prune both the Job and the File records.
2794 The default is 365 days. Note, this directive sets the default value for each
2795 Volume entry in the Catalog when the Volume is created. The value in the
2796 catalog may be later individually changed for each Volume using the Console
2799 By defining multiple Pools with different Volume Retention periods, you may
2800 effectively have a set of tapes that is recycled weekly, another Pool of
2801 tapes that is recycled monthly and so on. However, one must keep in mind that
2802 if your {\bf Volume Retention} period is too short, it may prune the last
2803 valid Full backup, and hence until the next Full backup is done, you will not
2804 have a complete backup of your system, and in addition, the next Incremental
2805 or Differential backup will be promoted to a Full backup. As a consequence,
2806 the minimum {\bf Volume Retention} period should be at twice the interval of
2807 your Full backups. This means that if you do a Full backup once a month, the
2808 minimum Volume retention period should be two months.
2810 Please note that the value defined by this directive in the bacula-dir.conf
2811 file is the default value used when a Volume is created. Once the volume is
2812 created, changing the value in the bacula-dir.conf file will not change what
2813 is stored for the Volume. To change the value for an existing Volume you
2814 must use the {\bf update} command in the Console.
2817 \item [Recycle = \lt{}yes|no\gt{}]
2818 \index[fd]{Recycle }
2819 This directive specifies the default for recycling Purged Volumes. If it is
2820 set to {\bf yes} and Bacula needs a volume but finds none that are
2821 appendable, it will search for Purged Volumes (i.e. volumes with all the Jobs
2822 and Files expired and thus deleted from the Catalog). If the Volume is
2823 recycled, all previous data written to that Volume will be overwritten.
2825 Please note that the value defined by this directive in the bacula-dir.conf
2826 file is the default value used when a Volume is created. Once the volume is
2827 created, changing the value in the bacula-dir.conf file will not change what
2828 is stored for the Volume. To change the value for an existing Volume you
2829 must use the {\bf update} command in the Console.
2830 \label{RecycleOldest}
2832 \item [Recycle Oldest Volume = \lt{}yes|no\gt{}]
2833 \index[fd]{Recycle Oldest Volume }
2834 This directive instructs the Director to search for the oldest used Volume
2835 in the Pool when another Volume is requested by the Storage daemon and none
2836 are available. The catalog is then {\bf pruned} respecting the retention
2837 periods of all Files and Jobs written to this Volume. If all Jobs are pruned
2838 (i.e. the volume is Purged), then the Volume is recycled and will be used as
2839 the next Volume to be written. This directive respects any Job, File, or
2840 Volume retention periods that you may have specified, and as such it is {\bf
2841 much} better to use this directive than the Purge Oldest Volume.
2843 This directive can be useful if you have a fixed number of Volumes in the
2844 Pool and you want to cycle through them and you have specified the correct
2846 \label{RecycleCurrent}
2848 \item [Recycle Current Volume = \lt{}yes|no\gt{}]
2849 \index[fd]{Recycle Current Volume }
2850 If Bacula needs a new Volume, this directive instructs Bacula to Prune the
2851 volume respecting the Job and File retention periods. If all Jobs are pruned
2852 (i.e. the volume is Purged), then the Volume is recycled and will be used as
2853 the next Volume to be written. This directive respects any Job, File, or
2854 Volume retention periods that you may have specified, and thus it is {\bf
2855 much} better to use it rather than the Purge Oldest Volume directive.
2857 This directive can be useful if you have: a fixed number of Volumes in the
2858 Pool, you want to cycle through them, and you have specified retention
2859 periods that prune Volumes before you have cycled through the Volume in the
2863 \item [Purge Oldest Volume = \lt{}yes|no\gt{}]
2864 \index[fd]{Purge Oldest Volume }
2865 This directive instructs the Director to search for the oldest used Volume
2866 in the Pool when another Volume is requested by the Storage daemon and none
2867 are available. The catalog is then {\bf purged} irrespective of retention
2868 periods of all Files and Jobs written to this Volume. The Volume is then
2869 recycled and will be used as the next Volume to be written. This directive
2870 overrides any Job, File, or Volume retention periods that you may have
2873 This directive can be useful if you have a fixed number of Volumes in the
2874 Pool and you want to cycle through them and when all Volumes are full, but
2875 you don't want to worry about setting proper retention periods. However, by
2876 using this option you risk losing valuable data.
2878 {\bf Please be aware that {\bf Purge Oldest Volume} disregards all retention
2879 periods.} If you have only a single Volume defined and you turn this variable
2880 on, that Volume will always be immediately overwritten when it fills! So at a
2881 minimum, ensure that you have a decent number of Volumes in your Pool before
2882 running any jobs. If you want retention periods to apply do not use this
2883 directive. To specify a retention period, use the {\bf Volume Retention}
2884 directive (see above).
2886 I highly recommend against using this directive, because it is sure that some
2887 day, Bacula will recycle a Volume that contains current data.
2889 \item [Accept Any Volume = \lt{}yes|no\gt{}]
2890 \index[fd]{Accept Any Volume }
2891 This directive specifies whether or not any volume from the Pool may be used
2892 for backup. The default is {\bf yes} as of version 1.27 and later. If it is
2893 {\bf no} then only the first writable volume in the Pool will be accepted for
2894 writing backup data, thus Bacula will fill each Volume sequentially in turn
2895 before using any other appendable volume in the Pool. If this is {\bf no} and
2896 you mount a volume out of order, Bacula will not accept it. If this is {\bf
2897 yes} any appendable volume from the pool mounted will be accepted.
2899 If your tape backup procedure dictates that you manually mount the next
2900 volume, you will almost certainly want to be sure this directive is turned
2903 If you are going on vacation and you think the current volume may not have
2904 enough room on it, you can simply label a new tape and leave it in the drive,
2905 and assuming that {\bf Accept Any Volume} is {\bf yes} Bacula will begin
2906 writing on it. When you return from vacation, simply remount the last tape,
2907 and Bacula will continue writing on it until it is full. Then you can remount
2908 your vacation tape and Bacula will fill it in turn.
2910 \item [Cleaning Prefix = \lt{}string\gt{}]
2911 \index[fd]{Cleaning Prefix }
2912 This directive defines a prefix string, which if it matches the beginning of
2913 a Volume name during labeling of a Volume, the Volume will be defined with
2914 the VolStatus set to {\bf Cleaning} and thus Bacula will never attempt to use
2915 this tape. This is primarily for use with autochangers that accept barcodes
2916 where the convention is that barcodes beginning with {\bf CLN} are treated as
2920 \item [Label Format = \lt{}format\gt{}]
2921 \index[fd]{Label Format }
2922 This directive specifies the format of the labels contained in this pool. The
2923 format directive is used as a sort of template to create new Volume names
2924 during automatic Volume labeling.
2926 The {\bf format} should be specified in double quotes, and consists of
2927 letters, numbers and the special characters hyphen ({\bf -}), underscore
2928 ({\bf \_}), colon ({\bf :}), and period ({\bf .}), which are the legal
2929 characters for a Volume name. The {\bf format} should be enclosed in double
2932 In addition, the format may contain a number of variable expansion characters
2933 which will be expanded by a complex algorithm allowing you to create Volume
2934 names of many different formats. In all cases, the expansion process must
2935 resolve to the set of characters noted above that are legal Volume names.
2936 Generally, these variable expansion characters begin with a dollar sign ({\bf
2937 \$}) or a left bracket ({\bf [}). If you specify variable expansion
2938 characters, you should always enclose the format with double quote characters
2939 ({\bf ``}). For more details on variable expansion, please see the
2940 \ilink{Variable Expansion}{_ChapterStart50} Chapter of this manual.
2942 If no variable expansion characters are found in the string, the Volume name
2943 will be formed from the {\bf format} string appended with the number of
2944 volumes in the pool plus one, which will be edited as four digits with
2945 leading zeros. For example, with a {\bf Label Format = ''File-``}, the first
2946 volumes will be named {\bf File-0001}, {\bf File-0002}, ...
2948 With the exception of Job specific variables, you can test your {\bf
2949 LabelFormat} by using the
2950 \ilink{ var command}{var} the Console Chapter of this manual.
2952 In almost all cases, you should enclose the format specification (part after
2953 the equal sign) in double quotes.
2956 In order for a Pool to be used during a Backup Job, the Pool must have at
2957 least one Volume associated with it. Volumes are created for a Pool using the
2958 {\bf label} or the {\bf add} commands in the {\bf Bacula Console}, program. In
2959 addition to adding Volumes to the Pool (i.e. putting the Volume names in the
2960 Catalog database), the physical Volume must be labeled with valid Bacula
2961 software volume label before {\bf Bacula} will accept the Volume. This will be
2962 automatically done if you use the {\bf label} command. Bacula can
2963 automatically label Volumes if instructed to do so, but this feature is not
2964 yet fully implemented.
2966 The following is an example of a valid Pool resource definition:
2978 \subection*{The Catalog Resource}
2979 \label{CatalogResource}
2980 \index[general]{Resource!Catalog }
2981 \index[general]{Catalog Resource }
2982 \addcontentsline{toc}{subsection}{Catalog Resource}
2984 The Catalog Resource defines what catalog to use for the current job.
2985 Currently, Bacula can only handle a single database server (SQLite, MySQL,
2986 built-in) that is defined when configuring {\bf Bacula}. However, there may be
2987 as many Catalogs (databases) defined as you wish. For example, you may want
2988 each Client to have its own Catalog database, or you may want backup jobs to
2989 use one database and verify or restore jobs to use another database.
2994 \index[console]{Catalog }
2995 Start of the Catalog resource. At least one Catalog resource must be defined.
2998 \item [Name = \lt{}name\gt{}]
2999 \index[console]{Name }
3000 The name of the Catalog. No necessary relation to the database server name.
3001 This name will be specified in the Client resource directive indicating that
3002 all catalog data for that Client is maintained in this Catalog. This
3003 directive is required.
3005 \item [password = \lt{}password\gt{}]
3006 \index[console]{password }
3007 This specifies the password to use when logging into the database. This
3008 directive is required.
3010 \item [DB Name = \lt{}name\gt{}]
3011 \index[console]{DB Name }
3012 This specifies the name of the database. If you use multiple catalogs
3013 (databases), you specify which one here. If you are using an external
3014 database server rather than the internal one, you must specify a name that
3015 is known to the server (i.e. you explicitly created the Bacula tables using
3016 this name. This directive is required.
3018 \item [user = \lt{}user\gt{}]
3019 \index[console]{user }
3020 This specifies what user name to use to log into the database. This directive
3023 \item [DB Socket = \lt{}socket-name\gt{}]
3024 \index[console]{DB Socket }
3025 This is the name of a socket to use on the local host to connect to the
3026 database. This directive is used only by MySQL and is ignored by SQLite.
3027 Normally, if neither {\bf DB Socket} or {\bf DB Address} are specified, MySQL
3028 will use the default socket.
3030 \item [DB Address = \lt{}address\gt{}]
3031 \index[console]{DB Address }
3032 This is the host address of the database server. Normally, you would specify
3033 this instead of {\bf DB Socket} if the database server is on another machine.
3034 In that case, you will also specify {\bf DB Port}. This directive is used
3035 only by MySQL and is ignored by SQLite if provided. This directive is
3038 \item [DB Port = \lt{}port\gt{}]
3039 \index[console]{DB Port }
3040 This defines the port to be used in conjunction with {\bf DB Address} to
3041 access the database if it is on another machine. This directive is used only
3042 by MySQL and is ignored by SQLite if provided. This directive is optional.
3044 \item [Multiple Connections = \lt{}yes|no\gt{}]
3045 \index[console]{Multiple Connections }
3046 By default, this directive is set to no. In that case, each job that uses the
3047 same Catalog will use a single connection to the catalog. It will be shared,
3048 and Bacula will allow only one Job at a time to communicate. If you set this
3049 directive to yes, Bacula will permit multiple connections to the database,
3050 and the database must be multi-thread capable. For SQLite and PostgreSQL,
3051 this is no problem. For MySQL, you must be *very* careful to have the
3052 multi-thread version of the client library loaded on your system. When this
3053 directive is set yes, each Job will have a separate connection to the
3054 database, and the database will control the interaction between the different
3055 Jobs. This can significantly speed up the database operations if you are
3056 running multiple simultaneous jobs. In addition, for SQLite and PostgreSQL,
3057 Bacula will automatically enable transactions. This can significantly speed
3058 up insertion of attributes in the database either for a single Job or
3059 multiple simultaneous Jobs.
3061 This directive has not been tested. Please test carefully before running it
3062 in production and report back your results.
3065 The following is an example of a valid Catalog resource definition:
3074 password = "" # no password = no security
3079 or for a Catalog on another machine:
3089 DB Address = remote.acme.com
3095 \subection*{The Messages Resource}
3096 \label{MessagesResource2}
3097 \index[general]{Resource!Messages }
3098 \index[general]{Messages Resource }
3099 \addcontentsline{toc}{subsection}{Messages Resource}
3101 For the details of the Messages Resource, please see the
3102 \ilink{Messages Resource Chapter}{_ChapterStart15} of this
3105 \subsection*{The Console Resource}
3106 \label{ConsoleResource1}
3107 \index[general]{Console Resource }
3108 \index[general]{Resource!Console }
3109 \addcontentsline{toc}{subsection}{Console Resource}
3111 As of Bacula version 1.33 and higher, there are three different kinds of
3112 consoles, which the administrator or user can use to interact with the
3113 Director. These three kinds of consoles comprise three different security
3117 \item The first console type is an {\bf anonymous} or {\bf default} console,
3118 which has full privileges. There is no console resource necessary for this
3119 type since the password is specified in the Director's resource and
3120 consequently such consoles do not have an name as defined on a {\bf Name =}
3121 directive. This is the kind of console that was initially implemented in
3122 versions prior to 1.33 and remains valid. Typically you would use it only for
3124 \item The second type of console, and new to version 1.33 and higher is a
3125 ''named`` console defined within a Console resource in both the Director's
3126 configuration file and in the Console's configuration file. Both the names
3127 and the passwords in these two entries must match much as is the case for
3130 This second type of console begins with absolutely no privileges except those
3131 explicitly specified in the Director's Console resource. Thus you can have
3132 multiple Consoles with different names and passwords, sort of like multiple
3133 users, each with different privileges. As a default, these consoles can do
3134 absolutely nothing -- no commands what so ever. You give them privileges or
3135 rather access to commands and resources by specifying access control lists
3136 in the Director's Console resource. The ACLs are specified by a directive
3137 followed by a list of access names. Examples of this are shown below.
3138 \item The third type of console is similar to the above mentioned one in that
3139 it requires a Console resource definition in both the Director and the
3140 Console. In addition, if the console name, provided on the {\bf Name =}
3141 directive, is the same as a Client name, that console is permitted to use the
3142 {\bf SetIP} command to change the Address directive in the Director's client
3143 resource to the IP address of the Console. This permits portables or other
3144 machines using DHCP (non-fixed IP addresses) to ''notify`` the Director of
3145 their current IP address.
3148 The Console resource is optional and need not be specified. The following
3149 directives are permited within the Director's configuration resource:
3153 \item [Name = \lt{}name\gt{}]
3154 \index[console]{Name }
3155 The name of the console. This name must match the name specified in the
3156 Console's configuration resource (much as is the case with Client
3159 \item [Password = \lt{}password\gt{}]
3160 \index[console]{Password }
3161 Specifies the password that must be supplied for a named Bacula Console to be
3162 authorized. The same password must appear in the {\bf Console} resource of
3163 the Console configuration file. For added security, the password is never
3164 actually passed across the network but rather a challenge response hash code
3165 created with the password. This directive is required. If you have either
3166 {\bf /dev/random} {\bf bc} on your machine, Bacula will generate a random
3167 password during the configuration process, otherwise it will be left blank.
3169 \item [JobACL = \lt{}name-list\gt{}]
3170 \index[console]{JobACL }
3171 This directive is used to specify a list of Job resource names that can be
3172 accessed by the console. Without this directive, the console cannot access
3173 any of the Director's Job resources. Multiple Job resource names may be
3174 specified by separating them with commas, and/or by specifying multiple
3175 JobACL directives. For example, the directive may be specified as:
3179 JobACL = kernsave, "Backup client 1", "Backup client 2"
3180 JobACL = "RestoreFiles"
3185 With the above specification, the console can access the Director's resources
3186 for the four jobs named on the JobACL directives, but for no others.
3188 \item [ClientACL = \lt{}name-list\gt{}]
3189 \index[console]{ClientACL }
3190 This directive is used to specify a list of Client resource names that can be
3191 accessed by the console.
3193 \item [StorageACL = \lt{}name-list\gt{}]
3194 \index[console]{StorageACL }
3195 This directive is used to specify a list of Storage resource names that can
3196 be accessed by the console.
3198 \item [ScheduleACL = \lt{}name-list\gt{}]
3199 \index[console]{ScheduleACL }
3200 This directive is used to specify a list of Schedule resource names that can
3201 be accessed by the console.
3203 \item [PoolACL = \lt{}name-list\gt{}]
3204 \index[console]{PoolACL }
3205 This directive is used to specify a list of Pool resource names that can be
3206 accessed by the console.
3208 \item [FileSetACL = \lt{}name-list\gt{}]
3209 \index[console]{FileSetACL }
3210 This directive is used to specify a list of FileSet resource names that can
3211 be accessed by the console.
3213 \item [CatalogACL = \lt{}name-list\gt{}]
3214 \index[console]{CatalogACL }
3215 This directive is used to specify a list of Catalog resource names that can
3216 be accessed by the console.
3218 \item [CommandACL = \lt{}name-list\gt{}]
3219 \index[console]{CommandACL }
3220 This directive is used to specify a list of of console commands that can be
3221 executed by the console.
3224 Aside from Director resource names and console command names, the special
3225 keyword {\bf *all*} can be specified in any of the above access control lists.
3226 When this keyword is present, any resource or command name (which ever is
3227 appropriate) will be accepted. For an example configuration file, please see
3229 \ilink{Console Configuration}{_ChapterStart36} chapter of this
3232 \subsection*{The Counter Resource}
3233 \label{CounterResource}
3234 \index[general]{Resource!Counter }
3235 \index[general]{Counter Resource }
3236 \addcontentsline{toc}{subsection}{Counter Resource}
3238 The Counter Resource defines a counter variable that can be accessed by
3239 variable expansion used for creating Volume labels with the {\bf LabelFormat}
3241 \ilink{LabelFormat}{Label} directive in this chapter for more
3247 \index[console]{Counter }
3248 Start of the Counter resource. Counter directives are optional.
3250 \item [Name = \lt{}name\gt{}]
3251 \index[console]{Name }
3252 The name of the Counter. This is the name you will use in the variable
3253 expansion to reference the counter value.
3255 \item [Minimum = \lt{}integer\gt{}]
3256 \index[console]{Minimum }
3257 This specifies the minimum value that the counter can have. It also becomes
3258 the default. If not supplied, zero is assumed.
3260 \item [Maximum = \lt{}integer\gt{}]
3261 \index[console]{Maximum }
3262 This is the maximum value value that the counter can have. If not specified
3263 or set to zero, the counter can have a maximum value of 2,147,483,648 (2 to
3264 the 31 power). When the counter is incremented past this value, it is reset
3267 \item [*WrapCounter = \lt{}counter-name\gt{}]
3268 \index[console]{*WrapCounter }
3269 If this value is specified, when the counter is incremented past the maximum
3270 and thus reset to the minimum, the counter specified on the {\bf WrapCounter}
3271 is incremented. (This is not currently implemented).
3273 \item [Catalog = \lt{}catalog-name\gt{}]
3274 \index[console]{Catalog }
3275 If this directive is specified, the counter and its values will be saved in
3276 the specified catalog. If this directive is not present, the counter will be
3277 redefined each time that Bacula is started.
3280 \subsection*{ A Complete Example Director Configuration File}
3281 \label{SampleDirectorConfiguration}
3282 \index[general]{File!Complete Example Director Configuration }
3283 \index[general]{Complete Example Director Configuration File }
3284 \addcontentsline{toc}{subsection}{Complete Example Director Configuration File}
3286 An example Director configuration file might be the following:
3291 # Default Bacula Director Configuration file
3293 # The only thing that MUST be changed is to add one or more
3294 # file or directory names in the Include directive of the
3297 # For Bacula release 1.15 (5 March 2002) -- redhat
3299 # You might also want to change the default email address
3300 # from root to your address. See the "mail" and "operator"
3301 # directives in the Messages resource.
3303 Director { # define myself
3305 QueryFile = "/home/kern/bacula/bin/query.sql"
3306 WorkingDirectory = "/home/kern/bacula/bin/working"
3307 PidDirectory = "/home/kern/bacula/bin/working"
3308 Password = "XkSfzu/Cf/wX4L8Zh4G4/yhCbpLcz3YVdmVoQvU3EyF/"
3310 # Define the backup Job
3312 Name = "NightlySave"
3314 Level = Incremental # default
3317 Schedule = "WeeklyCycle"
3327 Where = /tmp/bacula-restores
3333 # List of files to be backed up
3337 Options { signature=SHA1 }
3339 # Put your list of files here, one per line or include an
3340 # external list with:
3344 # Note: / backs up everything
3349 # When to do the backups
3351 Name = "WeeklyCycle"
3352 Run = Full sun at 1:05
3353 Run = Incremental mon-sat at 1:05
3355 # Client (File Services) to backup
3360 Password = "MQk6lVinz4GG2hdIZk1dsKE/LxMZGo6znMHiD7t7vzF+"
3361 File Retention = 60d # sixty day file retention
3362 Job Retention = 1y # 1 year Job retention
3363 AutoPrune = yes # Auto apply retention periods
3365 # Definition of DLT tape storage device
3369 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3370 Device = "HP DLT 80" # same as Device in Storage daemon
3371 Media Type = DLT8000 # same as MediaType in Storage daemon
3373 # Definition of DDS tape storage device
3377 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3378 Device = SDT-10000 # same as Device in Storage daemon
3379 Media Type = DDS-4 # same as MediaType in Storage daemon
3381 # Definition of 8mm tape storage device
3385 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3386 Device = "Exabyte 8mm"
3389 # Definition of file storage device
3393 Password = "jMeWZvfikUHvt3kzKVVPpQ0ccmV6emPnF2cPYFdhLApQ"
3394 Device = FileStorage
3397 # Generic catalog service
3400 dbname = bacula; user = bacula; password = ""
3402 # Reasonable message delivery -- send most everything to
3403 # the email address and to the console
3406 mail = root@localhost = all, !skipped, !terminate
3407 operator = root@localhost = mount
3408 console = all, !skipped, !saved
3411 # Default pool definition
3419 # Restricted console used by tray-monitor to get the status of the director
3423 Password = "GN0uRo7PTUmlMbqrJ2Gr1p0fk0HQJTxwnFyE4WSST3MWZseR"
3424 CommandACL = status, .status