bup-split - manuel de référence, options, exemples de commandes


NOM

bup-split - enregistrer des fichiers individuels dans des jeux de sauvegarde bup

SYNOPSIS

bup split [-t] [-c] [-n name] COMMON_OPTIONS

bup split -b COMMON_OPTIONS

bup split –copy COMMON_OPTIONS

bup split –noop [-t|-b] COMMON_OPTIONS

COMMON_OPTIONS

[-r host:path] [-v] [-q] [-d seconds-since-epoch] [--bench] [--max-pack-size=bytes] [-#] [--bwlimit=bytes] [--max-pack-objects=n] [--fanout=count] [--keep-boundaries] [--git-ids | filenames...]

DESCRIPTION

bup split concatène le contenu des fichiers donnés (ou si aucun nom de fichier n'est donné, lit à partir de stdin), divise le contenu en morceaux d'environ 8k à l'aide d'un algorithme de somme de contrôle glissante et enregistre les morceaux dans un référentiel bup. Les morceaux qui ont été précédemment stockés ne sont pas stockés à nouveau (c'est-à-dire qu'ils sont "dédupliqués").

En raison du fonctionnement de la somme de contrôle glissante, les blocs ont tendance à être très stables lors des modifications apportées à un fichier donné, y compris l'ajout, la suppression et la modification d'octets.

Par exemple, si vous utilisez bup split pour sauvegarder un vidage XML d'une base de données et que le fichier XML change légèrement d'une exécution à l'autre, presque toutes les données seront toujours dédupliquées et la taille de chaque sauvegarde après la première sera généralement être assez petit.

Une autre technique consiste à rediriger la sortie des programmes tar(1) ou cpio(1) vers bup split. Lorsque des fichiers individuels dans l'archive tar changent légèrement ou sont ajoutés ou supprimés, bup traite toujours le reste de l'archive efficacement. (Notez que bup save est généralement un moyen plus efficace d'accomplir cela, cependant.)

Pour récupérer les données, utilisez bup-join(1).

MODES

Ces options sélectionnent le comportement principal de la commande, -n étant le choix le plus probable.

-n, --name=name

après avoir créé l'ensemble de données, créez une branche git nommée name afin qu'elle soit accessible à l'aide de ce nom. Si nom existe déjà, le nouveau jeu de données sera considéré comme un descendant de l'ancien nom. (Ainsi, vous pouvez continuellement créer de nouveaux ensembles de données avec le même nom, et afficher ultérieurement l'historique de cet ensemble de données pour voir comment il a changé au fil du temps.) Les données d'origine seront également disponibles sous la forme d'un fichier de niveau supérieur nommé "données" dans le VFS, accessible via bup fuse, bup ftp, etc.

-t, --tree

afficher l'identifiant de l'arborescence git de l'ensemble de données résultant.

-c, --commit

afficher l'identifiant de validation git de l'ensemble de données résultant.

-b, --blobs

génère une série d'identifiants git blob qui correspondent aux morceaux de l'ensemble de données. Incompatible avec -n, -t et -c.

--noop

lisez les données et divisez-les en blocs basés sur l'algorithme de somme de contrôle roulante "bupsplit", mais ne stockez rien dans le référentiel. Peut être combiné avec -b ou -t pour calculer (mais pas stocker) les blobs git ou les identifiants d'arbre pour l'ensemble de données. Ceci est surtout utile pour l'analyse comparative et la validation de l'algorithme bupsplit. Incompatible avec -n et -c.

--copy

comme --noop, mais aussi écrire les données sur stdout. Cela peut être utile pour évaluer la vitesse de lecture + bupsplit + écriture pour de grandes quantités de données. Incompatible avec -n, -t, -c et -b.

OPTIONS

-r, --remote=host:path

enregistrer le jeu de sauvegarde sur le serveur distant donné. Si path est omis, utilise le chemin par défaut sur le serveur distant (vous devez toujours inclure le `:'). La connexion au serveur distant se fait en SSH. Si vous souhaitez spécifier le port, l'utilisateur ou la clé privée à utiliser pour la connexion SSH, nous vous recommandons d'utiliser le fichier ~/.ssh/config. Même si la destination est distante, un référentiel bup local est toujours requis.

-d, --date=seconds-since-epoch

précisez la date inscrite dans le commit (secondes depuis le 1970-01-01).

-q, --quiet

désactiver les messages de progression.

-v, --verbose

augmenter la verbosité (peut être utilisé plus d'une fois).

--git-ids

stdin est une liste d'identifiants d'objets git au lieu de données brutes. bup split lira le contenu de chaque objet git nommé (s'il existe dans le référentiel bup) et le divisera. Cela peut être utile pour convertir un référentiel git avec de gros fichiers binaires pour utiliser à la place le hachage de style bup. Cette option est probablement plus utile lorsqu'elle est combinée avec --keep-boundaries.

--keep-boundaries

si plusieurs noms de fichiers sont donnés sur la ligne de commande, ils sont normalement concaténés comme si le contenu provenait d'un seul fichier. C'est-à-dire que l'ensemble de blobs/arbres produits est identique à ce qu'il aurait été s'il n'y avait eu qu'un seul fichier d'entrée. Cependant, si vous utilisez --keep-boundaries, chaque fichier est divisé séparément. Vous n'obtenez toujours qu'un seul arbre ou un seul commit ou une série de blobs, mais chaque blobs provient d'un seul des fichiers ; la fin de l'un des fichiers d'entrée termine toujours un blob.

--bench

imprimer les horaires de référence sur stderr.

--max-pack-size=bytes

ne créez jamais de packfiles git plus grands que le nombre d'octets donné. La valeur par défaut est 1 milliard d'octets. Il n'y a généralement aucune raison de changer cela.

--max-pack-objects=numobjs

ne créez jamais de packfiles git avec plus que le nombre d'objets donné. La valeur par défaut est 200 000 objets. Il n'y a généralement aucune raison de changer cela.

--fanout=numobjs

lors du fractionnement de fichiers très volumineux, essayez de maintenir le nombre d'éléments dans les arbres à une moyenne de numobjs.

--bwlimit=bytes/sec

ne transmettez pas plus de octets/sec octets par seconde au serveur. C'est bon pour que vos sauvegardes n'absorbent pas toute la bande passante de votre réseau. Utilisez un suffixe comme k, M ou G pour spécifier des multiples de 1024, 1024*1024, 1024*1024*1024 respectivement.

-#, --compress=#

réglez le niveau de compression sur # (une valeur comprise entre 0 et 9, où 9 est la valeur la plus élevée et 0 signifie qu'il n'y a pas de compression). La valeur par défaut est 1 (compression rapide et souple)

EXEMPLES

$ tar -cf - /etc | bup split -r myserver: -n mybackup-tar
tar: Removing leading /' from member names
Indexing objects: 100% (196/196), done.

$ bup join -r myserver: mybackup-tar | tar -tf - | wc -l
1961

VOIR ÉGALEMENT

bup-join(1), bup-index(1), bup-save(1), bup-on(1), ssh_config(5)

BUP

Fait partie de la suite bup(1).

AUTEURS

Avery Pennarun apenwarr@gmail.com.