Zip wystarczy do wymiany kilku dokumentów. Gdy folder staje się zbyt ciężki, gdy trzeba ograniczyć rozmiar pliku lub ukryć zawarte w nim nazwy, format 7z staje się bardziej interesujący. Używałbym go do przygotowania partii do transferu lub archiwizacji kopii roboczej, a nie jako jedynej kopii zapasowej.
Procedura składa się z czterech kontroli: zidentyfikować zainstalowaną komendę, utworzyć archiwum bez usuwania źródeł, odczytać jego zawartość, a następnie przetestować przed usunięciem lub wysłaniem czegokolwiek.

Sprawdź komendę i przygotuj folder
Na nowych systemach Debian lub Ubuntu pakiet 7zip zazwyczaj dostarcza 7zz. Starsze instalacje czasami używają p7zip-full i komendy 7z. Zacznij od sprawdzenia, co jest realnie dostępne:
command -v 7zz || command -v 7z
7zz i 2>/dev/null || 7z i
Jeśli żadna komenda nie odpowiada, zainstaluj pakiet odpowiedni dla twojej dystrybucji. W systemach Debian lub Ubuntu zacznij od zaktualizowania indeksu, a następnie zainstaluj 7zip:
sudo apt update
sudo apt install 7zip
Pracuj z katalogu nadrzędnego folderu, który ma być archiwizowany. Unikniesz archiwum wypełnionego ścieżkami absolutnymi i od razu zobaczysz dotyczący wolumin. Sprawdź także dostępne miejsce na docelowym urządzeniu:
du -sh projekt
df -h .
Utwórz archiwum 7z zachowując źródłowe pliki
Przejdź do folderu, który zawiera projekt, a następnie utwórz archiwum. Komenda a dodaje pliki. Nie usuwa folderu źródłowego, chyba że wyraźnie poprosisz o inne zachowanie.
7zz a backup-projekt.7z projekt/
W przypadku starszej komendy, po prostu zamień 7zz na 7z. Domyślny poziom jest odpowiedni w większości przypadków. Aby priorytetowo potraktować szybkość na już obciążonym serwerze, dodaj -mx=3. Poziom -mx=9 wymaga więcej CPU i nie zawsze wystarczająco zmniejsza rozmiar, aby uzasadnić czekanie.
Aby podzielić archiwum na woluminy po 2 GiB przeznaczone na nośnik lub ograniczoną wysyłkę, użyj -v2g:
7zz a -v2g backup-projekt.7z projekt/
Zachowaj wszystkie pliki .001, .002 i kolejne w tym samym folderze. Pierwszy wolumin służy do testowania i ekstrakcji.
Szyfruj archiwum bez ujawniania hasła
Unikaj -pmotdepasse bezpośrednio w linii poleceń: Bash często rejestruje to w historii, a może to pojawić się na liście procesów. Przekaż -p bez wartości, aby 7-Zip interaktywnie poprosił o tajemnicę. Dodaj -mhe=on, aby zaszyfrować także nazwy plików.
7zz a -p -mhe=on backup-projekt-prywatne.7z projekt/
Zaszyfrowane archiwum nie zastępuje kopii zapasowej. Zgubisz hasło lub klucz do przechowywania, a zawartość stanie się bezużyteczna. W przypadku tajemnic firmowych, utrzymuj politykę szyfrowania i odzyskiwania oddzielną od tej jednorazowej komendy.
Wypisz, przetestuj, a następnie wyodrębnij do kopii
Przed transferem lub oczyszczaniem najpierw sprawdź zawartość. l wypisuje pliki, t sprawdza integralność archiwum. Te dwie komendy pozwalają uniknąć odkrycia niekompletnego archiwum po usunięciu oryginalnego folderu.
7zz l backup-projekt.7z
7zz t backup-projekt.7z
Następnie przetestuj ekstrakcję w pustym katalogu. Zachowaj folder źródłowy nienaruszony do tego etapu:
mkdir -p /tmp/test-7z
7zz x backup-projekt.7z -o/tmp/test-7z
find /tmp/test-7z -maxdepth 2 -type f | head
W przypadku dużego transferu oblicz również podpis archiwum i porównaj go po kopiowaniu:
sha256sum backup-projekt.7z > backup-projekt.7z.sha256
sha256sum -c backup-projekt.7z.sha256
Format 7z służy do pakowania i kompresji. W przypadku regularnej kopii zapasowej z testowanym przywracaniem, potrzebne są także niezależne miejsce docelowe i rotacja. Jeśli musisz po prostu utworzyć lub wyodrębnić standardowe archiwum Unix, podręcznik tar w systemie Linux jest nadal bardziej odpowiedni dla bieżących przepływów.