7-Zip / WinRAR und die leidige Sache mit dem Updaten von Archiven

Karol_

Lieutenant
Registriert
Juni 2009
Beiträge
577
Vorweg gesagt: ich weiß wie man ein bestehendes Archiv aktualisiert, sowohl im 7-Zip als auch im WinRAR. Mein Problem ist ein spezielles, das ich näher erklären muss.

Wenn ich in WinRAR (Version 4.20 64-bit) ein Archiv in der Kommandozeile aktualisiere, dann ändert sich dieses nur, wenn auch wirklich der Inhalt des Archivs aktualisiert wurde. Diese Funktionsweise ist für mich sehr wichtig, da ich den MD5-Hash des Archivs zu Vergleichszwecken verwende. Dieser Hash darf sich also nicht mit jeder Ausführung ändern.

7-Zip - getestet habe ich die empfohlene Alpha 9.25 (64-bit) - ist für mich wegen der stärkeren Komprimierungsrate besonders attraktiv, leider verhält sich der Packer aber nicht wie gewünscht. Auch wenn sich an den Quelldateien überhaupt nichts geändert hat und das Archiv gar nicht angepasst werden müsste, aktualisiert und verändert 7-Zip trotzdem etwas an der Datei. Dabei handelt es sich vermutlich nur um den Header, weil der Packvorgang unmittelbar beendet wird.

Gibt es einen Kommandozeilenparameter von 7-Zip, mit dem ich dieses Verhalten abstellen kann? Wenn ihr eine alternative Software für Windows kennt, die automatisiert (zB Kommandozeilenbefehl) archivieren kann und eine bessere Komprimierung als WinRAR schafft, dann wäre das natürlich auch okay.



Wer gerne wissen möchte, wieso ich die Sache benötige:

Auf dem Quell-Computer wird täglich mit SyncBackFree ein Backup durchgeführt. Die betroffenen Dateien bestehen zu 90 Prozent aus plain-text Inhalten (txt, html, css, js, cgi, perl, ...). Weil es dessen ganz viele gibt macht es nur Sinn, alle Dateien in ein komprimiertes Archiv zu kopieren. Sollte sich dieses Archiv verändert haben - geprüft wird hierzu von einem anderen Programm der MD5-Hash - dann wird es per FTP auf einen Server geladen.

Das funktioniert momentan auch ganz gut, mein Problem ist aber die schwache Kompression der kostenlosen Version von SyncBack. Bessere Alternativen gibt es in der kostenpflichtigen Pro-Version, allerdings scheinen die so generierten Archive nicht mit allen Packprogrammen kompatibel zu sein (siehe ein Beitrag im 2BrightSparks-Forum).

Daher suche ich nun nach Alternativen, wie ich das auch direkt mit simplen Packprogrammen lösen und dem Scheduler lösen kann. WinRAR funktioniert bereits, mit 7-Zip habe ich noch ein Problem, vielleicht gibt es aber eine bessere (Text-)Kompression anderswo.
 
7-Zip ändert nur das Modified Date, die Datei selbst bleibt unberührt. Gibts keine andere Option in dem Tool zu bestimmen, wann gesynct wird - z.B. Datum und Größe, Hash o.ä.?
 
Yuuri schrieb:
7-Zip ändert nur das Modified Date, die Datei selbst bleibt unberührt.
Stimmt, das habe ich erst in einem manuellem Test herausgefunden, nachdem du es gesagt hast. Bisher ging ich nämlich davon aus, dass die Anleitung des Synchronisationsprogrammes stimmen würde :rolleyes:

Yuuri schrieb:
Gibts keine andere Option in dem Tool zu bestimmen, wann gesynct wird - z.B. Datum und Größe, Hash o.ä.?
Nein, das Tool kann ich nicht beeinflussen, denn es gibt keine derartige Einstellung. In der Anleitung steht, dass ausschließlich der Datei-Hash überprüft wird. Dem ist aber ganz klar nicht so, weil es bereits bei einem geänderten Dateierstellungs/veränderungsdatum anspringt.

Ich habe mir nun ein kleines Kommandozeilentool geschrieben, welches die Arbeit von SyncBackFree übernimmt. Der Komprimierungsvorgang aktualisiert ein bestehendes Archiv (meine lokale Kopie mit Rar/7-Zip), während der Verschlüsselungsvorgang (AES Crypt) nur dann startet, wenn sich der Hash des Archives geändert hat. Diese .aes Dateien werden dann bei Bedarf in den überwachten Synchronisationsordner verschoben.

Danke für deine Hilfe, ich hätte sonst noch ewig an der falschen Stelle gesucht ;)
 
Zurück
Oben