Napisałem mały skrypt, który przetwarza i kompresuje listę katalogów + plików.
Wydaje się, że skrypt działa poprawnie, ponieważ po uruchomieniu skryptu tworzony jest użyteczny plik .tar.gz.
Jednak ten denerwujący komunikat pojawia się po zakończeniu skryptu:
tar: wychodzenie ze statusem niepowodzenia z powodu poprzednich błędów
Nie widzę żadnych komunikatów o błędach podczas działania skryptu i, jak powiedziałem, wygenerowany plik można rozpakować bez ostrzeżeń / błędów. Ponieważ używam tego jako części kopii zapasowej, chcę się upewnić, że nie ignoruję czegoś poważnego.
Jakie są możliwe przyczyny wyświetlania tego komunikatu o błędzie / ostrzeżenia - i czy mogę go bezpiecznie zignorować ?. Jeśli nie mogę go zignorować, jakie są kroki do zdiagnozowania i rozwiązania błędu?
Korzystam z systemu Ubuntu 10.0.4
problemem jest argument,
f
argument przyjmuje następny jako nazwę pliku, więc musi to być ostatni argumentlub
jest taki sam i nie ma błędu.
źródło
Czasami tworzenie kopii zapasowych plików, które mogą ulec zmianie podczas tworzenia kopii zapasowej, takich jak pliki dziennika, może być przydatna opcja tar „--ignore-failed-read” (korzystam z systemu Debian Linux, nie jestem pewien, czy nie jest to program GNU tar).
Standardowe wyjście i błąd można przekierować w 2 różnych plikach za pomocą czegoś takiego:
Uważam, że jest to ogólnie bezpieczne, ale uważaj, ponieważ smoła się nie zatrzyma ...
źródło
Miałem ten sam problem i żadna z powyższych odpowiedzi nie działała dla mnie. Stwierdziłem jednak, że uruchomienie następującego polecenia działało:
tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /
Błędy, o których mowa,
tar: Exiting with failure status due to previous errors
można zidentyfikować, wyłączając opcję -v. Po sprawdzeniu błędy pochodziły z katalogów takich jak/run
i/sys
.Wyłączając te katalogi, działa dobrze. Mam nadzieję, że pomoże to każdemu z podobnym problemem.
źródło
Miałem ten sam problem. Wszystko, co zrobiłem, to usunąć myślnik („-”) z polecenia.
Zamiast wpisywać go jako
spróbuj wpisać to jako
Nie wiem, dlaczego kreska powodowała problemy w moim przypadku, ale przynajmniej zadziałało.
źródło
-f
powinien byćoutput.tar.gz
i nie może byćz
pomiędzy. Bez ponownego zamawiania opcji byłoby prawidłowo być:tar -cvf output.tar.gz -z folder/
. Stary styl oczekuje wszystkich opcji w jednym miejscu i następują wszystkie argumenty.Źle zrozumiałeś wcześniejszą odpowiedź. Problem nie polega na tym
-
, że znajduje się naf
liście argumentów.Spróbuje utworzyć archiwum o nazwie „z”, ponieważ jest to następujący po nim tekst
f
. Komunikat o błędzie jest spowodowany tym, że tar nie może znaleźć „target.gz” do dodania do archiwum „z”.Poprawnie utworzy target.tgz i doda do niego pliki. Wynika to z faktu, że target.tgz jest pierwszym tekstem po
f
argumencie.źródło
Zwykle możesz zignorować tę wiadomość. Jeśli podczas tworzenia pliku tar pojawią się jakiekolwiek zmiany (takie jak usunięcie / tworzenie / modyfikacja pliku) w drzewie katalogów bazowych, wyśle ten komunikat. Również jeśli pojawią się specjalne pliki, takie jak węzły urządzeń, fifos i tak dalej, spowodują to ostrzeżenie.
Czy na pewno nie widzisz żadnych sprawców? Spróbuj z
tar cvfz yourtarball.tgz /your/path
źródło
Miałem podobny problem z rozpakowaniem otrzymanego pliku. Okazuje się, że nie miałem uprawnień do zapisywania plików w archiwum należącym do roota. Używanie sudo naprawiło to.
źródło
źródło