Archivverzeichnis mit Zpaq

Archivverzeichnis mit Zpaq

Ich versuche, ein Backup-System für einen Server einzurichten, das ich gegenüber dem alten System verbessern kann. Ich wähleAbonnierenweil es mit dem alten System eine gute Komprimierung lieferte lrzip -zund weil die verlinkte Seite behauptet, eine inkrementelle Komprimierung anzubieten, bei der bei jedem neuen Backup nur die geänderten Daten gesichert werden.

Um das Backup zu erstellen nutze ich aktuell folgendes Script (alle Daten liegen im serverVerzeichnis):

cd server
zpaq pa ../backup.zpaq *

Dieses Skript erstellt ein Archiv, das alle Dateien enthält, die sich direkt unter dem Serververzeichnis befinden, durchsucht aber nicht rekursiv das gesamte Verzeichnissystem. Wie kann ich erreichen, dass das gesamte Verzeichnissystem durchsucht wird? Wenn ich die Option entferne oder das Verzeichnis von seinem übergeordneten Verzeichnis asichere, tritt das Problem weiterhin auf.server

Dermanpagedas scheint vom Autor der Tools geschrieben zu sein und lautet:

Wenn ein Name ein Verzeichnis ist, schließt er rekursiv alle darin enthaltenen Dateien und Unterverzeichnisse ein.

Ubuntusmanpageerwähnt keine Rekursion. Ich habe das Tool aus dem Ubuntu-Repository installiert apt-get install zpaq. Wenn sich Ubuntus zpaq irgendwie von dem unterscheidet, das ich am Anfang dieser Frage verlinkt habe, erklären Sie mir bitte, wo ein Ubuntu-Paket für das verlinkte zpaq zu finden ist.

Antwort1

Sie möchten anscheinend eine Lösung, die zpaqwie erwartet funktioniert. Wenn Sie jedoch verwenden bash, sollte dieser Workaround das gewünschte Ergebnis liefern. Geben Sie ein shopt -s globstar. Führen Sie dann den Befehl aus, den Sie bisher verwendet haben, mit einer kleinen Änderung:

zpaq pa ../backup.zpaq **

Wenn globstarder Modus aktiviert ist, **wird er zu einer Liste der Einträge im aktuellen Verzeichnis erweitert.Baum; das heißt, das aktuelle Verzeichnis und darunter. Wie *wird ignoriert.(versteckte) Dateien. Wenn Sie sie einschließen möchten, tun Sie dies shopt -s dotglobauch. (Sie können diese in einem Befehl kombinieren: shopt -s globstar dotglob.)

Am einfachsten geht das in einem Skript. Wenn Sie es aber in Ihrer (interaktiven) Hauptshell tun, möchten Sie die shoptEinstellungen möglicherweise rückgängig machen. Sie können das mit tun shopt -u globstar dotglob.

Hinweis: Wenn Sie zu viele Dateien haben, schlägt dies möglicherweise fehl, da die Länge einer Befehlszeile begrenzt ist – sie ist jedoch ziemlich groß.

Antwort2

Ich hatte das gleiche Problem unter Ubuntu 14.04.3. Die Lösung besteht darin, das Paket nicht aus dem Repository zu verwenden, sondern die neueste Quelle von zu installierenhttp://mattmahoney.net/dc/zpaq.html

Nach dem Herunterladen liegt das Paket im ZIP-Format vor und muss mit „unzip“ entpackt werden. Führen Sie dann einfach Folgendes aus:

make
sudo make install

Jetzt machen

zpaq a *archive* */dir*

umfasst das Verzeichnis und alle seine Unterverzeichnisse und Dateien.

verwandte Informationen