GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist die Verwendung von Tar während der Aktualisierung des Quellverzeichnisses sicher?

Ich muss eine ähnliche Frage stellen.

In Szenarien, in denen Sie das Verzeichnis mit tar sichern und

  1. neue Dateien/Verzeichnisse werden hinzugefügt

  2. aktuelle Dateien/Verzeichnisse werden bearbeitet und gelöscht

Können Sie ein sicheres Ergebnis erwarten?

Durch sicheres Ergebnis Ich meine so etwas wie:

  1. tar wird nichts in den Quellverzeichnissen/Unterverzeichnissen vermasseln
  2. tar wird dem Archiv hinzugefügt, wie es im Moment der Erstellung des Archivs vorgefunden wurde
  3. Erfolgssignal wird auch dann ausgegeben, wenn beschriebene Änderungen eingetreten sind

Akzeptierte Antwort:

1. tar wird nichts in den Quellverzeichnissen/Unterverzeichnissen vermasseln

Richtig, es sei denn, Sie zählen das Aktualisieren von Zugriffszeiten als Vermasseln. Ansonsten ändert tar nichts am Quellbaum.

2. tar fügt dem Archiv hinzu, wie es im Moment der Erstellung des Archivs vorgefunden wurde

Richtig, für einen gewissen Wert von „im Moment“. Wenn sich der Quellbaum ändert, während tar ihn liest, ist der Inhalt des Archivs etwas unvorhersehbar. Insbesondere wenn sich eine Datei ändert, während tar sie liest, gibt es keine Garantie dafür, dass tar eine Kopie der Datei so schreibt, wie sie zu einem bestimmten Zeitpunkt war. Beispielsweise ist Folgendes möglich:

  • tar liest die Bytes 0–4095 von foo .
  • Einige Programme schreiben in foo , wobei die Bytes 4095–4096 in einem einzigen Schreibvorgang geändert werden.
  • tar liest die Bytes 4096–8191 von foo .

Dann der Inhalt von foo im archiv gibt es weder den alten inhalt noch den neuen inhalt, es ist eine mischung aus beidem. Ein weiteres Beispiel ist, dass, wenn eine Datei umbenannt wird, während tar den Quellbaum liest, tar sie möglicherweise vollständig überspringt.

3 . Erfolgssignal wird auch dann ausgegeben, wenn beschriebene Änderungen aufgetreten sind

Nein, nicht unbedingt. Wenn tar feststellt, dass sich die Quelle geändert hat, während es sie liest, könnte es sich beschweren und einen Fehlerstatus zurückgeben. Insbesondere muss tar die Größe einer Datei in das Archiv schreiben, bevor es den Inhalt schreibt, also liest es zuerst die Größe jeder Quelldatei. Wenn es das Ende der Datei erreicht, bevor es die aufgezeichnete Größe erreicht, gibt es keinen offensichtlichen Weg zur Wiederherstellung, also sollte sich jede tar-Implementierung zumindest in diesem Fall beschweren.

Um Backups sicher zu erstellen, verwenden Sie Tools auf Dateisystem- oder Volume-Ebene, um einen Snapshot zu erstellen, und sichern Sie den Snapshot.

Verwandte:Linux – Virtualbox KALI-Gast auf Ubuntu-Host passt die Auflösung nicht automatisch an?
Linux
  1. Ordner mit Mv zusammenführen?

  2. Ist die Verwendung von Rsync während der Aktualisierung der Quelle sicher?

  3. Zielverzeichnis beim Extrahieren von Tarball erstellen?

  4. Wie man ein Verzeichnis unter Linux gzippt

  5. cp:Verzeichnis weglassen – Fehler beim Kopieren eines Verzeichnisses unter Linux

So erstellen Sie ein Verzeichnis in Linux mit dem mkdir-Befehl

[Linux] :So schließen Sie das Verzeichnis aus, wenn Sie den Shell-Befehl „tar“ verwenden

Hp-ux 9:Dateisystem mit Tar sichern?

Verwendung von –exclude mit dem Du-Befehl?

Verwendung von und in der Bash-While-Schleife

tar - Entfernt führende Verzeichniskomponenten beim Extrahieren