bup-split - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

bup-split - zapisz poszczególne pliki do zestawów kopii zapasowych

STRESZCZENIE

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...]

OPIS

bup split łączy zawartość podanych plików (lub jeśli nie podano nazw plików, czyta ze standardowego wejścia), dzieli zawartość na części o wielkości około 8 000 przy użyciu algorytmu kroczącej sumy kontrolnej i zapisuje te części w repozytorium bup. Kawałki, które były wcześniej przechowywane, nie są ponownie przechowywane (tj. są „zduplikowane”).

Ze względu na sposób, w jaki działa krocząca suma kontrolna, fragmenty są zwykle bardzo stabilne w przypadku zmian w danym pliku, w tym dodawania, usuwania i zmieniania bajtów.

Na przykład, jeśli do tworzenia kopii zapasowej zrzutu XML bazy danych zostanie użyty podział buforów, a plik XML nieznacznie się zmieni między kolejnymi uruchomieniami, prawie wszystkie dane nadal będą deduplikowane, a rozmiar każdej kopii zapasowej po pierwszej będzie zazwyczaj być dość mały.

Inną techniką jest potokowanie wyjścia programów tar(1) lub cpio(1) do podziału bup. Gdy poszczególne pliki w archiwum nieznacznie się zmienią lub zostaną dodane lub usunięte, bup nadal wydajnie przetwarza pozostałą część archiwum. (Zauważ jednak, że zapisywanie bup jest zwykle bardziej wydajnym sposobem osiągnięcia tego).

Aby odzyskać dane, użyj bup-join(1).

TRYBY

Te opcje wybierają podstawowe zachowanie polecenia, przy czym najbardziej prawdopodobnym wyborem jest opcja -n.

-n, --name=name

po utworzeniu zestawu danych utwórz gałąź git o nazwie nazwa, aby można było uzyskać do niej dostęp za pomocą tej nazwy. Jeśli nazwa już istnieje, nowy zbiór danych będzie traktowany jako potomek starego nazwa. (Dzięki temu możesz stale tworzyć nowe zestawy danych o tej samej nazwie, a później przeglądać historię tego zestawu danych, aby zobaczyć, jak zmieniał się on w czasie). Oryginalne dane będą również dostępne jako plik najwyższego poziomu o nazwie „dane” w VFS, dostępny przez bup fuse, bup ftp itp.

-t, --tree

wyprowadź identyfikator drzewa git wynikowego zestawu danych.

-c, --commit

wyprowadź identyfikator zatwierdzenia git wynikowego zestawu danych.

-b, --blobs

wyprowadź serię identyfikatorów git blob, które odpowiadają fragmentom w zbiorze danych. Niekompatybilne z -n, -t i -c.

--noop

odczytaj dane i podziel je na bloki w oparciu o algorytm kroczącej sumy kontrolnej „bupsplit”, ale nie przechowuj niczego w repozytorium. Można łączyć z -b lub -t, aby obliczyć (ale nie przechowywać) obiekty blob git lub identyfikatory drzew dla zestawu danych. Jest to głównie przydatne do testów porównawczych i sprawdzania poprawności algorytmu bupsplit. Niekompatybilny z -n i -c.

--copy

jak --noop, ale także zapisz dane na stdout. Może to być przydatne do porównywania szybkości odczytu, podziału i zapisu dużych ilości danych. Niekompatybilny z -n, -t, -c i -b.

OPCJE

-r, --remote=host:path

zapisz zestaw kopii zapasowych na podanym serwerze zdalnym. Jeśli ścieżka zostanie pominięta, używa domyślnej ścieżki na zdalnym serwerze (nadal musisz dołączyć `:'). Połączenie ze zdalnym serwerem odbywa się za pomocą SSH. Jeśli chcesz określić, którego portu, użytkownika lub klucza prywatnego użyć do połączenia SSH, zalecamy użycie pliku ~/.ssh/config. Nawet jeśli miejsce docelowe jest zdalne, nadal wymagane jest lokalne repozytorium aktualizacji.

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

podać datę wpisaną w zatwierdzenie (sekundy od 1970-01-01).

-q, --quiet

wyłącz komunikaty o postępie.

-v, --verbose

zwiększyć gadatliwość (można użyć więcej niż jeden raz).

--git-ids

stdin to lista identyfikatorów obiektów git zamiast surowych danych. bup split odczyta zawartość każdego nazwanego obiektu git (jeśli istnieje w repozytorium bup) i podzieli go. Może to być przydatne do konwersji repozytorium git z dużymi plikami binarnymi, aby zamiast tego używać funkcji hashsplitting w stylu bup. Ta opcja jest prawdopodobnie najbardziej użyteczna w połączeniu z opcją --keep-boundaries.

--keep-boundaries

jeśli w wierszu poleceń podano wiele nazw plików, są one zwykle łączone razem, tak jakby cała zawartość pochodziła z jednego pliku. Oznacza to, że zestaw tworzonych obiektów blob/drzew jest identyczny z tym, jaki byłby, gdyby istniał pojedynczy plik wejściowy. Jeśli jednak użyjesz opcji --keep-boundaries, każdy plik zostanie podzielony osobno. Nadal otrzymujesz tylko jedno drzewo, zatwierdzenie lub serię obiektów blob, ale każdy obiekt blob pochodzi tylko z jednego pliku; koniec jednego z plików wejściowych zawsze kończy obiekt blob.

--bench

wydrukuj czasy testu porównawczego na stderr.

--max-pack-size=bytes

nigdy nie twórz plików pakietów git większych niż podana liczba bajtów. Wartość domyślna to 1 miliard bajtów. Zwykle nie ma powodu, aby to zmieniać.

--max-pack-objects=numobjs

nigdy nie twórz plików git packfile z większą liczbą obiektów niż podana. Wartość domyślna to 200 tysięcy obiektów. Zwykle nie ma powodu, aby to zmieniać.

--fanout=numobjs

podczas dzielenia bardzo dużych plików staraj się utrzymywać liczbę elementów w drzewach na poziomie numobjs.

--bwlimit=bytes/sec

nie przesyłaj do serwera więcej niż bajtów/s bajtów na sekundę. Jest to dobre, aby kopie zapasowe nie wysysały całej przepustowości sieci. Użyj sufiksu, takiego jak k, M lub G, aby określić wielokrotności odpowiednio 1024, 1024*1024, 1024*1024*1024.

-#, --compress=#

ustaw poziom kompresji na # (wartość od 0 do 9, gdzie 9 to najwyższy poziom, a 0 to brak kompresji). Wartość domyślna to 1 (szybka, luźna kompresja)

PRZYKŁADY

$ 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

ZOBACZ TEŻ

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

BUP

Część pakietu bu(1).

AUTORSKI

Avery Pennarun .