Ich machte ein: tar -cvf
und ich musste es mit töten ctrl-C
. Ich weiß, ich hätte eine machen Ctrl-Z
und dann die Aufgabe wieder in den Vordergrund bringen sollen ... aber es ist nicht die Geschichte.
Kann ich ab dem Punkt fortfahren, an dem ich die Aufgabe gestoppt habe?
Antworten:
Diese Methode erstellt Ihr Tar-Archiv neu und hängt das fertige Teil an die vorhandene Datei an. Dies kann nützlich sein, wenn Sie über eine Netzwerkverbindung sichern. Sie werden wahrscheinlich zu einem beschädigten Archiv führen, wenn sich Daten in Ihren INFILES geändert haben. Stellen Sie sicher, dass Sie Ihr Archiv nach Abschluss testen.
Ändern Sie INFILES und OUTFILE in der folgenden Zeile in die richtigen Namen.
Erläuterung:
SIZE="$(wc -c < $OUTFILE)"
# Ermittelt die aktuelle Größe des Archivs.tar -cz --to-stdout "$INFILES" |
# Beginnen Sie mit der Erstellung des Archivs und senden Sie die Ausgabe an dentail
Befehl.tail -c +$(($SIZE+1)) >>
# Ignorieren Sie die Daten vor $ SIZE + 1 und setzen Sie den Rest des Archivs $ OUTFILE fort.quelle
Die beste Lösung wäre, die TAR-Datei zu löschen und den mit vorangestellten
nohup
und angehängten Prozess neu zu starten&
. Alternativ können Sie dies ausführentar -tfv
und als Ausschluss für das neue verwendentar -cvf
.quelle
tar -cvf
überschreibt die vorhandene Datei. Meinten Sietar -rvf
? Außerdem war die letzte Datei, die in das Archiv geschrieben wurde, wahrscheinlich unvollständig.tar -rvf
?Du kannst nicht; Sie müssen nur von vorne anfangen.
quelle
Was ich mache, wenn ich ein unvollständiges
tar
Archiv habe, erstelle ich eine Liste der Dateien im Archiv:Der
sed
Befehl löscht alle Zeilen mit einem abschließenden Schrägstrich: Dies sind Verzeichnisse, keine Dateien, und wir möchten die Verzeichnisse erneut sichern und nur die Dateien in den Verzeichnissen überspringen, die wir bereits im ersten tar-Archiv haben. Außerdem lassen wirsed
den letzten Dateinamen löschen, da dieser höchstwahrscheinlich nur teilweise ausgegeben wurde, sodass wir ihn erneut archivieren werden.Übergeben Sie die
files-done
Liste dann einfach über die Option -X an einen neuentar
Befehl:Stellen Sie sicher, dass Sie für den neuen Befehl tar einen anderen Ausgabedateinamen verwenden, da Sie sonst Ihr Teilarchiv überschreiben. Versuchen Sie nicht, direkt an das beschädigte Teerarchiv anzuhängen.
quelle