Ordner automatisch komprimieren bzw. entpacken (7zip)

  • Hallo zusammen,

    ich habe einen großteil meiner Software & Spiele auf dem NAS hinterlegt. Um Speicherplatz zu sparen, habe ich alle meine Programmordner via Batchfile komprimiert und auf das TS-253b geschoben (siehe Code).

    Code
    for /d %%X in (*) do "C:\Program Files\7-Zip\7z.exe" -m7=lzma2 -sdel a "\\192.168.0.99\Download\7zipArchive\%%X.7z" "%%X\

    Nun habe ich herausgefunden, dass die Ordner auf dem NAS um einiges effektiver komprimiert werden und ich mir dadurch noch einmal jede Menge Speicherplatz sparen könnte...


    Nun zu meiner Frage:

    Wie kann ich vorgehen um alle *.7z Dateien nun automatisiert wieder zu entpacken um sie anschließend auf dem NAS wieder automatisiert zu packen ?


    Wäre super, wenn ihr mir hier Hilfestellung geben könntet. Soetwas wie ein batch file wäre super, aber ich komme leider nicht aus der Linuxwelt und bin daher leider ein wenig aufgeschmissen...


    Vielen Dank,

    Mathias



    Hab nun eine Möglichkeit gefunden, alle files nacheinander zu entpacken

    Code
    /usr/local/sbin/7z x '*.7z'

    entpackt alle 7z files innerhalb eines Ordners.

    Nun möchte ich wieder alle Ordner in jeweils ein 7z File packen und den alten Ordner löschen.

    Dies geht mit:

    Code
    for i in */; do /usr/local/sbin/7z a -r -sdel "${i%/}.7z" "$i"; done

    Kann mir nun einer die beiden Schritte in ein bash Skript packen ?


    Danke !

  • Nur mal so zur Info. Der Packer 7zip packt weder besser noch schlechter auf Linux, Windows usw. das liegt nur an den Einstellungen die du dem Packer gibst.


    7zip hat 5 verschiedene Kompressionen von wenig bis Ultra

    und verschiedene Arten wie es die Files komprimiert, das eine kann Text besser das andere binarys usw.


    Standard ist die Mitte wenn du nichts angibst wie stark komprimiert werden soll, 9 wäre Ultra und das höchste dauert aber auch am längsten und benötigt am meisten Ressourcen.


    Es gibt Stufe 1,3,5,7,9

    Methoden verschiedener Kompressionen sind:

    Sets a method: LZMA, LZMA2, PPMd, BZip2, Deflate, Delta, BCJ, BCJ2, Copy



    Nun für dich zum ausprobieren damit du die ganzen Parameter anwenden kannst gibt es was zu lesen.

    https://sevenzip.osdn.jp/chm/cmdline/syntax.htm

    https://sevenzip.osdn.jp/chm/cmdline/commands/index.htm

    https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm

  • Hallo Unos,


    danke für die Info. Mir ist der Sachverhalt bewusst, was die Sache für mich nun aber effektiver macht ist, dass ich die Daten nicht vom NAS auf den PC holen muss. Ich möchte den Vorgang gerne auf dem NAS laufen lassen.

    Was ich allerdings noch nicht gefunden habe ist eine Auflistung, welche Methode für was am besten geeignet ist ? Was denkst du ist für "Installationsdateien" am besten geeignet ?


    Edit:

    Und hast du eine Idee, wie ich das ganze nun in ein Skript bekomme ? (Wenn ich Putty nun schließe beendet sich der ganze Vorgang auch)

    Einmal editiert, zuletzt von Mathias1988 ()

  • Dafür wirst du dich im Thema einlesen müssen, ich weiß es nicht. Oder einfach mit ein paar Dateien ausprobieren und vergleichen.


    Für Linux Skripte usw. bin ich der falsche Ansprechpartner