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}
12 \subsection*{G\'en\'eralit\'es}
13 \index[general]{G\'en\'eralit\'es}
14 \addcontentsline{toc}{subsection}{G\'en\'eralit\'es}
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
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.
25 Il existe d'autre part un programme nomm\'e wx-console, b\^atie avec wxWidgets qui
26 offre une interface graphique aux op\'erations de restauration.
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.
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.
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}
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}
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}
57 Le programme Console admet les options suivantes :
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
65 -t test - read configuration and exit
66 -? print this message.
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 :
80 <command> <keyword1>[=<argument1>] <keyword2>[=<argument2>] ...
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.
100 \'enum\`ere les fichiers sauvegard\'es par le job de JobId 23.
102 Cette autre commande :
110 affiche toutes les ressources Pool.
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}
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}.
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.
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 :
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
155 Permis dans la commande {\it python}, provoque le red\'emarrage de
156 l'interpr\'eteur Python. Ne prend pas d'arguments.
158 Permis dans les commandes {\it status} et {\it show} pour sp\'ecifier, respectivement, tous les
159 composants ou toutes les ressources.
161 Utilis\'e dans la commande {\it restore}.
163 Utilis\'e dans la commande {\it restore}.
165 Permis dans la commande {\it use} pour sp\'ecifier le nom de catalogue \`a utiliser.
167 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments
170 Utilis\'e dans les commandes {\it show}, {\it list}, et {\it llist}. ne prend pas d'arguments.
172 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
174 Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
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.
181 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
182 \item [dir | director]
184 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
186 Utilis\'e dans la commande {\it restore}. Son argument spécifie
187 le répertoire à restaurer.
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.
196 Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
198 Utilis\'e dans la commande {\it restore}.
200 Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
203 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
205 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
207 Utilis\'e dans les commandes {\it show}, {\it list} et {\it llist}. Ne prend pas d'arguments.
209 Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
211 Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
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.
225 Permis dans la commande {\it estimate}. Ne prend pas d'arguments.
228 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
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.
234 Ne prend pas d'arguments.
236 Ne prend pas d'arguments.
239 Utilis\'e dans les commandes, {\it show}, {\it list}, et {\it llist}. ne prend pas d'arguments.
241 Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
243 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
245 Utilis\'e dans la commande {\it show}. Ne prend pas d'arguments.
246 \item [sd | store | storage]
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.
255 Utilis\'e dans les commandes {\it list}, et {\it llist}. ne prend pas d'arguments.
257 Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
259 Utilis\'e dans la commande {\it restore}. Ne prend pas d'arguments.
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}
270 Les commandes suivantes sont actuellement impl\'ement\'ees :
273 \item [{add [pool=\lt{}pool-name\gt{} storage=\lt{}storage\gt{}
274 jobid=\lt{}JobId\gt{}]} ]
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.
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).
299 Lorsque l'affichage automatique est d\'esactiv\'e, vous devez explicitement
300 en demander l'affichage avec la commande {\bf messages}.
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.
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.
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.
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.
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.
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.
351 Voici la forme compl\`ete de cette commande :
354 delete pool=\lt{}pool-name\gt{}
357 supprime un pool du catalogue.
360 delete volume=\lt{}volume-name\gt{} pool=\lt{}pool-name\gt{}
363 supprime du catalogue un volume du pool sp\'ecifi\'e.
366 delete JobId=\lt{}job-id\gt{} JobId=\lt{}job-id2\gt{} ...
369 supprime du catalogue le job sp\'ecifi\'e.
372 delete Job JobId=n,m,o-r,t ...
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
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
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
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.
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 :
423 estimate job=\lt{}job-name\gt{} listing client=\lt{}client-name\gt{}
424 fileset=\lt{}fileset-name\gt{} level=\lt{}level-name\gt{}
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.
431 Par exemple, vous pourriez faire ceci :
436 estimate job=NightlySave listing level=Incremental
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.
453 \index[console]{help}
454 Cette commande affiche la liste des commandes disponibles.
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 :
464 label storage=\lt{}storage-name\gt{} volume=\lt{}volume-name\gt{}
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.
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.
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 :
495 La commande label peut \'echouer pour plusieurs raisons :
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.
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 :
516 mt -f /dev/st0 rewind
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
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}).
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 :
543 Cleaning Prefix = "CLN"
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 :
555 update storage=xxx pool=yyy slots=1-5,10 barcodes
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 :
569 list jobid=<id> (affiche le jobid id)
571 list ujobid=<unique job name> (affiche le job dont le nom unique est <unique job name>)
573 list job=<job-name> (Affiche tous les jobs dont le nom est "job-name")
575 list jobname=<job-name> (voir ci-dessus)
577 Dans cette commande, vous pouvez ajouter "limit=nn" pour limiter la sortie \`a nn jobs.
581 list jobmedia jobid=<id>
583 list jobmedia job=<job-name>
585 list files jobid=<id>
587 list files job=<job-name>
597 list volumes jobid=<id>
599 list volumes pool=<pool-name>
601 list volumes job=<job-name>
603 list volume=<volume-name>
605 list nextvolume job=<job-name>
607 list nextvol job=<job-name>
609 list nextvol job=<job-name> days=nnn
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.
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}.
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
643 Voici un exemple d'affichage produit par la commande {\bf list pools} :
647 +------+---------+---------+---------+----------+-------------+
648 | PoId | Name | NumVols | MaxVols | PoolType | LabelFormat |
649 +------+---------+---------+---------+----------+-------------+
650 | 1 | Default | 0 | 0 | Backup | * |
651 | 2 | Recycle | 0 | 8 | Backup | File |
652 +------+---------+---------+---------+----------+-------------+
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,
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.
669 Si vous voulez visualiser les ressources Client disponibles dans votre
670 catalogue, utilisez la commande {\bf show clients}.
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.
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 :
692 VolRetention: 1,296,000
693 VolUseDuration: 86,400
709 VolUseDuration: 3,600
721 \index[console]{messages}
722 Cette commande affiche imm\'ediatement tout message de la console en attente.
726 \index[console]{mount}
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 :
738 mount storage=\lt{}storage-name\gt{}
740 mount [ jobid=\lt{}id\gt{} | job=\lt{}job-name\gt{} ]
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})
748 \index[console]{python}
749 La commande {\bf python} n'admet qu'un argument : {\bf restart}.
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}.
759 \label{ManualPruning}
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.
770 prune files|jobs|volume client=\lt{}client-name\gt{}
771 volume=\lt{}volume-name\gt{}
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.
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} :
786 purge files jobid=\lt{}jobid\gt{}|job=\lt{}job-name\gt{}|client=\lt{}client-name\gt{}
788 purge jobs client=\lt{}client-name\gt{} (of all jobs)
790 purge volume|volume=\lt{}vol-name\gt{} (of all jobs)
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.
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 :
802 relabel storage=\lt{}storage-name\gt{} oldvolume=\lt{}old-volume-name\gt{}
803 volume=\lt{}newvolume-name\gt{}
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.
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.
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
821 release storage=\lt{}storage-name\gt{}
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.
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}.
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.
861 \label{restore_command}
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.
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
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}.
887 Cette commande vous permet d'ex\'ecuter imm\'ediatement vos jobs. Voici la forme
888 compl\`ete de cette commande :
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
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.
900 Sur mon syst\`eme, j'obtiens ce qui suit lorsque je lance la commande run :
904 A job name must be specified.
905 The defined Job resources are:
915 Select Job resource (1-9):
920 Si je choisis le num\'ero 5, j'obtiens :
926 FileSet: Minou Full Set
931 When: 2003-04-23 17:08:18
932 OK to run? (yes/mod/no):
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 :
942 Parameters to modify:
950 Select parameter to modify (1-7):
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.
961 \index[console]{setdebug}
962 \index[dir]{setdebug}
963 \index[dir]{debuggage}
964 \index[dir]{debuggage Win32}
965 \index[dir]{Windows!debuggage}
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.
970 setdebug level=nn [trace=0/1 client=\lt{}client-name\gt{} | dir | director |
971 storage=\lt{}storage-name\gt{} | all]
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.
983 \index[console]{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.
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 (.).
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.
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
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 :
1022 status [all | dir=\lt{}dir-name\gt{} | director |
1023 client=\lt{}client-name\gt{} | storage=\lt{}storage-name\gt{} |
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 :
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
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.
1041 Dans la liste des jobs en cours d'ex\'ecutions, vous pouvez trouver ce type
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
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
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.
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 :
1081 Connecting to Storage daemon File at 192.168.68.112:8103
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.
1090 Jobs waiting to reserve a drive:
1094 JobId Level Files Bytes Status Finished Name
1095 ======================================================================
1096 59 Full 234 4,417,599 OK 15-Jan-06 11:54 kernsave
1100 utochanger "DDS-4-changer" with devices:
1102 Device "DDS-4" (/dev/nst0) is mounted with Volume="TestVolume002"
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.
1110 Device "DVD-Writer" (/dev/hdc) is not open.
1111 Device "File" (/tmp) is not open.
1114 In Use Volume status:
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 :
1130 Autochanger "DDS-4-changer" with devices:
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.
1138 Device "DVD-Writer" (/dev/hdc) is not open.
1139 Device "File" (/tmp) is not open.
1140 Device is BLOCKED waiting for media.
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.
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
1160 unmount storage=<storage-name>
1162 unmount [ jobid=<id> | job=<job-name> ]
1166 \label{UpdateCommand}
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 :
1179 media, volume, pool, slots
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 :
1190 Volume Retention Period
1193 Maximum Volume Files
1194 Maximum Volume Bytes
1201 All Volumes from Pool
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.
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.
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.
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,
1228 Voici la forme compl\`ete de la commande {\bf update} :
1232 update volume=xxx pool=yyy slots volstatus=xxx VolRetention=ddd
1233 VolUse=ddd MaxVolJobs=nnn MaxVolBytes=nnn Recycle=yes|no
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.
1246 use \lt{}database-name\gt{}
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.
1261 \index[console]{version}
1262 Cette commande affiche la version du Director.
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
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.
1281 Les requ\^etes suivantes sont actuellement (version 1.24) disponibles :
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):
1301 \index[console]{exit}
1302 Cette commande termine le programme Console.
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 :
1314 wait [jobid=nn] [jobuid=unique id] [job=job name]
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}
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.
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
1350 .status get status output
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 (@)}
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 :
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.
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 :
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.
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.
1404 \index[console]{@time}
1405 Affiche la date et l'heure courantes.
1408 \index[console]{@version}
1409 Affiche la version de la Console.
1412 \index[console]{@quit}
1416 \index[console]{@exit}
1419 \item [@\# n-importe-quoi]
1420 \index[console]{n-importe-quoi}
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
1436 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1437 unmount storage=DDS-4
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}.
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 :
1452 ./bconsole -c ./bconsole.conf <filename
1456 o\`u le fichier nomm\'e {\bf filename} contient un ensemble quelconque de
1457 commandes de la Console.
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.
1465 bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
1468 @output /tmp/log1.out
1469 label volume=TestVolume001
1476 @output /tmp/log2.out
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 :
1494 grep "^Termination: *Backup OK" /tmp/log1.out
1496 grep "^Termination: *Restore OK" /tmp/log2.out
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}
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
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
1514 Avant d'ajouter un volume \`a un pool, vous devez conna\^itre les informations
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.
1525 Par exemple, pour ajouter un media \`a un pool, vous utiliseriez les commandes
1526 suivantes dans la Console :
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
1541 Pour voir ce que vous avez ajout\'e, tapez :
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 +-------+----------+---------+---------+-------+------------------+
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.