Ich habe ein kleines Skript geschrieben, das eine Liste von Verzeichnissen und Dateien tariert und komprimiert.
Das Skript scheint erfolgreich ausgeführt zu werden, da eine verwendbare .tar.gz-Datei erstellt wird, nachdem das Skript ausgeführt wurde.
Nach Abschluss des Skripts erhalte ich jedoch diese ärgerliche Meldung:
tar: Beenden mit Fehlerstatus aufgrund vorheriger Fehler
Ich sehe keine Fehlermeldungen, während das Skript arbeitet, und wie gesagt, die erzeugte Datei kann ohne Warnungen / Fehler dekomprimiert werden. Da ich dies als Teil meiner Sicherung verwende, möchte ich sicherstellen, dass ich etwas Ernstes nicht ignoriere.
Was sind die möglichen Gründe, warum diese Fehler- / Warnmeldung ausgegeben wird - und kann ich sie ignorieren? Wenn ich es nicht ignorieren kann, welche Schritte sind erforderlich, um den Fehler zu diagnostizieren und zu beheben?
Ich laufe auf Ubuntu 10.0.4
das problem ist das argument,
f
argument nimm das nächste als dateinamen, also muss es das letzte von argument seinoder
ist das selbe und kein take error.
quelle
Manchmal, wenn Sie Dateien sichern, die sich während der Sicherung ändern, wie z. B. Protokolldateien, kann die tar-Option '--ignore-failed-read' nützlich sein (unter Debian Linux bin ich mir nicht sicher, ob es sich um Nicht-Gnu-Tar handelt).
Standardausgabe und Fehler können in 2 verschiedenen Dateien umgeleitet werden:
Ich finde das im Allgemeinen sicher, aber bitte seien Sie vorsichtig, da Teer nicht aufhört ...
quelle
Ich hatte das gleiche Problem und keine der obigen Antworten hat für mich funktioniert. Ich fand jedoch, dass das Ausführen des folgenden Befehls funktioniert:
tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /
Die Fehler, auf die in verwiesen wurde,
tar: Exiting with failure status due to previous errors
können durch Deaktivieren der Option -v identifiziert werden. Bei der Überprüfung kamen die Fehler aus Verzeichnissen wie/run
und/sys
.Durch Ausschließen dieser Verzeichnisse funktioniert es einwandfrei. Hoffe das hilft jedem mit einem ähnlichen Problem.
quelle
Ich hatte das gleiche problem Ich habe nur den Bindestrich ("-") aus dem Befehl entfernt.
Anstatt es als zu tippen
versuchen Sie es als
Ich weiß nicht, warum der Bindestrich in meinem Fall Probleme verursachte, aber es hat zumindest funktioniert.
quelle
-f
seinoutput.tar.gz
und es darf nichtz
dazwischen sein. Ohne Nachbestellung der Optionen wäre es richtig sein:tar -cvf output.tar.gz -z folder/
. Der alte Stil erwartet alle Optionen an einem Ort und alle Argumente folgen.Sie haben eine frühere Antwort falsch verstanden. Das Problem ist nicht das
-
, es ist, wo dasf
in Ihrer Argumentliste ist.Versucht, ein Archiv mit dem Namen "z" zu erstellen, da dies der nachfolgende Text ist
f
. Die Fehlermeldung ist, weil tar "target.gz" nicht finden kann, um es dem Archiv "z" hinzuzufügen.Erstellt die Datei target.tgz korrekt und fügt ihr Dateien hinzu. Dies liegt daran, dass target.tgz der erste Text nach dem
f
Argument ist.quelle
Normalerweise können Sie diese Nachricht ignorieren. Wenn während der Tar-Erstellung Änderungen am zugrunde liegenden Verzeichnisbaum vorgenommen werden (z. B. Löschen / Erstellen / Ändern von Dateien), wird diese Meldung ausgegeben. Auch wenn spezielle Dateien wie Geräteknoten, Fifos usw. vorhanden sind, wird diese Warnung ausgegeben.
Sind Sie sicher, dass Sie keine Täterdateien sehen können? Versuche es mit
tar cvfz yourtarball.tgz /your/path
quelle
Ich hatte ein ähnliches Problem beim Entpacken einer Datei, die ich erhalten hatte. Es stellte sich heraus, dass ich nicht berechtigt war, die Dateien in das Archiv von root zu schreiben. Mit sudo behoben.
quelle
quelle