]> git.sur5r.net Git - bacula/docs/blob - docs/manual-fr/console.tex
Update web site fix French site; fix compile of French manual
[bacula/docs] / docs / manual-fr / console.tex
1 %%
2 %%
3
4 \section*{La console Bacula}
5 \label{_ConsoleChapter}
6 \index[general]{Console!Bacula}
7 \index[general]{La console Bacula}
8 \index[console]{Console!Bacula}
9 \index[console]{LA console Bacula}
10 \addcontentsline{toc}{section}{La console Bacula}
11
12 \subsection*{G\'en\'eralit\'es}
13 \index[general]{G\'en\'eralit\'es}
14 \addcontentsline{toc}{subsection}{G\'en\'eralit\'es}
15
16 La {\bf console Bacula} (parfois d\'esign\'ee "Agent utilisateur") est un programme 
17 qui permet \`a l'utilisateur autoris\'e ou \`a l'administrateur syst\`eme d'interagir 
18 avec le Director. 
19
20 Actuellement, la console Bacula existe en deux versions : une interface shell 
21 (fa\c{c}on TTY), et une interface graphique GNOME. Avec la console Bacula, vous 
22 pouvez d\'eterminer l'\'etat d'un job particulier, examiner le contenu du 
23 catalogue et effectuer certaines manipulations de cartouches.
24
25 Il existe d'autre part un programme nomm\'e bwx-console, b\^atie avec wxWidgets qui 
26 offre une interface graphique aux op\'erations de restauration.
27
28 Etant donn\'e que la Console interagit avec le Director au travers du r\'eseau, 
29 il n'est pas n\'ecessaire que les deux programmes r\'esident sur la m\^eme machine.
30
31 Bacula a besoin d'un minimum de retour de la Console afin de pouvoir utiliser plus 
32 d'une cartouche. En effet, lorsqu'il en r\'eclame une nouvelle, il attend jusqu'\`a 
33 ce qu'un op\'erateur lui indique, via la Console, qu'une nouvelle cartouche est mont\'ee.
34
35 \subsection*{Configuration de la Console}
36 \index[general]{Configuration de la Console}
37 \index[general]{Configuration!Console}
38 \index[console]{Configuration de la Console}
39 \index[console]{Configuration!Console}
40 \addcontentsline{toc}{subsection}{Configuration de la Console}
41
42 Lors de son lancement, la Console lit le fichier de configuration standard 
43 nomm\'e {\bf bconsole.conf} (ou {\bf gnome-console.conf} dans le cas de la version 
44 GNOME) Ce fichier d\'efinit une configuration par d\'efaut de la Console et, \`a l'heure 
45 actuelle, la seule ressource d\'efinie est la ressource Director, qui informe 
46 la Console du nom et de l'adresse du Director. Pour plus d'informations sur la 
47 configuration de la Console, voyez le chapitre \ilink{Configurer la Console}{_ChapterStart36} 
48 de ce manuel.
49
50 \subsection*{Utiliser la Console}
51 \index[general]{Utiliser la Console}
52 \index[general]{Console!Utiliser la}
53 \index[console]{Utiliser la Console}
54 \index[console]{Console!Utiliser la}
55 \addcontentsline{toc}{subsection}{Utiliser la Console}
56
57 Le programme Console admet les options suivantes :
58 \footnotesize
59 \begin{verbatim}
60 Usage: bconsole [-s] [-c config_file] [-d debug_level]
61        -c <file>   set configuration file to file
62        -dnn        set debug level to nn
63        -n          no conio
64        -s          no signals
65        -t          test - read configuration and exit
66        -?          print this message.
67 \end{verbatim}
68 \normalsize
69
70 Apr\`es son d\'emarrage, la Console est en attente de vos commandes, ce qui 
71 est indiqu\'e par une ast\'erisque (*) (ce n'est pas le cas dans la version 
72 GNOME o\`u vous saisissez vos commandes dans la boite texte en bas de l'\'ecran). 
73 Vous pouvez, pour toutes les commandes, vous contenter d'entrer le nom de la 
74 commande, la Console se chargera de vous demander les arguments n\'ecessaires, 
75 mais dans la plupart des cas, vous pouvez entrer les commandes suivies de leurs 
76 arguments. Le format g\'en\'eral est :
77
78 \footnotesize
79 \begin{verbatim}
80  <command> <keyword1>[=<argument1>] <keyword2>[=<argument2>] ...
81 \end{verbatim}
82 \normalsize
83
84 O\`u {\bf command} est l'une des commandes \'enum\'er\'ees ci-dessous, {\bf keyword} 
85 est l'un des mots-clef \'enum\'er\'es ci-dessous (usuellement suivi d'un argument), 
86 et {\bf argument} est la valeur du mot-clef. La commande peut \^etre abr\'eg\'ee 
87 jusqu'\`a sa plus courte abr\'eviation unique. Si deux commandes commencent 
88 par les m\^emes lettres, c'est celle qui appara\^it en t\^ete dans la liste fournie 
89 par la commande {\bf help} qui sera s\'electionn\'ee si votre abr\'eviation est 
90 ambig\"ue. Aucun des mots-clef suivant la commande ne peut \^etre abr\'eg\'e.
91
92 Par exemple :
93
94 \footnotesize
95 \begin{verbatim}
96 list files jobid=23
97 \end{verbatim}
98 \normalsize
99
100 \'enum\`ere les fichiers sauvegard\'es par le job de JobId 23. 
101
102 Cette autre commande :
103
104 \footnotesize
105 \begin{verbatim}
106 show pools
107 \end{verbatim}
108 \normalsize
109
110 affiche toutes les ressources Pool.
111
112 \subsection*{Quitter la Console}
113 \index[general]{Console!Quitter}
114 \index[general]{Quitter la Console}
115 \index[console]{Console!Quitter}
116 \index[console]{Quitter la Console}
117 \addcontentsline{toc}{subsection}{Quitter la Console}
118
119 Normalement, le programme Console se termine si vous saisissez  {\bf quit} 
120 ou {\bf exit}. Cependant, il il attend jusq"\`a ce que le Director ait pris 
121 en compte la commande, ce qui peut prendre du temps si ce dernier est d\'ej\`a 
122 occup\'e \`a une t\^ache longue (par exemple, un \'elagage du catalogue). Si vous voulez 
123 quitter la Console imm\'ediatement, utilisez la commande {\bf .quit}.
124
125 Il n'existe actuellement aucun moyen d'interrompre une commande de la Console 
126 une fois lanc\'ee (Ctrl-C ne marche pas). En revanche, \`a l'invite d'une commande 
127 vous demandant de choisir parmi plusieurs possibilit\'es, vous pouvez annuler 
128 la commande en entrant un point ({\bf .}), vous serez dans la plupart des cas 
129 ramen\'e \`a l'invite principal, ou \`a l'invite pr\'ec\'edente, dans le cas de choix 
130 imbriqu\'es. En quelques endroits, comme celui o\`u l'on vous demande un 
131 nom de volume, le point sera pris pour la r\'eponse (Bacula pensera que vous 
132 voulez nommer votre volume "."). Dans cette situation, vous serez la plupart 
133 du temps en mesure d'annuler \`a l'invite suivante.
134
135 \label{keywords}
136 \subsection*{Index des mots-clef de la Console}
137 \index[general]{Mots-clef!Index Console}
138 \index[general]{Index des mots-clef de la Console}
139 \index[console]{Mots-clef!Index Console}
140 \index[console]{Index des mots-clef de la Console}
141 \addcontentsline{toc}{subsection}{Index des mots-clef de la Console}
142 Sauf sp\'ecification contraire, chacun des mots-clef suivant admet un argument, 
143 qui est sp\'ecifi\'e apr\`es le mot-clef suivi du signe \'egale. Par exemple :
144
145 \begin{verbatim}
146 jobid=536
147 \end{verbatim}
148
149 Notez que cette liste est probablement incompl\`ete, car le processus de cr\'eation 
150 est toujours en cours. Il se peut aussi qu'elle ne soit pas dans l'ordre 
151 alphab\'etique.
152
153 \begin{description}
154 \item [restart]
155  Permis dans la commande {\it python}, provoque le red\'emarrage de 
156  l'interpr\'eteur Python. Ne prend pas d'arguments.
157 \item [all]
158   Permis dans les commandes {\it status} et {\it show} pour sp\'ecifier, respectivement,  tous les 
159   composants ou toutes les ressources.
160 \item [before]
161   Utilis\'e dans la commande {\it restore}.
162 \item [bootstrap]
163   Utilis\'e dans la commande {\it restore}.
164 \item [catalog]
165   Permis dans la commande {\it use} pour sp\'ecifier le nom de catalogue \`a utiliser. 
166 \item [catalogs]
167   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments
168 \item [client | fd]
169 \item [clients]
170   Utilis\'e dans les commandes {\it show}, {\it list}, et {\it llist}. ne prend pas d'arguments.
171 \item [counters]
172   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
173 \item [current]
174   Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
175 \item [days]
176   Utilisé pour définir le nombre de jours que la commande "list nextvol" doit 
177   prendre en compte dans son évaluation des prochains jobs à exécuter. 
178   Le mot-clef "day" peut aussi être utilisé avec la commande "status dir" 
179   afin qu'elle affiche les jobs planifiés pour la période spécifiés.
180 \item [devices]
181   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
182 \item [dir | director]
183 \item [directors]
184   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
185 \item [directory]
186   Utilis\'e dans la commande {\it restore}. Son argument spécifie 
187   le répertoire à restaurer.
188 \item [enabled]
189   Ce mot-clef peut être utilisé avec la commande {\bf update volume} et admet 
190   l'un des arguments suivants : yes, true, no, false, archived, 0, 1, 2, où 
191   0 correspond à "no" ou "false", 1 à "yes" ou "true" et 2 à "archived". Les volumes 
192   avec le statut "archived" ne seront pas utilisés, pas plus que ne seront élagués leurs 
193   enregistrements dans le catalogue. Les volumes qui n'ont pas le statut "enabled" 
194   ne seront pas utilisés pour des sauvegardes ou des restaurations.
195 \item [done]
196   Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
197 \item [file]
198   Utilis\'e dans la commande {\it restore}.
199 \item [files]
200   Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
201 \item [fileset]
202 \item [filesets]
203  Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
204 \item [help]
205  Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
206 \item [jobs]
207   Utilis\'e dans les commandes {\it show}, {\it list} et {\it llist}. Ne prend pas d'arguments.
208 \item [jobmedia]
209   Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
210 \item [jobtotals]
211   Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
212 \item [jobid]
213   Le JobId est le num\'ero de job qui est affich\'e dans le rapport de job. 
214   C'est l'index du catalogue pour le job donn\'e. Bien qu'il soit unique 
215   pour tous les jobs existant dans le catalogue, le m\^eme JobId peut 
216   \^etre r\'eutilis\'e une fois qu'un job a \'et\'e supprim\'e du catalogue. 
217   Vous d\'esignerez certainement les jobs sp\'ecifiques par leur JobId.
218 \item [job | jobname]
219   Le mot-clef Job ou Jobname se r\'ef\`ere au nom que vous avez sp\'ecifi\'e 
220   dans la ressource Job, et donc peut d\'esigner plusieurs jobs effectu\'es. 
221   C'est particuli\`erement utile lorsque vous voulez la liste des jobs 
222   execut\'es portant un nom particulier.
223 \item [level]
224 \item [listing]
225   Permis dans la commande {\it estimate}. Ne prend pas d'arguments.
226 \item [limit]
227 \item [messages]
228   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
229 \item [media]
230  Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
231 \item [nextvol | nextvolume]
232   Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
233 \item [on]
234   Ne prend pas d'arguments.
235 \item [off]
236   Ne prend pas d'arguments.
237 \item [pool]
238 \item [pools]
239   Utilis\'e dans les commandes, {\it show}, {\it list}, et {\it llist}. ne prend pas d'arguments.
240 \item [select]
241   Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
242 \item [storages]
243   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
244 \item [schedules]
245   Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
246 \item [sd | store | storage]
247 \item [ujobid]
248   L'ujobid est un identificateur unique de job qui est affich\'e dans 
249   le rapport du job. Actuellement, il consiste en le nom du job 
250   (celui de la directive Name de ce job) suffix\'e de la date et de 
251   l'heure d'ex\'ecution du job. Ce mot-clef est utile si vous voulez 
252   identifier compl\`etement l'instance du job ex\'ecut\'e.
253 \item [volume]
254 \item [volumes]
255   Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
256 \item [where]
257   Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
258 \item [yes]
259   Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
260 \end{description}
261
262 \label{list}
263 \subsection*{Index des commandes de la Console}
264 \index[general]{Commandes!Index des commandes de la Console}
265 \index[general]{Index des commandes de la Console}
266 \index[console]{Commandes!Index des commandes de la Console}
267 \index[console]{Index des commandes de la Console}
268 \addcontentsline{toc}{subsection}{Index des commandes de la Console}
269
270 Les commandes suivantes sont actuellement impl\'ement\'ees :
271
272 \begin{description}
273 \item [{add [pool=\lt{}pool-name\gt{} storage=\lt{}storage\gt{}
274    jobid=\lt{}JobId\gt{}]} ]
275    \index[console]{add}
276 Cette commande sert \`a ajouter des volumes \`a un pool existant. Les noms des 
277 volumes saisis sont plac\'es dans le catalogue et deviennent ainsi disponibles 
278 pour les sauvegardes. Normalement, on pr\'ef\`er utiliser la commande {\bf label} 
279 qui remplit les m\^emes fonctions en plus d'apposer une \'etiquette logicielle 
280 (label) sur les bandes, par opposition \`a {\bf add} qui se contente de 
281 r\'ef\'erencer le volume dans le catalogue. Ainsi, si vous utilisez {\bf add}, 
282 le volume doit pr\'eexister et \^etre d\'ej\`a \'etiquet\'e. Cette commande peut 
283 cependant \^etre utile si vous voulez ajouter plusieurs cartouches dans un 
284 pool en ne les \'etiquettant que plus tard. Elle peut aussi se r\'ev\'eler utile 
285 si vous importez des cartouches provenant d'un autre site. Consultez le 
286 paragraphe sur la commande {\bf label} pour conna\^itre la liste des 
287 caract\`eres autoris\'es dans un nom de volume.
288
289 \item [autodisplay on/off]
290    \index[console]{autodisplay on/off}
291   Cette commande accepte les arguments {\bf on} ou {\bf off} et active ou 
292   d\'esactive l'affichage automatique des messages. La valeur par d\'efaut dans 
293   la Console est {\bf off}, ce qui signifie que les messages en attente 
294   vous sont notifi\'es, mais qu'ils ne sont pas automatiquement affich\'es. 
295   La valeur par d\'efaut pour la console GNOME est {\bf on}, ainsi les 
296   messages sont affich\'es lorqu'ils sont re\c{c}us (habituellement dans les 5 secondes 
297   apr\`es qu'ils aient \'et\'e g\'en\'er\'es).
298
299   Lorsque l'affichage automatique est d\'esactiv\'e, vous devez explicitement 
300   en demander l'affichage avec la commande {\bf messages}.
301
302 \item [automount on/off]
303    \index[console]{automount on/off}
304   Cette commande accepte les arguments {\bf on} ou {\bf off} et active ou
305   d\'esactive le montage automatique de la cartouche apr\`es une commande {\bf label}.
306   La valeur par d\'efaut est {\bf on}. Si le montage automatique est d\'esactiv\'e, 
307   vous devez explicitement monter la cartouche apr\`es avoir utilis\'e {\bf label} 
308   pour pouvoir \'ecrire dessus.
309
310 \item [{cancel [jobid=\lt{}number\gt{} job=\lt{}job-name\gt{} ujobid=\lt{}unique-jobid\gt{}]}]
311    \index[console]{cancel jobid}
312    Cette commande sert \`a supprimer un job et admet les arguments {\bf jobid=nnn} 
313    ou {\bf job=xxx} o\`u nnn est \`a remplacer par le JobId et xxx par le nom de 
314    job. Si vous lancez cette commande sans arguments, la Console vous propose 
315    de choisir parmi les jobs actifs celui \`a supprimer. 
316
317    Une fois qu'un job est marqu\'e "A supprimer", il peut se passer quelques instants 
318    (en g\'en\'eral, moins d'une minute) avant qu'il se termine, en fonction des 
319    op\'erations en cours.
320
321 \item [{ create [pool=\lt{}pool-name\gt{}]}]
322    \index[console]{create pool}
323    Cette commande sert \`a cr\'eer un enregistrement Pool dans le catalogue 
324    selon les ressources Pool d\'efinis dans le fichier de configuration 
325    du Director. En un sens, cette commande se content de transf\'erer 
326    l'information depuis la ressource Pool dans le fichier de configuration 
327    vers le catalogue. En principe, cete commande est automatiquement 
328    ex\'ecut\'ee au lancement du Director, pourvu que le pool soit r\'ef\'erenc\'e 
329    dans une ressource Job. Si vous utilisez cette commande sur un pool 
330    existant, elle met \`a jour le catalogue en foction des informations de 
331    la ressource Pool. Apr\`es avoir cr\'e\'e un pool, vous uiliserez 
332    probablement la commande {\bf label} pour \'etiqueter un ou plusieurs 
333    volumes et enregistrer leurs noms dans le catalogue.
334    
335    Si, au lancement d'un job, Bacula d\'etermine qu'il n'y a pas de pool 
336    enregistr\'e dans le catalogue, mais qu'il existe une ressource Pool pour 
337    le pool appropri\'e, alors il le cr\'e\'e pour vous. Si vous voulez le voir 
338    appara\^itre imm\'ediatement dans le catalogue, utilisez cette commande pour 
339    forcer sa cr\'eation imm\'ediate.
340
341 \item [{ delete [volume=\lt{}vol-name\gt{} pool=\lt{}pool-name\gt{}  job
342    jobid=\lt{}id\gt{}]}]
343    \index[console]{delete}
344    Cette commande s'utilise pour supprimer un volume, un pool ou un job 
345    du catalogue, ainsi que tous les enregistrements du catalogue qui leur 
346    sont associ\'es. Cette commande op\`ere exclusivement sur le catalogue 
347    et n'a aucune r\'epercussion sur les donn\'ees \'ecrites sur les cartouches. 
348    Elle peut \^etre dangereuse, et nous vous recommandons fortement de ne 
349    pas l'utiliser si vous ne savez pas exactement ce que vous faites.
350    
351    Voici la forme compl\`ete de cette commande :
352
353 \begin{verbatim}
354 delete pool=\lt{}pool-name\gt{}
355 \end{verbatim}
356
357    supprime un pool du catalogue.
358
359 \begin{verbatim}
360 delete volume=\lt{}volume-name\gt{} pool=\lt{}pool-name\gt{} 
361 \end{verbatim}
362
363    supprime du catalogue un volume du pool sp\'ecifi\'e.
364
365 \begin{verbatim}
366 delete JobId=\lt{}job-id\gt{} JobId=\lt{}job-id2\gt{} ... 
367 \end{verbatim}
368
369   supprime du catalogue le job sp\'ecifi\'e.
370
371 \begin{verbatim}
372 delete Job JobId=n,m,o-r,t ...  
373 \end{verbatim}
374
375    supprime les job de JobIds m,n,o,p,q,r et t (o\`u m,n,... sont, bien sur, des 
376    nombres). Ainsi, la commande "delete jobid" accepte les listes et les plages 
377    de jobids.
378
379 \item [disable job\lt{}job-name\gt{}]
380   \index[console]{enable}
381   Cette commande vous permet de d\'esactiver un job normalement planifi\'e 
382   pour ex\'ecution. Le job peut avoir \'et\'e pr\'ealablement activ\'e par la 
383   directive {\bf Enabled} dans la ressource Job, ou avec la commande 
384   {\bf enable} dans la Console. Au prochain d\'emarrage du Director, ou 
385   si le fichier de configuration est recharg\'e, l'\'etat Enable/Disable sera 
386   r\'etabli \`a celui sp\'ecifi\'e dans la ressource Job (la valeur par d\'efaut 
387   est enabled).
388
389 \item [enable job\lt{}job-name\gt{}]
390   \index[console]{enable}
391  Cette commande vous permet de d'activer un job  planifi\'e
392   pour ex\'ecution automatique. Le job peut avoir \'et\'e pr\'ealablement d\'esactiv\'e par la
393   directive {\bf Disabled} dans la ressource Job, ou avec la commande
394   {\bf disable} dans la Console. Au prochain d\'emarrage du Director, ou
395   si le fichier de configuration est recharg\'e, l'\'etat Enable/Disable sera
396   r\'etabli \`a celui sp\'ecifi\'e dans la ressource Job (la valeur par d\'efaut
397   est enabled).
398
399 \label{estimate}
400 \item [estimate]
401    \index[console]{estimate}
402    Avec cette commande, vous pouvez vous faire une id\'ee du nombre de fichier 
403     seront sauvegard\'es. Vous pouvez aussi l'utiliser pour \'eprouver les 
404     param\`etres Include de vos FileSets sans passer par une sauvegarde 
405     r\'eelle. Par d\'efaut, l'estimation est faite pour une sauvegarde Full.
406     Cependant, vous pouvez passer outre ce comportement en sp\'ecifiant 
407     {\bf level=Incremental} ou {\bf level=Differential} sur la ligne de 
408     commande. Un nom de job doit \^etre sp\'ecifi\'e, faute de quoi il vous sera 
409     demand\'e. Optionnellement, vous pouvez sp\'ecifier un client et un 
410     FileSet sur la ligne de commande. Bacula contacte alors le client 
411     et calcule le nombre de fichier et d'octets qui seraient 
412     sauvegard\'es. Notez qu'il s'agit d'une estimation calcul\'ee d'apr\`es 
413     le nombre de blocs dans les fichiers plut\^ot qu'en lisant le nombre 
414     effectif d'octets. Aussi, la taille estim\'ee est g\'en\'eralement plus 
415     importante que celle de la sauvegarde r\'eelle.
416
417     Optionnellement, vous pouvez ajouter le mot-clef {\bf listing}, auquel cas 
418     tous les fichiers \`a sauvegarder seront affich\'es. Notez qu'un tel affichage 
419     peut prendre un certain temps s'il s'agit d'une grosse sauvegarde.
420     Voici la forme compl\`ete de cette commande :
421
422 \begin{verbatim}
423 estimate job=\lt{}job-name\gt{} listing client=\lt{}client-name\gt{}
424        fileset=\lt{}fileset-name\gt{} level=\lt{}level-name\gt{}
425 \end{verbatim}
426
427     La sp\'ecification du {\bf job} est suffisante, mais vous pouvez aussi 
428     passer outre le client, le FileSet et/ou le niveau en les 
429     sp\'ecifiant sur la ligne de commande.
430
431     Par exemple, vous pourriez faire ceci : 
432
433 \footnotesize
434 \begin{verbatim}
435      @output /tmp/listing
436      estimate job=NightlySave listing level=Incremental
437      @output
438 \end{verbatim}
439 \normalsize
440
441 ce qui produirait une liste compl\`ete de tous les fichiers \`a sauvegarder pour 
442 le job {\bf NightlySave} au cours d'une sauvegarde incr\'ementale, et qui 
443 consignerait cette liste dans le fichier {\bf /tmp/listing}. Notez que l'évaluation 
444 produite par cette commande se base sur les tailles de fichiers contenues dans 
445 l'objet "répertoire", aussi l'estimation peut être très éloignée de la réalité si vous 
446 avez des fichiers creux (NDT : sparse files) sur votre système. Ce type de fichiers se 
447 rencontre souvent sur les systèmes 64 bits avec certains systèmes de fichiers. 
448 Le volume obtenu par l'évaluation est celui que sauvegardera Bacula si l'option 
449 sparse est désactivée. Il n'y a actuellement aucun moyen d'évaluer le volume de 
450 ce qui serait sauvegardé avec l'option sparse activée.
451
452 \item [help]
453    \index[console]{help}
454    Cette commande affiche la liste des commandes disponibles.
455
456 \item [label]
457    \index[console]{label}
458    \index[console]{relabel}
459    \index[general]{label}
460    \index[general]{relabel}
461    Cette commande est utilis\'ee pour \'etiqueter les volumes. La forme compl\`ete est :
462
463 \begin{verbatim}
464   label storage=\lt{}storage-name\gt{} volume=\lt{}volume-name\gt{}
465         slot=\lt{}slot\gt{}  
466 \end{verbatim}
467
468    Si vous omettez l'un quelconque des arguments, il vous sera r\'eclam\'e. 
469    Le type de m\'edia est automatiquement r\'ecup\'er\'e de la ressource Storage. 
470    Une fois que les informations requises sont r\'eunies, la Console 
471    contacte le Storage Daemon sp\'ecifi\'e et lui ordonne d'\'etiqueter la 
472    cartouche sp\'ecifi\'ee. Si l'\'etiquetage s'effectue correctement, la 
473    Console cr\'e\'e un nouvel enregistrement dans le catalogue pour le 
474    volume dans le pool appropri\'e.
475
476    Les noms de volumes ne doivent contenir que des lettres, chiffres et 
477    les caract\`eres sp\'eciaux tiret ({\bf -}), sous-lign\'e ({\bf \_}), double-point 
478    ({\bf :}), et point ({\bf .}). Tous les autres caract\`eres, y compris l'espace, 
479    sont ill\'egaux. Cette restriction vise \`a assurer une bonne lisibilit\'e 
480    des noms de volumes pour r\'eduire le risque d'erreurs humaines.
481
482    Notez que lors de l'\'etiquetage d'une cartouche vierge, Bacula obtient des 
483    erreurs {\bf read I/O error} lorqu'il tente de v\'erifier si la cartouche 
484    a d\'ej\`a un label. Si vous voulez \'eviter ce genre de message, placez un 
485    indicateur de fin de fichier sur votre cartouche avant son \'etiquetage :
486
487 \footnotesize
488 \begin{verbatim}
489        mt rewind
490        mt weof
491        
492 \end{verbatim}
493 \normalsize
494
495 La commande label peut \'echouer pour plusieurs raisons :
496
497
498 \begin{enumerate}
499 \item Le nom de volume que vous avez sp\'ecifi\'e figure d\'ej\`a dans le catalogue.
500 \item Le Storage Daemon a d\'ej\`a une cartouche mont\'ee dans le lecteur. Dans ce cas, 
501   vous devez la d\'emonter ({\bf unmount}) et ins\'erer une cartouche vierge 
502   avant de lancer la commande {\bf label}.
503 \item La cartouche dans le lecteur porte d\'ej\`a une \'etiquette Bacula. 
504   (Bacula ne r\'e-\'etiquette jamais une cartouche \`a moins qu'elle soit recycl\'ee 
505   et que vous utilisiez la commande  {\bf relabel} ).
506 \item Il n'y a pas de cartouche dans le lecteur.
507 \end{enumerate}
508
509 Il existe deux moyens pour r\'e-\'etiqueter un volume qui porte d\'ej\`a une 
510 \'etiquette Bacula. La m\'ethode brutale consiste \`a \'ecrire une marque de fin de 
511 fichier sur la cartouche vec la commande du syst\`eme d'exploitation {\bf mt}, 
512 quelque chose dans ce style :
513
514 \footnotesize
515 \begin{verbatim}
516        mt -f /dev/st0 rewind
517        mt -f /dev/st0 weof
518 \end{verbatim}
519 \normalsize
520
521 puis d'utiliser la commande {\bf label} pour ajouter une nouvelle \'etiquette. 
522 Cette m\'ethode peut cependant laisser des traces de l'ancien volume dans le 
523 catalogue.
524
525 Il est pr\'ef\'erable d'utiliser la commande {\bf relabel} d\'ecrite ci-dessous sur 
526 un volume purg\'e (automatiquement ou avec la commande {\bf purge}).
527
528 Si votre librairie comporte un lecteur de codes barres, vous pouvez 
529 \'etiqueter tous les volumes qu'elle contient en 
530 utilisant la commande {\bf label barcodes}. En effet, apr\`es le lancement de 
531 cette commande, Bacula monte chaque cartouche l'une apr\`es l'autre et 
532 l'\'etiquette du nom de son code barres. simultan\'ement, l'enregistrement 
533 appropri\'e est cr\'e\'e dans le catalogue. Toute cartouche dont le code barres 
534 commence par les m\^emes caract\`eres que ceux sp\'ecifi\'es par la directive 
535 "CleaningPrefix" de la ressource Pool du director est consid\'er\'ee comme 
536 une cartouche de nettoyage et ne re\c{c}oit donc pas d'\'etiquette, bien 
537 qu'une entr\'ee dans le catalogue lui soit d\'edi\'ee. Par exemple avec :
538
539 \footnotesize
540 \begin{verbatim}
541         Pool {
542           Name ...
543           Cleaning Prefix = "CLN"
544        }
545         
546 \end{verbatim}
547 \normalsize
548
549 tout slot contenant une cartouche de code barres CLNxxxxx sera trait\'ee en tant 
550 que cartouche de nettoyage et ne sera jamais mont\'ee. Notez que la forme 
551 compl\`ete de la commande est :
552
553 \footnotesize
554 \begin{verbatim}
555 update storage=xxx pool=yyy slots=1-5,10 barcodes
556 \end{verbatim}
557 \normalsize
558
559 \item [list]
560    \index[console]{list}
561    La commande {\bf list} extrait du catalogue les informations demand\'ees. Les 
562    diff\'erentes champs de chaque enregistrement sont \'enum\'er\'es sur une simple 
563    ligne. Voici les diff\'erentes formes de la commande : 
564    
565 \footnotesize
566 \begin{verbatim}
567    list jobs
568    
569    list jobid=<id>           (affiche le jobid id)
570
571    list ujobid=<unique job name> (affiche le job dont le nom unique est <unique job name>)
572    
573    list job=<job-name>   (Affiche tous les jobs dont le nom est "job-name")
574
575    list jobname=<job-name>  (voir ci-dessus)
576
577      Dans cette commande, vous pouvez ajouter "limit=nn" pour limiter la sortie \`a nn jobs. 
578    
579    list jobmedia
580    
581    list jobmedia jobid=<id>
582    
583    list jobmedia job=<job-name>
584    
585    list files jobid=<id>
586    
587    list files job=<job-name>
588    
589    list pools
590    
591    list clients
592    
593    list jobtotals
594    
595    list volumes
596    
597    list volumes jobid=<id>
598    
599    list volumes pool=<pool-name>
600    
601    list volumes job=<job-name>
602    
603    list volume=<volume-name>  
604
605    list nextvolume job=<job-name>
606    
607    list nextvol job=<job-name>
608
609    list nextvol job=<job-name> days=nnn
610
611
612
613 \end{verbatim}
614 \normalsize
615
616    Ce que font la plupart des commandes ci-dessus devrait \^etre plus ou moins \'evident. 
617    En g\'en\'eral, si vous ne sp\'ecifiez pas tous les arguments requis, la Console 
618    vous sollicitera pour les arguments manquants.
619
620    La commande {\bf list nextvol} affiche le nom du volume qui dera utilis\'e par 
621    le job sp\'ecifi\'e. Soyez conscient que le prochain volume utilis\'e 
622    pour un job d\'epend de nombreux facteurs dont le temps, et les autres 
623    jobs qui seront ex\'ecut\'es avant celui sp\'ecifi\'e, qui peuvent remplir une 
624    cartouche qui \'etait vide au moment de l'ex\'ecution de {\bf list nextvol}.
625    Aussi, consid\'erez la r\'eponse fournie par cette commande comme une bonne 
626    estimation plut\^ot que comme une r\'eponse d\'efinitive. De plus, cette commande 
627    a certains effets de bord : \'etant donn\'e qu'elle ex\'ecute le m\^eme algorithme 
628    qu'un job, elle est susceptible de purger ou recycler un volume. Par d\'efaut, 
629    le job sp\'ecifi\'e doit \^etre ex\'ecut\'e dans les deux jours ou aucun volume 
630    ne sera trouv\'e. Vous pouvez cependant sp\'ecifier jusqu'\`a 50 jours en avant 
631    avec la directive {\bf days=nnn}. Si, par exemple, un vendredi, vous voulez 
632    savoir quel volume sera requis lundi pour le job MyJob, utilisez 
633    {\bf list nextvol job=MyJob days=3}.
634
635    Si vous souhaitez ajouter vos propres commandes pour interroger le 
636    catalogue, vous pouvez les placer dans le fichier {\bf query.sql}. 
637    Cela demande quelques connaissances du langage SQL. Voyez le 
638    paragraphe sur la commande  {\bf query} ci-dessous pour plus 
639    d'informations. Voyez aussi le paragraphe sur la commande 
640    {\bf llist} qui permet l'affichage complet des informations du 
641    catalogue.
642    
643    Voici un exemple d'affichage produit par la commande {\bf list pools} :
644
645 \footnotesize
646 \begin{verbatim}
647 +------+---------+---------+---------+----------+-------------+
648 | PoId | Name    | NumVols | MaxVols | PoolType | LabelFormat |
649 +------+---------+---------+---------+----------+-------------+
650 |    1 | Default |       0 |       0 | Backup   | *           |
651 |    2 | Recycle |       0 |       8 | Backup   | File        |
652 +------+---------+---------+---------+----------+-------------+
653 \end{verbatim}
654 \normalsize
655
656    Comme mentionn\'e pr\'ec\'edemment, la commande {\bf list} affiche des 
657    informations du catalogue. Certais \'el\'ements sont ajout\'es dans le catalogue 
658    d\`es le d\'emarrage de Bacula, mais en g\'en\'eral, la plupart ne le sont que 
659    lorsqu'ils sont utilis\'es pour la premi\`ere fois. C'est le cas des clients, 
660    des jobs, etc.
661
662    Bacula cr\'e\'e une entr\'ee relative \`a un nouveau client dans le catalogue 
663    la premi\`ere fois que vous ex\'ecut\'ez un job pour ce client. L'entr\'ee est 
664    cr\'e\'ee que le job aboutisse ou qu'il \'echoue, mais il doit au moins d\'emarrer. 
665    Lorsque le client est contact\'e, des informations suppl\'ementaires sont 
666    r\'ecup\'er\'ees du client (le r\'esultat d'un "uname -a") et ajout\'ees au 
667    catalogue. Un {\bf status} n'entra\^ine pas l'enregistrement dans le catalogue. 
668
669    Si vous voulez visualiser les ressources Client disponibles dans votre 
670    catalogue, utilisez la commande {\bf show clients}.
671
672 \item [llist]
673    \index[console]{llist}
674    La commande {\bf llist} (pour "long list") admet les m\^emes arguments que la 
675    commande list d\'ecrite ci-dessus. La diff\'erence est que {\bf llist} affiche 
676    le contenu complet de chaque enregistrement du catalogue s\'electionn\'e. 
677    L'affichage des diff\'erents champs est produit verticalement, un champ par 
678    ligne. Cette commande peut \^etre tr\`es prolixe.
679    
680    Si, au lieu du {\bf list pools} de l'exemple pr\'ec\'edent, vous saisissez 
681    {\bf llist pools}, vous obtiendrez un affichage de ce genre :
682
683 \footnotesize
684 \begin{verbatim}
685           PoolId: 1
686             Name: Default
687          NumVols: 0
688          MaxVols: 0
689          UseOnce: 0
690       UseCatalog: 1
691  AcceptAnyVolume: 1
692     VolRetention: 1,296,000
693   VolUseDuration: 86,400
694       MaxVolJobs: 0
695      MaxVolBytes: 0
696        AutoPrune: 0
697          Recycle: 1
698         PoolType: Backup
699      LabelFormat: *
700
701           PoolId: 2
702             Name: Recycle
703          NumVols: 0
704          MaxVols: 8
705          UseOnce: 0
706       UseCatalog: 1
707  AcceptAnyVolume: 1
708     VolRetention: 3,600
709   VolUseDuration: 3,600
710       MaxVolJobs: 1
711      MaxVolBytes: 0
712        AutoPrune: 0
713          Recycle: 1
714         PoolType: Backup
715      LabelFormat: File
716       
717 \end{verbatim}
718 \normalsize
719
720 \item [messages]
721    \index[console]{messages}
722    Cette commande affiche imm\'ediatement tout message de la console en attente.
723  
724
725 \item [mount]
726    \index[console]{mount}
727   
728    La commande {\bf mount} est utilis\'ee pour obtenir de Bacula qu'il lise 
729    un volume charg\'e dans un lecteur. C'est un moyen d'indiquer \`a Bacula 
730    que vous avez charg\'e une cartouche qu'il doit examiner. Cette commande 
731    n'est utilis\'ee que lorsque Bacula a demand\'e votre intervention pour 
732    charger un lecteur vide, ou lorsque vous avez explicitement d\'emont\'e 
733    un volume avec la commande {\bf unmount} dans la Console, ce qui 
734    provoque la fermeture du lecteur. Si vous avez une librairie, vous ne 
735    ferez pas op\'erer Bacula dessus avec la commande mount. Voici les 
736    diff\'erentes formes de cette commande :
737
738 mount  storage=\lt{}storage-name\gt{}
739
740 mount [ jobid=\lt{}id\gt{} |  job=\lt{}job-name\gt{} ]
741
742    Si vous avez sp\'ecifi\'e {\bf Automatic  Mount = yes} dans la ressource 
743    Device du Storage Daemon, Alors Bacula pourra acc\'eder automatiquement 
744    au volume, \`a moins que vous ne l'ayez explicitement d\'emont\'e ({\bf unmount}) 
745    dans la Console.
746
747 \item[python]
748    \index[console]{python}
749     La commande {\bf python} n'admet qu'un argument : {\bf restart}.
750     
751    La commande {\bf python} {\bf restart} r\'einitialise l'interpr\'eteur Python 
752    du Director. Ceci peut \^etre tr\`es utile pour effectuer des tests, car une 
753    fois que le Director est lanc\'e, et l'interpr\'eteur Python initialis\'e, 
754    il n'y a pas d'autre moyen de lui faire int\'egrer des modifications 
755    du script de d\'emarrage {\bf DirStartUp.py}. Pour plus de d\'etails sur 
756    l'\'ecriture de scripts Python, consultez le chapitre \ilink{Ecrire des 
757    scripts Python}{_ChapterStart60}.
758    
759 \label{ManualPruning}
760 \item [prune]
761    \index[console]{prune}
762    La commande {\bf prune} permet d'\'elaguer en toute s\'ecurit\'e les 
763    enregistrements expir\'es du catalogue pour les jobs et les volumes. 
764    Cette commande n'affecte que le catalogue, et non les donn\'ees 
765    \'ecrites sur les volumes. Dans tous les cas, la commande {\bf prune} 
766    respecte les p\'eriodes de r\'etention des enregistrements sp\'ecifi\'es. 
767    Vous pouvez \'elaguer les jobs expir\'es, ainsi que les jobs et fichiers 
768    d'un volume sp\'ecifi\'e.
769
770 prune files|jobs|volume client=\lt{}client-name\gt{} 
771 volume=\lt{}volume-name\gt{}  
772
773    Pour qu'un volume soit \'elagu\'e, son  {\bf VolStatus} doit \^etre Full, 
774    Used, ou Append, faute de quoi l'\'elagage sera sans effet.
775    
776 \item [purge]
777    \index[console]{purge}
778    La commande {\bf purge} efface les enregistrements sp\'ecifi\'es du catalogue 
779    sans \'egards pour les p\'eriodes de r\'etention. {\bf Purge} n'affecte que le 
780    catalogue, et non les donn\'ees \'ecrites sur les volumes. Cette commande 
781    peut se r\'ev\'eler tr\`es dangereuse car vous pouvez parfaitement supprimer 
782    les enregistrements relatifs \`a des sauvegardes valides et r\'ecentes. Aussi, 
783    nous vous recommandons de ne pas l'utiliser \`a moins de savoir exactement 
784    ce que vous faites. Voici les diff\'erentes formes de la commande {\bf purge} :
785    
786 purge files jobid=\lt{}jobid\gt{}|job=\lt{}job-name\gt{}|client=\lt{}client-name\gt{} 
787
788 purge jobs client=\lt{}client-name\gt{} (of all jobs)
789
790 purge volume|volume=\lt{}vol-name\gt{} (of all jobs)
791
792
793    Pour qu'un volume puisse \^etre purg\'e, son {\bf VolStatus} doit \^etre Full,
794    Used, ou Append, faute de quoi la purge sera sans effet.
795
796 \item [relabel]
797    \index[console]{relabel}
798    \index[general]{relabel}
799    Cette commande sert \`a r\'e-\'etiqueter physiquement un volume. En voici 
800    la forme compl\`ete :
801
802 relabel storage=\lt{}storage-name\gt{} oldvolume=\lt{}old-volume-name\gt{}  
803     volume=\lt{}newvolume-name\gt{} 
804  
805    Si vous omettez l'un quelconque des arguments, la console vous sollicitera 
806    pour obtenir les informations manquantes. Pour qu'un volume puisse \^etre 
807    r\'e-\'etiquet\'e, il doit figurer dans le catalogue, et avoir le statut 
808    {\bf Purged} ou {\bf Recycle}. Cette situation peut se pr\'esenter 
809    automatiquement par l'application des p\'eriodes de r\'etention, ou vous 
810    pouvez l'obtenir par une {\bf purge} explicite du volume.
811
812    Une fois que le volume a \'et\'e physiquement r\'e-\'etiquet\'e, les donn\'ees 
813    qu'il contenait sont d\'efinitivement et irr\'em\'ediablement perdues.
814
815 \item [release]
816    \index[console]{release}
817    Cette commande ordonne au Storage Daemon de rembobiner la cartouche 
818    dans le lecteur, et de relire son \'etiquette \`a la prochaine utilisation 
819    de la cartouche.
820
821 release storage=\lt{}storage-name\gt{}  
822
823    Apr\`es cette commande, le lecteur est gard\'e \`a l'\'etat ouvert par Bacula 
824    (sauf si l'option Always Open est d\'esactiv\'ee dans la configuration 
825    du Storage Daemon), et il ne peut donc \^etre utilis\'e par un autre 
826    programme. Toutefois, il est possible, avec certains lecteurs, de 
827    changer la cartouche \`a ce stade. Lors du prochain job, Bacula saura 
828    relire l'\'etiquette de la cartouche pour savoir laquelle est mont\'ee. 
829    Si vous voulez \^etre en mesure d'utiliser le lecteur avec un autre 
830    programme, par exemple {\bf mt}, vous devez uiliser la commande 
831    {\bf unmount} pour que Bacula le lib\`ere compl\`etement.
832
833 \item [reload]
834   \index[console]{reload}
835   Lorsqu'il re\c{c}oit la commande {\bf reload}, le Director relit ses fichiers 
836   de configuration et applique les \'eventuelles modifications. Celles-ci 
837   sont prises en compte imm\'ediatement, et donc effectives pour tous les 
838   jobs \`a venir. Notez cependant qu'en ce qui concerne les modifications 
839   apport\'ees aux Schedules, la prise en compte des nouvelles valeur peut 
840   \^etre report\'ee au del\`a de l'ex\'ecution des jobs d\'ej\`a planifi\'es pour 
841   les deux prochaines heures. Ceci est d\^u au planificateur qui pr\'evoit 
842   "pr\'e-planifie" jusqu'\`a deux heures \`a l'avance les jobs \`a ex\'ecuter. 
843   Ainsi, des jobs qui ont d\'ej\`a \'et\'e "pr\'e-planifi\'es" seront ex\'ecut\'es 
844   suivant les valeurs sp\'ecifi\'ees par la ressource Schedule avant sa 
845   modification. Les nouveaux jobs utiliseront les nouvelles valeurs. 
846   A chaque fois que vous utilisez la commande {\bf reload} alors que 
847   des jobs sont en cours d'ex\'ecution, les valeurs de la configuration 
848   pr\'ec\'edente demeurent en vigueur jusqu'\`a ce que les ces jobs se terminent. 
849   Le Director peut ainsi conserver jusqu'\`a 10 jeux de configurations 
850   ant\'erieures avant de refuser une nouvelle commande {\bf reload}. 
851   Une fois que l'un, au moins, des jeux de valeurs ant\'erieur a \'et\'e accept\'e, 
852   il peut \`a nouveau accepter de nouvelles commandes {\bf reload}.
853   
854    Bien qu'il soit possible de recharger la configuration du Director 
855    \`a la vol\'ee, alors m\^eme que des jobs sont en cours d'ex\'ecution, il faut 
856    garder \`a l'esprit que c'est une op\'eration complexe, qui n'est pas d\'enu\'ee 
857    d'effets de bords. C'est pourquoi il est recommand\'e, si vous \^etes amen\'e \`a 
858    utiliser la commande {\bf reload}, de red\'emarrer le Director d\`es que vous 
859    en aurez l'opportunit\'e.
860
861 \label{restore_command}
862 \item [restore]
863    \index[console]{restore}
864    La commande {\bf restore} vous permet de s\'electionner un ou plusieurs jobs 
865    (JobIds) \`a restaurer selon plusieurs m\'ethodes. Une fois que les JobIds ont 
866    \'et\'e s\'electionn\'es, les enregistrements de fichiers sont plac\'es dans une 
867    arborescence interne \`a Bacula, et la Console entre dans un mode de 
868    s\'election interactif qui vous permet de naviguer dans cette arborescence 
869    en s\'electionnant individuellement les fichiers ou r\'epertoires \`a restaurer. 
870    Ce mode est assez similaire au mode de s\'election interactif du  programme 
871    Unix {\bf restore} standard. 
872    
873 restore storage=\lt{}storage-name\gt{} client=\lt{}client-name\gt{} 
874   where=\lt{}path\gt{} pool=\lt{}pool-name\gt{} fileset=\lt{}fileset-name\gt{} 
875   select current all done  
876
877    O\`u l'option {\bf current}, si elle est sp\'ecifi\'ee, indique \`a la commande 
878    {\bf restore} de s\'electionner automatiquement la sauvegarde la plus 
879    r\'ecente (sinon, vous serez sollicit\'e \`a ce sujet). L'option  {\bf all}, 
880    si elle est sp\'ecifi\'ee, indique \`a la commande {\bf restore} de restaurer 
881    tous les fichiers (sinon, vous serez sollicit\'e \`a ce sujet). Pour plus de 
882    d\'etails concernant la commande {\bf restore}, consultez le chapitre 
883    \ilink{Restaurations avec Bacula}{_ChapterStart13}.
884    
885 \item [run]
886    \index[console]{run}
887    Cette commande vous permet d'ex\'ecuter imm\'ediatement vos jobs. Voici la forme 
888    compl\`ete de cette commande :
889
890 run job=\lt{}job-name\gt{} client=\lt{}client-name\gt{}
891   fileset=\lt{}FileSet-name\gt{}  level=\lt{}level-keyword\gt{}
892   storage=\lt{}storage-name\gt{}  where=\lt{}directory-prefix\gt{}
893   when=\lt{}universal-time-specification\gt{}  yes  
894
895    Toute information omise quoique requise fait l'objet d'une liste de s\'election, 
896    et avant le lancement du job, un bilan des param\`etres vous est pr\'esent\'e avec 
897    options d'accord, refus et modification, \`a moins que vous ayez sp\'ecifi\'e 
898    {\bf yes}, auquel cas le job est imm\'ediatement envoy\'e vers le planificateur.
899    
900    Sur mon syst\`eme, j'obtiens ce qui suit lorsque je lance la commande run :
901
902 \footnotesize
903 \begin{verbatim}
904 A job name must be specified.
905 The defined Job resources are:
906      1: Matou
907      2: Polymatou
908      3: Rufus
909      4: Minimatou
910      5: Minou
911      6: PmatouVerify
912      7: MatouVerify
913      8: RufusVerify
914      9: Watchdog
915 Select Job resource (1-9):
916      
917 \end{verbatim}
918 \normalsize
919
920 Si je choisis le num\'ero 5, j'obtiens :
921
922 \footnotesize
923 \begin{verbatim}
924 Run Backup job
925 JobName:  Minou
926 FileSet:  Minou Full Set
927 Level:    Incremental
928 Client:   Minou
929 Storage:  DLTDrive
930 Pool:     Default
931 When:     2003-04-23 17:08:18
932 OK to run? (yes/mod/no):
933      
934 \end{verbatim}
935 \normalsize
936
937 Si maintenant j'entre {\bf yes}, le job est ex\'ecut\'e. Si je choisis {\bf mod}, 
938 voici les otpions qui me sont propos\'ees :
939
940 \footnotesize
941 \begin{verbatim}
942 Parameters to modify:
943      1: Level
944      2: Storage
945      3: Job
946      4: FileSet
947      5: Client
948      6: When
949      7: Pool
950 Select parameter to modify (1-7):
951      
952 \end{verbatim}
953 \normalsize
954
955 Vous pouvez, si vous le souhaitez, d\'emarrer un job plus tard, en utilisant le 
956 param\`etre {\bf When}. Pour cela, faites le choix {\bf mod}, puis s\'electionnez 
957 {\bf When} (no. 6) et enfin, saisissez l'heure et le jour de lancement 
958 d\'esir\'es au format AAAA-MM-JJ HH:MM:SS.
959
960 \item [setdebug]
961    \index[console]{setdebug}
962    \index[dir]{setdebug}
963    \index[dir]{debuggage}
964    \index[dir]{debuggage Win32}
965    \index[dir]{Windows!debuggage}
966    
967    Cette commande est utilis\'ee pour param\'etrer le niveau de d\'ebuggage de chaque 
968    {\it daemon}. Voici la forme compl\`ete de cette commande.
969
970 setdebug level=nn [trace=0/1 client=\lt{}client-name\gt{} | dir | director |
971   storage=\lt{}storage-name\gt{} | all]  
972
973    Si le param\`etre de tra\c{c}age est actif (trace=1), alors le {\it daemon} est 
974    plac\'e en mode tra\c{c}age, ce qui signifie que toutes les informations de 
975    d\'ebuggage sont envoy\'ees vers le fichier {\bf bacula.trace} dans le 
976    r\'epertoire courant du {\it daemon}. En principe, ce n'est n\'ecessaire 
977    que pour le d\'ebuggage des clients Win32 o\`u les informations ne peuvent 
978    \^etre envoy\'ees vers un terminal ou redirig\'ees vers un fichier. en mode 
979    tra\c{c}age, chaque message de d\'ebuggage est ajout\'e au fichier, que vous devez 
980    supprimer explicitement lorsque vous avez fini.
981
982 \item [show]
983    \index[console]{show}
984    \index[dir]{show}
985    LA commande {\bf show} \'enum\`ere les directives des ressources du Director 
986    telles qu'ells sont d\'efinies dans son fichier de configuration. 
987    Cette commande est surtout utilis\'ee par les d\'eveloppeurs \`a des fins 
988    de d\'ebuggage. LEs mots-clef suivants sont accept\'es :
989    catalogs, clients, counters, devices, directors,
990    filesets, jobs, messages, pools, schedules, storages, all, help.
991    Ne confondez pas cette commande ave la commande {\bf list}, qui affiche 
992    quand \`a elle le contenu du catalogue.
993
994 \item [sqlquery]
995    \index[console]{sqlquery}
996    La commande  {\bf sqlquery} place le programme Console en mode de 
997    requ\^etes SQL, dans lequel chaque ligne que vousq tapez est concat\'en\'ee 
998    \`a la pr\'ec\'edents jusqu'\`a ce qu'un point-virgule (;) soit rencontr\'e. Le 
999    point-virgule termine la commande qui est alors directement envoy\'e au moteur 
1000    de base de donn\'ee SQL. Lorsque le r\'esultat issu de la base de donn\'ee SQL est 
1001    affich\'e, la Console est pr\`ete \`a recevoir une nouvelle commande SQL. 
1002    Pour sortir du mode {\bf sqlquery} et reevenir \`a l'invite de la Console, 
1003    entrez un point (.).
1004
1005    Cette commande vous permet d'interroger directement le catalogue. Notez 
1006    que vous devriez savoir exactement ce que vous faites en utilisant cette 
1007    commande, car vous pouvez endommager s\'erieusement votre catalogue. 
1008    Consultez le paragraphe relatif \`a la commande {\bf query} qui offre un 
1009    moyen \`a la fois plus simple et plus sur de saisir des requ\^etes SQL.
1010    
1011    En fonction du moteur de base de donn\'ees que vous utilisez (MySQL, 
1012    PostgreSQL ou SQLite), vous disposerez de commandes quelque peu diff\'erentes. 
1013    Pour plus de d\'etails, r\'ef\'erez-vous aux documentations de MySQL, PostgreSQL 
1014    ou SQLite.
1015    
1016 \item [status]
1017    \index[dir]{status}
1018    Cette commande produit un \'etat des prochains jobs planifi\'es au cours des 
1019    24 prochanes heures, ainsi que l'\'etat des jobs en cours d'ex\'ecution. Voici 
1020    la forme compl\`ete de cette commande :
1021
1022 status [all | dir=\lt{}dir-name\gt{} | director | 
1023   client=\lt{}client-name\gt{} | storage=\lt{}storage-name\gt{} |
1024   days=nnn]
1025
1026    Si vous entrez {\bf status dir}, la Console \'enum\`ere tous les jobs en cours 
1027    d'ex\'ecution, un r\'esum\'e des jobs planifi\'e pour ex\'ecution au cours des prochaines 
1028    24 heures incluant le volume qui sera probablement utilis\'e, et donne la liste 
1029    des dix derniers jobs ex\'ecut\'es avec leurs \'etats. Gardez \`a l'esprit les deux 
1030    \'el\'ements suivants :
1031    \begin{itemize}
1032    \item L'obtention du volume n\'ecessite d'appliquer le m\^eme algorithme que 
1033    celui utilis\'e lors de l'ex\'ecution d'un job, ce qui peut r\'esulter en un \'elagage 
1034    de cartouche.
1035    \item Le volume affich\'e est, au mieux, une bonne supposition. En effet le 
1036    volume effectivement utilis\'e peut \^etre diff\'erent en raison du temps \'ecoul\'e 
1037    entre le status et l'ex\'ecution du job, un autre job ayant pu, entre temps, 
1038    remplir compl\`etement la cartouche.
1039    \end{itemize}
1040
1041    Dans la liste des jobs en cours d'ex\'ecutions, vous pouvez trouver ce type 
1042    d'informations :
1043
1044 \footnotesize
1045 \begin{verbatim}
1046 2507 Catalog MatouVerify.2004-03-13_05.05.02 is waiting execution
1047 5349 Full    CatalogBackup.2004-03-13_01.10.00 is waiting for higher
1048              priority jobs to finish
1049 5348 Differe Minou.2004-03-13_01.05.09 is waiting on max Storage jobs
1050 5343 Full    Rufus.2004-03-13_01.05.04 is running
1051 \end{verbatim}
1052 \normalsize
1053
1054    La liste ci-dessus indique que le job de JobId 5343 (Rufus) est en cours. 
1055    Le job de JobId 5348 (Minou) est en attente de la fin du job 5343 
1056    qui utilise la m\^eme ressource Storage, ce qui provoque le "waiting 
1057    on max Storage jobs". Le job de JobId 5349 a une priorit\'e inf\'erieure 
1058    \`a celle de tous les autres jobs, aussi, il est en attente de la fin de 
1059    jobs de priorit\'es sup\'erieures. Finalement, le job de jobId 2508 (MatouVerify) 
1060    est en attente ("waiting execution") car un seul job peut \^etre ex\'ecut\'e 
1061    en m\^eme temps.
1062
1063    Si vous faites un {\bf status dir}, Bacula affiche par d\'efaut les premi\`eres 
1064    occurrences de tous les jobs pr\'evus pour ex\'ecution aujourd'hui et demain.
1065    Si vous voulez voir les jobs pr\'evus pour les trois prochains jours, 
1066    (Si, par exemple vendredi, vous voulez voir les premi\`eres occurrences 
1067    des cartouches \`a utiliser vendredi, samedi, dimanche et lundi), vous 
1068    pouvez ajouter l'option {\bf days=3}. Notez, {\bf days=0}  montre les 
1069    premi\`eres occurrences des jobs planifi\'es pour \^etre ex\'ecut\'es aujourd'hui 
1070    seulement. Si vous avez plusieurs ex\'ecutions planifi\'ees, pour chaque 
1071    job, seule la premi\`ere occurrence sera affich\'e pour la p\'eriode sp\'ecifi\'ee.
1072
1073    Si votre job para\^it bloqu\'e, vous pouvez avoir une id\'ee g\'en\'erale du probl\`eme 
1074    en utilisant {\bf status dir}, et obtenir une information plus sp\'ecifique 
1075    avec  {\bf status storage=xxx}. Par exemple, si j'utilise cette derni\`ere 
1076    commande sur un syst\`eme inoccup\'e, j'obtiens :
1077
1078 \footnotesize
1079 \begin{verbatim}
1080 status storage=File
1081 Connecting to Storage daemon File at 192.168.68.112:8103
1082
1083 rufus-sd Version: 1.39.6 (24 March 2006) i686-pc-linux-gnu redhat (Stentz)
1084 Daemon started 26-Mar-06 11:06, 0 Jobs run since started.
1085
1086 Running Jobs:
1087 No Jobs running.
1088 ====
1089
1090 Jobs waiting to reserve a drive:
1091 ====
1092
1093 Terminated Jobs:
1094  JobId  Level   Files          Bytes Status   Finished        Name 
1095 ======================================================================
1096     59  Full        234      4,417,599 OK       15-Jan-06 11:54 kernsave
1097 ====
1098
1099 Device status:
1100 utochanger "DDS-4-changer" with devices:
1101    "DDS-4" (/dev/nst0)
1102 Device "DDS-4" (/dev/nst0) is mounted with Volume="TestVolume002"
1103 Pool="*unknown*"
1104     Slot 2 is loaded in drive 0.
1105     Total Bytes Read=0 Blocks Read=0 Bytes/block=0
1106     Positioned at File=0 Block=0
1107 Device "Dummy" is not open or does not exist.
1108 No DEVICE structure.
1109
1110 Device "DVD-Writer" (/dev/hdc) is not open.
1111 Device "File" (/tmp) is not open.
1112 ====
1113
1114 In Use Volume status:
1115 ====
1116 \end{verbatim}
1117 \normalsize
1118
1119 Ce qui r\'ev\`ele qu'aucun job n'est en cours d'ex\'ecution, et qu'aucun des 
1120 p\'eriph\'eriques n'est en cours d'utilisation. Si je d\'emonte la librairie 
1121 ({\bf unmount}), qui ne sera plus utilis\'ee dans cet exemple, et que je lance 
1122 un job qui utilise le stockage File, le job se bloque. Si je demande \`a 
1123 nouveau {\bf status storage=xxx}, j'obtiens :
1124
1125 \footnotesize
1126 \begin{verbatim}
1127 status storage=File
1128 ...
1129 Device status:
1130 Autochanger "DDS-4-changer" with devices:
1131    "DDS-4" (/dev/nst0)
1132 Device "DDS-4" (/dev/nst0) is not open.
1133     Device is BLOCKED. User unmounted.
1134     Drive 0 is not loaded.
1135 Device "Dummy" is not open or does not exist.
1136 No DEVICE structure.
1137
1138 Device "DVD-Writer" (/dev/hdc) is not open.
1139 Device "File" (/tmp) is not open.
1140     Device is BLOCKED waiting for media.
1141 ====
1142 ...
1143 \end{verbatim}
1144 \normalsize
1145
1146 Il devrait maintenant \^etre clair que si un job n\'ecessitant la librairie 
1147 est ex\'ecut\'e, il bloquera en raison du d\'emontage de cette derni\`ere par 
1148 l'utilisateur. Mais le probl\`eme pour le job que j'ai lanc\'e avec le 
1149 p\'eriph\'erique "File" est que le p\'eriph\'erique est bloqu\'e en attente 
1150 d'un media : Bacula a besoin que vous \'etiquetiez un volume.
1151
1152 \item [unmount]
1153    \index[console]{unmount}
1154    Cette commande sert \`a ordonner au Storage Daemon de d\'emonter le p\'eriph\'erique 
1155    sp\'ecifi\'e. Les formes de cette commande sont les m\^emes que celle de la commande 
1156    mount :
1157    
1158 \footnotesize
1159 \begin{verbatim}
1160 unmount storage=<storage-name>
1161
1162 unmount [ jobid=<id> | job=<job-name> ]
1163 \end{verbatim}
1164 \normalsize
1165
1166 \label{UpdateCommand}
1167 \item [update]
1168    \index[console]{update}
1169    Cette commande met \`a jour le catalogue, que ce soit pour un pool sp\'ecifique, 
1170    un enregistrement de volume, ou les slots d'une librairie dot\'ee d'un lecteur 
1171    de codes barres. Dans le cas de la mise \`a jour d'un enregistrement de pool, 
1172    la nouvelle configuration est automatiquement r\'ecup\'er\'ee de la ressource 
1173    correspondante du fichier de configuration du Director. Cette commande peut 
1174    notamment servir \`a augmenter le nombre maxial de volumes dans un pool. Les 
1175    principaux mots-clef suivants peuvent \^etre utilis\'es :
1176
1177 \footnotesize
1178 \begin{verbatim}
1179    media, volume, pool, slots  
1180 \end{verbatim}
1181 \normalsize
1182
1183 Dans le cas de la mise \`a jour d'un volume, vous serez interrog\'e sur le 
1184 param\`etre que vous voulez modifier. Voici ces param\`etres :
1185
1186 \footnotesize
1187 \begin{verbatim}
1188  
1189    Volume Status
1190    Volume Retention Period
1191    Volume Use Duration
1192    Maximum Volume Jobs
1193    Maximum Volume Files
1194    Maximum Volume Bytes
1195    Recycle Flag
1196    Slot
1197    InChanger Flag
1198    Pool
1199    Volume Files
1200    Volume from Pool
1201    All Volumes from Pool
1202    
1203 \end{verbatim}
1204 \normalsize
1205
1206    Pour le param\`etre slot, {\bf update slots}, Bacula obtient une liste 
1207    de tous les slots et de leurs codes barres du Storage Daemon, 
1208    pour chaque code barres trouv\'e, le slot est mis \`a jour dans 
1209    l'enregistrement Media du catalogue. C'est tr\`es pratique si vous 
1210    d\'eplacez des cartouches dans la librairie, ou si vous changez des 
1211    magasins de cartouches. Dans la foul\'ee, le drapeau InChanger est 
1212    aussi mis \`a jour.Ceci permet \`a BAcula de savoir quels cartouches sont 
1213    effectivement dans la librairie.
1214    
1215    Si vous n'avez pas de lecteur de codes barres, vous pouvez faire la 
1216    m\^eme chose depuis la version 1.33 gr\^ace \`a la commande {\bf update slots scan}. 
1217    Le mot-clef {\bf scan} ordonne \`a Bacula de monter physiquement chaque 
1218    cartouche afin de lire son VolumeName.
1219
1220    Pour le param\`etre Pool,  {\bf update pool}, Bacula d\'eplace le volume de 
1221    son pool courant vers le pool sp\'ecifi\'e.
1222
1223    Pour les parm\`etres {\bf Volume from Pool} et {\bf All Volumes from Pool}, 
1224    les valeurs suivantes sont mises \`a jour depuis l'enregistrement 
1225    de pool :  Recycle, VolRetention, VolUseDuration, MaxVolJobs, MaxVolFiles, 
1226    and MaxVolBytes.
1227
1228    Voici la forme compl\`ete de la commande {\bf update} :
1229
1230 \footnotesize
1231 \begin{verbatim}
1232        update volume=xxx pool=yyy slots volstatus=xxx VolRetention=ddd
1233          VolUse=ddd MaxVolJobs=nnn MaxVolBytes=nnn Recycle=yes|no
1234          slot=nnn enabled=n
1235       
1236 \end{verbatim}
1237 \normalsize
1238
1239 \item [use]
1240    \index[console]{use}
1241    Cette commande vous perment de pr\'eciser le catalogue que vous voulez utiliser. 
1242    En principe, vous n'utiliserez qu'un seul catalogue, aussi vous n'aurez pas 
1243    besoin de faire ce choix. Sinon, utilisez cette commande pour passer de l'un 
1244    de vos catalogues \`a l'autre.
1245
1246 use \lt{}database-name\gt{} 
1247
1248 \item [var]
1249    \label{var}
1250    \index[console]{var name}
1251    Cette commande prend une cha\^ine \'eventuellement encadr\'ee de guillemets et effectue 
1252    l'expansion des variables comme elle serait effectu\'ee au niveau de la 
1253    directive {\bf LabelFormat}. Ainsi, vous pouvez tester vos cha\^ines 
1254    de format d'\'etiquetage. La diff\'erence entre la commande {\bf var}  et le 
1255    processus effectif est que pour la premi\`ere, aucun job n'est en cours, 
1256    aussi des valeurs factices sont utilis\'ees au lieu des variables sp\'ecifiques 
1257    aux jobs. Cela vous permet cependant de vous faire une bonne id\'ee de ce qui 
1258    se passerait dans le cas r\'eel.
1259
1260 \item [version]
1261    \index[console]{version}
1262    Cette commande affiche la version du Director.
1263
1264 \item [quit]
1265    \index[console]{quit}
1266    Cette commande stoppe le programme Console. Celui-ci envoie la requ\^ete 
1267    {\bf quit} au Director et attend son accus\'e de r\'eception. Si le Director 
1268    est occup\'e, cela peut prendre un certain temps. Vous pouvez quitter 
1269    imm\'ediatement en utilisant la variante {\bf .quit} ({\bf quit} pr\'ec\'ed\'ee 
1270    d'un point).
1271   
1272 \item [query]
1273    \index[console]{query}
1274    Cette commande lit une requ\^ete SQL pr\'ed\'efinie dans le fichier de requ\^etes 
1275    (le nom et l'emplacement de ce fichier sont d\'efinis par la directive 
1276    QueryFile du fichier de configuration du Director). Il vous est alors 
1277    demand\'e de s\'electionner une requ\^ete du fichier, et \'eventuellement de 
1278    saisir un ou plusieurs param\`etres. La requ\^ete est alors soumise au 
1279    moteur de base de donn\'ees.
1280
1281 Les requ\^etes suivantes sont actuellement (version 1.24) disponibles :
1282
1283 \footnotesize
1284 \begin{verbatim}
1285 Available queries:
1286   1: List Job totals:
1287   2: List where a file is saved:
1288   3: List where the most recent copies of a file are saved:
1289   4: List total files/bytes by Job:
1290   5: List total files/bytes by Volume:
1291   6: List last 20 Full Backups for a Client:
1292   7: List Volumes used by selected JobId:
1293   8: List Volumes to Restore All Files:
1294   9: List where a File is saved:
1295 Choose a query (1-9):
1296       
1297 \end{verbatim}
1298 \normalsize
1299
1300 \item [exit]
1301    \index[console]{exit}
1302    Cette commande termine le programme Console.
1303
1304 \item [wait]
1305    \index[console]{wait}
1306    Cette commande place le Director en pause jusqu'\`a ce qu'il n'y ait plus 
1307    aucun job en ex\'ecution. Cette commande est utile dans des situation 
1308    d'utilisation automatis\'ee par scripts telles que les tests de r\'egression 
1309    o\`u vous voulez d\'emarrer un job, et attendre qu'il se termine avant de 
1310    poursuivre. Cette commande admet les options suivantes :
1311
1312 \footnotesize
1313 \begin{verbatim}
1314    wait [jobid=nn] [jobuid=unique id] [job=job name]
1315 \end{verbatim}
1316 \normalsize
1317
1318 \end{description}
1319
1320 \label{dotcommands}
1321
1322 \subsection*{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un point}
1323 \index[general]{Commands!sp\'eciales, pr\'ec\'ed\'ees d'un point}
1324 \index[general]{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un point}
1325 \addcontentsline{toc}{subsection}{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un point}
1326
1327 Voici une liste de commandes pr\'efix\'ees d'un point (.). Elles ont pour vocation 
1328 d'\^etre utilis\'ees soit dans des programmes {\it batch}, soit par des interfaces 
1329 graphiques. Elles ne sont, en principe, pas utilis\'ees en mode interactif. 
1330 Une fois que le d\'eveloppement d'interfaces graphiques aura d\'emarr\'e, cette liste 
1331 s'accro\^itra consid\'erablement. 
1332
1333 \footnotesize
1334 \begin{verbatim}
1335 .backups job=xxx      list backups for specified job
1336 .defaults client=xxx fileset=yyy  list defaults for specified client
1337 .die                  cause the Director to segment fault (for debugging)
1338 .dir                  when in tree mode prints the equivalent to the dir command,
1339                         but with fields separated by commas rather than spaces.
1340 .jobs                 list all job names
1341 .levels               list all levels
1342 .filesets             list all fileset names
1343 .clients              list all client names
1344 .pools                list all pool names
1345 .types                list job types
1346 .msgs                 return any queued messages
1347 .messages             get quick messages
1348 .help                 help command output
1349 .quit                 quit
1350 .status               get status output
1351 .exit                 quit
1352 \end{verbatim}
1353 \normalsize
1354
1355 \label{atcommands}
1356
1357 \subsection*{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un arobase (@)}
1358 \index[general]{Commandes!sp\'eciales arobase @}
1359 \index[general]{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un arobase (@)}
1360 \addcontentsline{toc}{subsection}{Commandes sp\'eciales, pr\'ec\'ed\'ees d'un arobase (@)}
1361
1362 Normalement, toutes les commandes saisies dans la Console sont imm\'ediatement 
1363 transmises au Director, qui peut r\'esider sur une autre machine, afin d'y \^etre 
1364 ex\'ecut\'ees. Il existe cependant quelques commandes, toutes pr\'ec\'ed\'ees du 
1365 caract\`ere arobase (@), qui ne sont pas envoy\'ees au Director, mais 
1366 directement interpr\'et\'ees par la Console. Notez que seule la Console 
1367 tty impl\'emente ces commandes, et non la Console GNOME. En voici la liste :
1368
1369 \begin{description}
1370
1371 \item [@input \lt{}nom-de-fichier\gt{}]
1372    \index[console]{@input \lt{}nom-de-fichier\gt{}}
1373    Lit et ex\'ecute les commandes consign\'ees dans le fichier sp\'ecifi\'e.
1374
1375 \item [@output \lt{}nom-de-fichier\gt{} w/a]
1376    \index[console]{@output \lt{}nom-de-fichier\gt{} w/a}
1377    Envoit l'ensemble des retours de la Console vers le fichier sp\'ecifi\'e, 
1378    avec \'ecrasement si l'option {\bf w} est sp\'ecifi\'ee, ou ajout \`a la suite si l'option 
1379    {\bf a} est sp\'ecifi\'ee. Pour rediriger la sortie vers le terminal, entrez 
1380    simplement {\bf output} sans sp\'ecifier de nom de fichier. 
1381    ATTENTION : prenez garde de ne pas \'ecraser un fichier valide. 
1382    Voici un exemple typique lors d'un test de r\'egression :
1383
1384 \footnotesize
1385 \begin{verbatim}
1386     @output /dev/null
1387     commands ...
1388     @output
1389     
1390 \end{verbatim}
1391 \normalsize
1392
1393 \item [@tee \lt{}nom-de-fichier\gt{} w/a]
1394    \index[console]{@tee \lt{}nom-de-fichier\gt{} w/a}
1395    Comme la commande pr\'ec\'edente avec envoi simultan\'e vers le terminal. Pour 
1396    sortir de ce mode, vous pouvez utiliser {\bf @tee} ou {\bf @output} sans 
1397     sp\'ecifier de nom de fichier.
1398
1399 \item [@sleep \lt{}seconds\gt{}]
1400    \index[console]{@sleep \lt{}seconds\gt{}}
1401    Met en sommeil pour une dur\'ee du nombre de secondes sp\'ecifi\'e. 
1402
1403 \item [@time]
1404    \index[console]{@time}
1405    Affiche la date et l'heure courantes.
1406
1407 \item [@version]
1408    \index[console]{@version}
1409    Affiche la version de la Console.
1410
1411 \item [@quit]
1412    \index[console]{@quit}
1413    Quitte.  
1414
1415 \item [@exit]
1416    \index[console]{@exit}
1417    Quitte.  
1418
1419 \item [@\# n-importe-quoi]
1420    \index[console]{n-importe-quoi}
1421    Commentaire. 
1422 \end{description}
1423
1424 \label{scripting}
1425
1426 \subsection*{Ex\'ecuter la Console depuis un script shell}
1427 \index[general]{Script!Ex\'ecuter la Console depuis un script shell}
1428 \index[general]{Ex\'ecuter la Console depuis un script shell}
1429 \addcontentsline{toc}{subsection}{Ex\'ecuter la Console depuis un script shell}
1430 Vous pouvez automatiser de nombreuses t\^aches effectu\'ees \`a la Console, en les 
1431 ex\'ecutant dans un script shell. Par exemple, si vous avez cr\'e\'e un fichier 
1432 contenant ceci :
1433
1434 \footnotesize
1435 \begin{verbatim}
1436  ./bconsole -c ./bconsole.conf <<END_OF_DATA
1437  unmount storage=DDS-4
1438  quit
1439  END_OF_DATA
1440 \end{verbatim}
1441 \normalsize
1442
1443 A l'ex\'ecution de ce fichier, le p\'eriph\'erique DDS-4 est d\'emont\'e. 
1444 Vous pouvez, si vous le souhaitez, ex\'ecuter cette t\^ache lors d'un job avec 
1445 les directives {\bf RunBeforeJob} ou {\bf RunAfterJob}.
1446
1447 Il est aussi possible d'ex\'ecuter la Console \`a partir de l'entr\'ee d'un 
1448 fichier contenant les commandes comme suit :
1449
1450 \footnotesize
1451 \begin{verbatim}
1452 ./bconsole -c ./bconsole.conf <filename
1453 \end{verbatim}
1454 \normalsize
1455
1456 o\`u le fichier nomm\'e {\bf filename} contient un ensemble quelconque de 
1457 commandes de la Console.
1458
1459 Voici un exemple r\'eel, issu des tests de r\'egression de Bacula. Il 
1460 \'etiquette un volume (sur disque) ex\'ecute une sauvegarde puis une 
1461 restauration des fichiers sauvegard\'es.
1462
1463 \footnotesize
1464 \begin{verbatim}
1465 bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
1466 @output /dev/null
1467 messages
1468 @output /tmp/log1.out
1469 label volume=TestVolume001
1470 run job=Client1 yes
1471 wait
1472 messages
1473 @#
1474 @# now do a restore
1475 @#
1476 @output /tmp/log2.out
1477 restore current all
1478 yes
1479 wait
1480 messages
1481 @output
1482 quit
1483 END_OF_DATA
1484 \end{verbatim}
1485 \normalsize
1486
1487 Les donn\'ees issues de la sauvegarde sont envoy\'ees vers  /tmp/log1.out et 
1488 celles de la restaurations vers /tmp/log2.out. Pour v\'erifier que les 
1489 op\'erations se sont d\'eroul\'ees correctement, les fichiers de sorties 
1490 sont contr\^ol\'es avec :
1491
1492 \footnotesize
1493 \begin{verbatim}
1494 grep "^Termination: *Backup OK" /tmp/log1.out
1495 backupstat=$?
1496 grep "^Termination: *Restore OK" /tmp/log2.out
1497 restorestat=$?
1498 \end{verbatim}
1499 \normalsize
1500
1501 \subsection*{Ajouter des volumes \`a un pool}
1502 \index[general]{Ajouter des volumes \`a un pool}
1503 \index[general]{Pool!Ajouter des volumes \`a un}
1504 \addcontentsline{toc}{subsection}{Ajouter des volumes \`a un pool}
1505
1506 Si vous avez utilis\'e la commande {\bf label} pour \'etiqueter un volume, alors 
1507 celui-ci est automatiquement ajout\'e au pool, et vous n'avez pas besoin de le faire 
1508 manuellement.
1509
1510 Une alternative consiste \`a ajouter plusieurs volumes \`a un pool sans les 
1511 \'etiqueter pr\'ealablement. Vous devrez alors les \'etiqueter plus tard, lorsque Bacula 
1512 en aura besoin. 
1513
1514 Avant d'ajouter un volume \`a un pool, vous devez conna\^itre les informations 
1515 suivantes :
1516
1517 \begin{enumerate}
1518 \item Le nom du pool (normalement, "Default") ;  
1519 \item Le type de media tel qu'il est sp\'ecifi\'e dans la ressource Storage 
1520 du fichier de configuration du Director (par exemple, "DLT8000") ;
1521 \item Le nombre de volumes que vous voulez cr\'eer, et leurs noms.
1522 The number and names of the Volumes you wish to create. 
1523 \end{enumerate}
1524
1525 Par exemple, pour ajouter un media \`a un pool, vous utiliseriez les commandes 
1526 suivantes dans la Console :
1527
1528 \footnotesize
1529 \begin{verbatim}
1530 *add
1531 Enter name of Pool to add Volumes to: Default
1532 Enter the Media Type: DLT8000
1533 Enter number of Media volumes to create. Max=1000: 10
1534 Enter base volume name: Save
1535 Enter the starting number: 1
1536 10 Volumes created in pool Default
1537 *
1538 \end{verbatim}
1539 \normalsize
1540
1541 Pour voir ce que vous avez ajout\'e, tapez :
1542
1543 \footnotesize
1544 \begin{verbatim}
1545 *list media pool=Default
1546 +-------+----------+---------+---------+-------+------------------+
1547 | MedId | VolumeNa | MediaTyp| VolStat | Bytes | LastWritten      |
1548 +-------+----------+---------+---------+-------+------------------+
1549 |    11 | Save0001 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1550 |    12 | Save0002 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1551 |    13 | Save0003 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1552 |    14 | Save0004 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1553 |    15 | Save0005 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1554 |    16 | Save0006 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1555 |    17 | Save0007 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1556 |    18 | Save0008 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1557 |    19 | Save0009 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1558 |    20 | Save0010 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1559 +-------+----------+---------+---------+-------+------------------+
1560 *
1561 \end{verbatim}
1562 \normalsize
1563
1564 Notez que la Console a automatiquement ajout\'e un num\'ero au nom de volume de 
1565 base que vous avez sp\'ecifi\'e ("Save" dans ce cas). Si vous ne souhaitez pas 
1566 ce comportement, r\'epondez simplement 0 (z\'ero) \`a la queston "Enter number 
1567 of Media volumes to create . Max=1000:" et un seul volume sera cr\'e\'e avec 
1568 le nom exact que vous avez sp\'ecifi\'e.