next up previous contents index
suivant: Types de Ressources monter: Adapter les fichiers de précédent: Jeu de caractères   Table des matières   Index

Sous-sections

Format des directives

Bien qu'il ne soit pas nécessaire de connaître le détail de toutes les directives possibles, une connaissance basique des ressources Bacula est indispensable. Chaque directive contenue dans une ressource (entre accollades) est composé d'un mot-clef suivi du signe "=", suivi d'une ou plusieurs valeurs. Le mot clef doit être l'un de ceux connus par Bacula, et peut comporter des caractères majuscules et minuscules ainsi que des espaces.

Chaque définition de ressource doit comporter la directive Name, et peut optionnellement comporter la directive Description. La directive Name est utilisée pour identifier de façon unique la ressource. La directive Description sera utilisé lors de l'affichage pour offrir une identification plus aisée de la ressource. Par exemple :

Director {
  Name = "MyDir"
  Description = "Main Bacula Director"
  WorkingDirectory = "$HOME/bacula/bin/working"
}

Définit la ressource Director avec le nom "MyDir'' et le répertoire de travail $HOME/bacula/bin/working. En général, si vous voulez utiliser des espaces dans le nom à droite du signe "=", vous devez l'entourer de doubles quotes. Sinon, les quotes ne sont généralement pas requises car une fois définies, les chaînes quotées et non quotées sont toutes équivalentes.

Commentaires

Lors de la lecture d'un fichier de configuration, les lignes blanches sont ignorées, et tout ce qui suit le caractère dièse (#) jusqu'à la fin de la ligne est considéré comme commentaire. Un point virgule (;) indique la fin logique d'une ligne et tout ce qui suit le point virgule est considéré comme le paramètre suivant. Un paramètre qui apparaît seul sur une ligne ne nécessite pas de point virgule, vous ne verrez donc pas beaucoup de points virgule dans les exemples de ce manuel.

Casse et espaces

La casse (majuscules/minuscules) et les espaces sont totalement ignorées dans les mots-clef des directives des ressources (la partie à gauche du signe "='').

A l'intérieur des mots-clef (à gauche du signe "=''), les espaces ne sont pas significatives. Ainsi, les mots-clef : name, Name, et N a m e sont tous identiques.

Les espaces après le signe "='' et avant le premier caractère de la valeur son ignorées.

En général, les espaces à l'intérieur d'une valeur sont significatives (non ignorées), et si la valeur est un nom, vous devez l'encadrer de doubles quotes pour que l'espace soit acceptée. Les noms peuvent contenir jusqu'à 127 caractères. Actuellement, un nom peut contenir n'importe quel caractère ASCII. A l'intérieur d'une chaîne quotée, tout caractère précédé d'un backslash (\) est pris tel quel (utile pour insérer des backslashes et doubles quotes (")).

Veuillez cependant noter que les noms de ressource Bacula ainsi que certains autres noms (par exemple les noms de volumes) ne doivent contenir que des lettres (y compris accentuées ISO), nombres, et une poignée de caractères spéciaux (espace, souligné, ...). Tous les autres caratères et ponctuations sont prohibés.

Inclure d'autres fichiers de configuration

Si vous souhaitez éclater votre fichier de configuration en fichiers plus petits, l'inclusion est possible avec la syntaxe @NomDeFichiernom de fichier est le chemin absolu vers un le fichier à inclure. Toute donnée primitive peut être remplacée par une spécification @NomDeFichier. Par exemple

Director { Name=@xxx est valide et substituera le fichier xxx à @xxx, mais Director { Name@xxx = something n'est pas valide puisque @xxx apparaît au milieu d'un (???mot clef/directive/...???)

Types de données primitives reconnus

Lorsqu'il parcourt les enregistrements de ressource, Bacula classe les données selon les types enumérés ci-dessous. En première lecture, cette liste peut vous paraître accablante, mais en réalité, tout y est d'une logique élégante et directe.

name
Un mot-clef ou un nom constitué de caractères alphanumériques, incluant le trait d'union, underscore et dollar. Le premier caractère d'un name doit être une lettre. La longueur d'un name est actuellement limitée à 127 caractères. Typiquement, les mots-clef apparaîssent à gauche d'un signe "=". Les mots-clef ne peuvent être quotés.

name-string
Une name-string est similaire à un name excepté qu'elle peut être quotée et ainsi contenir des caractères supplémentaires. La longueur des name-strings est limitée à 127 caractères. Typiquement, on les utilise à droite d'un signe ''=", (i.e. ce sont les valeurs à associer aux mots-clef).

string
Une chaîne quotée contenant potentiellement n'importe quel caractère, y compris les espaces, ou une chaîne non quotée. Une string peut avoir une longueur quelconque. Typiquement, les strings sont les valeurs qui correspondent aux noms de fichiers, répertoires, ou noms de commandes système. Un Backslash (\) change le prochain caractère en lui même, de sorte que pour inclure une double quote dans une chaîne, vous devez la préceder d'un Backslash. Il en va de même pour inclure un Backslash.

directory
Un directory (Répertoire) est une chaîne, quotée ou non. Un directory est transmis à votre shell standard pour expansion lorsqu'il est scanné. Ainsi, des constructions telles que $HOME sont interprétées correctement.

password
Il s'agit d'un mot de passe Bacula. Il est stocké en interne sous un format brouillé par MD5.

integer
Une valeur entière relative (positive ou négative) sur 32 bits.

positive integer
Une valeur entière positive sur 32 bits.

long integer
Une valeur entière sur 64 bits. Typiquement, ce sont les valeurs telles que le nombre de bytes, qui peuvent dépasser 4 milliards et ainsi nécessitent une valeur sur 64 bits.

yes|no
Soit yes, soit no.

size
Une taille specifiée en bytes. Typiquement, il s'agit d'une entrée au format scientifique (avec virgule flottante) suivie d'un modificateur optionnel. L'entrée est stockée en tant qu'entier sur 64 bits. Si un modificateur est spécifié, il doit suivre immédiatement la valeur, sans espace. Les modificateurs suivants sont reconnus:

k
1 024 (kilobytes)

kb
1 000 (kilobytes)

m
1 048 576 (megabytes)

mb
1 000 000 (megabytes)

g
1 073 741 824 (gigabytes)

gb
1 000 000 000 (gigabytes)

time Une heure, ou une durée spécifiée en secondes. Une valeur time est stockée en interne en tant qu'entier sur 64 bits, mais il est spécifié en deux parties: un nombre et un modificateur. Le nombre peut être un entier ou un nombre à virgule flottante. S'il est spécifié en virgule flottante, il sera arrondi à l'entier le plus proche. Le modificateur est obligatoire et suit le nombre avec ou sans espace intercalée. Les modificateurs suivants sont reconnus:

seconds
secondes

minutes
minutes (60 secondes)

hours
heures (3600 secondes)

days
jours (3600*24 secondes)

weeks
semaines (3600*24*7 secondes)

months
mois (3600*24*30 secondes)

quarters
trimestres (3600*24*91 secondes)

years
années (3600*24*365 secondes)

Toute abbréviation des ces modificateurs est aussi autorisée (i.e. seconds peut être spécifié par sec ou s. Une spécification m sera interprétée en tant que mois.

La spécification d'une durée peut comporter autant de couples nombre/modificateur que vous le souhaitez. Par exemple:

1 week 2 days 3 hours 10 mins
1 month 2 days 30 sec

sont des spécifications valides (à partir de la version 1.35.1).

Note! Dans les versions de Bacula antérieures à 1.31, le modificateur était optionnel. Il est désormais obligatoire.


next up previous contents index
suivant: Types de Ressources monter: Adapter les fichiers de précédent: Jeu de caractères   Table des matières   Index
Kern Sibbald 2007-11-03