Używam tar
do tworzenia kopii zapasowych serwera linux na taśmę. Korzystam z -j
opcji kompresji pliku bzip2
, jednak nie widzę sposobu na dostosowanie opcji rozmiaru bloku dla bzip2 z tar. Domyślny rozmiar bloku to 900 000 bajtów, co zapewnia najlepszą kompresję, ale jest najwolniejsze. Nie interesuje mnie współczynnik kompresji, więc chcę, aby bzip2 działał szybciej przy mniejszym rozmiarze bloku.
linux
backup
compression
Guy C.
źródło
źródło
Odpowiedzi:
Lub potokuj wyjście
tar
dobzip2
.Chociaż powinieneś pamiętać ze strony podręcznika bzip2:
źródło
źródło
tar: unrecognized option '--options'
bzip2
rozmiary blokówbzip2
ma kilka opcji rozmiaru bloku. Ze strony podręcznikabzip2(1)
:Jeśli chcesz szybszej kompresji przy mniejszym stopniu stosunku kompresji, używając
bzip2
, wydaje się, że chcesz opcji-1
(lub--fast
).Ustawianie
bzip2
rozmiaru bloku podczas używaniatar
bzip2
Rozmiar bloku można ustawićtar
na kilka sposobów.Sposób UNlX
Mój ulubiony sposób, UNlX, to taki, w którym używasz każdego narzędzia niezależnie i łączysz je za pomocą rur.
Możesz to przeczytać jako „utwórz .tar za pomocą
tar
-> bzip za pomocąbzip2
-> napisz to[ARCHIVE].tar.bz2
”.Zmienna środowiskowa
Możliwe jest również ustawienie
bzip2
opcji za pomocą zmiennej środowiskowejBZIP2
. Ze strony podręcznikabzip2(1)
:Aby użyć tego z
tar
, możesz na przykład:Szybsze alternatywy
bzip2
wykorzystuje algorytm powolnej kompresji. Jeśli obawiasz się o szybkość, możesz zbadać alternatywne algorytmy, takie jak te używane przezgzip
lublzop
. Oto fajny artykuł porównujący narzędzia do kompresji: https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/źródło
Wyślij dane
tar
wyjściowe do,stdout
a następnie potokuj jebzip2
osobno:źródło
To jeszcze łatwiejsze:
źródło
tar
ma-z
i-j
. Te opcje wydawały mi się raczej wygodne. Ale mogą uratować dzień.