How To:Split DLEs With Exclude Lists/Fr

From wiki.zmanda.com
Jump to navigation Jump to search

Comment... Découper les DLEs par les Listes d'Exclusion

Cet article décrit une manière de découper vos DLEs pour produire des dumps individuels plus petits. C'est souvent utile quand vous n'avez que quelques DLEs, et que l'une d'entre elles est bien plus grande que le reste: sans cette technique, la consommation de bandes monte en pic quand Amanda lance une niveau 0 pour cette DLE. Par exemple, de très petites entreprises disposent d'un unique /home très grand sur montage NFS. Avec cette méthode, /home peut être découpé en sous-répertoires, cad, /home/[a-o]* et /home/[p-z]*. Un exemple plus complet est détaillé ci-après.

Avec Amanda < 2.5.0 est venu le besoin de découper virtuellement les partitions en morceaux pour que chacun reste plus petit qu'une bande. Cela conduit à de plus petits dumps individiels pour qu'Amand puisse continuer la sauvegarder des autres dumps sur la bande suivante, si nécessaire.

Si vous avez beaucoup de gros dumps et Amanda 2.5.0 ou plus, alors l'enjambement peut être plus utile que cette technique.

Exemple

Supposons que vous avez deux grosses partitions, contenant chacune plusieurs répertoires et sous-répertoires comme ceci:

/home/
/home/andrew
/home/anne
/home/brian
[...]
/home/wanda
/home/zeus

/share/
/share/financial
/share/financial/company-a
/share/financial/company-b
/share/reports

Vous créez des entrées dans votre disklist pour les sauvegarder:

largehost /home        my-dumptype
largehost /share       my-dumptype

Cela a bien marché, mais maintenant sur chaque partition, il y a trop de données pour tenir sur une seule bande. Vous devez découper les partitions pour les sauvegarder.

Tronçonner, la partie facile

En considerant la partition /home, il est évident que vous pourriez couper de manière alphabétique. Vous pourriez créer des entrées de votre disklist pour sauvegarder chaque sous-répertoire en utilisant des jokers. Vous voulez aussi prendre tout ce qui, sous /home, ne rentre dans aucune spécification avec joker, donc vous faites ainsi:

largehost /home/./a-c /home {
  my-dumptype
  include "./[a-c]*"
}       1
largehost /home/./d-f /home {
  my-dumptype
  include "./[d-f]*"
}       1
[...]
largehost /home/./w-z /home {
  my-dumptype
  include "./[w-z]*"
}       1
# tout le reste de /home:
largehost /home/./_rest_ /home {
  my-dumptype
  exclude append "./[a-z]*"
}       1

Notez l'utilisation des options 'include' et 'exclude'. Elles font bien ce que vous pensez, cad inclure les fichiers spécifiées, ou les exclure. La partie difficile est d'utiliser des noms de disques différents ('/home/./a-c', '/home/./d-f', ...) sur la même partition ou point de montage ('/home'). Vous pouvez omettre de spécifier le device physique.

Le nom de disque peut être n'importe quoi. Dans l'exemple, nous utilisons la notation "/mountpoint/./mnemonic". Ce qui précède le "/./" est le point de montage, et ce qui vient après le "/./" est un moyen mnémotechnique pour le patron d'inclusion/exclusion. Les fichiers sur la sauvegarde sont relatifs au point de montage. Noter que le gnutar n'a pas réellement besoin que le répertoire de plus haut niveau soit un point de montage. N'importe quel répertoire de plus haut niveau fera l'affaire, comme nous allons le voir dans l'exemple suivant.

Tronçonner, la partie plus compliquée

La partition /share est un peu plus compliquée à tronçonner, parce que vous allez devoir prendre en considération les sous-répertoires. Nous supposerons qu'il y a tellement de données dans ces répertoires que vous devez découper en descendant au niveau des sous-répertoires. Vous devez prendre /share, /share/financial, /share/financial/company-a, /share/financial/company-b et /share/reports:

largehost /share/financial/./company-a /share/financial {
  my-dumptype
  include "./company-a"
}       2
largehost /share/financial/./company-b /share/financial {
  my-dumptype
  include "./company-b"
}       2
largehost /share/financial/./_rest_ /share/financial {
  my-dumptype
  exclude append "./company-a"
  exclude append "./company-b"
}       2
#
largehost /share/./reports /share {
  my-dumptype
  include "./reports"
}       2
#
largehost /share/./_rest_ /share {
  my-dumptype
  exclude append "./financial"
  exclude append "./reports"
}       2

Dans cet exemple, il est important de noter que chaque sous-répertoire est référencé par rapport à son répertoire parent immédiat. Cela ne fonctionne pas sinon.

Assurez-vous de même de spécifier que vous prenez tout par l'utilisation des exclusions pour chaque répertoire de plus haut niveau comme dernière DLE. Cela évite le risque d'oublier une DLE quand quelqu'un créer un répertoire avec un nom qui ne rentre pas dans l'une des catégores d'inclusion.

Pour utiliser plusieurs arguments exclude/include sur une seule ligne, vous devez utiliser les guillemets autour de chaque argument:

exclude append "./financial" "./reports"

Les versions actuelles d'Amanda (2.4.x et 2.5.0) n'autorisent pas d'espace dans le patron exclude/include:

exclude append "./Documents and Settings"    # Invalide en 2.5.0 et moins

Vous obtiendrez un obscur message d'erreur sur "wrong number of arguments" dans un tel cas. Il n'existe pas de caractère d'échappement pour protéger l'espace. Comme contournement, vous pouvez utiliser les jokers:

exclude append "./Documents?and?Settings"    # contournement d'espace dans le patron

Cette limitation n'existe plus dans la version 2.5.1 et plus.

Voir Aussi

Il y a de nombreuses notes importantes dans l'article sur les Listes d'Exclusion et Inclusion.


Other languages: [[::{{#titleparts: How To:Split DLEs With Exclude Lists/Fr | -1 }}|English]] {{#ifexist: {{#if: | | {{#if: | :}}{{#titleparts: How To:Split DLEs With Exclude Lists/Fr | -1 }}}}/Fr |  • {{#if: |français| [[::{{#titleparts: How To:Split DLEs With Exclude Lists/Fr | -1 }}/Fr|français]]}}|}}

{{#ifexist: {{#if: | | {{#if: | :}}{{#titleparts: How To:Split DLEs With Exclude Lists/Fr | -1 }}}}/Zh-cn |  • {{#if: |中文(中国大陆)| [[::{{#titleparts: How To:Split DLEs With Exclude Lists/Fr | -1 }}/Zh-cn|中文(中国大陆)]]}}|}}