Mam /public_html/
folder, w tym folderze jest /tmp/
folder zawierający około 70 GB plików, których tak naprawdę nie potrzebuję.
Teraz staram się stworzyć .tar.gz
z /public_html/
wyłączeniem/tmp/
Oto polecenie, które wykonałem:
tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude "/home/user/public_html/tmp/"
Tar wciąż się tworzy, a robiąc to ls -sh
widzę, że MyBackup.tar.gz
ma już około 30 GB, a wiem na pewno, że /public_html/
bez /tmp/
nie ma więcej niż 1 GB plików.
Co zrobiłem źle?
linux
gzip
tar
compression
suresh
źródło
źródło
-p
opcja nie ma znaczenia z punktu widzenia funkcji tworzenia, prawda !?Odpowiedzi:
Spróbuj usunąć ostatni znak / na końcu ścieżki katalogu do wykluczenia
źródło
tar: Error exit delayed from previous errors.
w macos--exclude="/home/user/public_html/tmp
zamiast--exclude "/home/user/public_html/tmp
exclude
musi być najpierw określony jako notatki stackoverflow.com/users/3904223/oussaka . Przynajmniej to jedyna rzecz, która działała dla mnieSpróbuj przenieść
--exclude
do przed dołączeniem.źródło
Tak, usuń końcową
/
ścieżkę i (przynajmniej w Ubuntu 11.04) wszystkie podane ścieżki muszą być ścieżką względną lub pełną. Nie możesz mieszać ścieżek bezwzględnych i względnych w tym samym poleceniu.nie wykluczy katalogu logów, ale
będzie działać
źródło
Prawidłowe polecenie wykluczenia katalogu z kompresji to:
Pamiętaj, aby wstawić --exclude przed elementem źródłowym i docelowym .
i możesz sprawdzić zawartość pliku tar.gz bez rozpakowywania:
źródło
Spróbuj tego
źródło
Możesz również wykluczyć więcej niż jeden, używając tylko jednego
--exclude
. Jak ten przykład:W
--exclude=
musisz zakończyć nazwę katalogu bez/
i musi między MyBackup.tar.gz a / home / user / public_html /Składnia jest następująca:
źródło
Zaakceptowana odpowiedź nie zadziałała dla mnie, uruchamiając tar unxutils w systemie Windows10. Zamiast tego musiałem umieścić pliki / katalogi do archiwum jako ostatni parametr, jak poniżej:
Wtedy zadziałało.
źródło
To zadziałało dla mnie:
źródło
tar -pczf <target_file.tar.gz> --exclude /path/to/exclude --exclude /another/path/to/exclude/* /path/to/include/ /another/path/to/include/*
Testowane w Ubuntu 19.10.
=
Poexclude
to opcjonalne. Jeśli chcesz, możesz użyć=
zamiast spacji po słowie kluczowymexclude
.exclude
należy umieścić przed źródłem.źródło
Opcja wykluczenia musi zawierać
=
znak i"
nie jest wymagana.źródło