Frage Unzip gzip mehr als eine Datei auf einmal


Ich bin am Ende meiner Forschung mit Unix angekommen:> Ich bin neu mit Unix und seiner Umgebung, also brauche ich eure Hilfe Jungs. Lange Rede kurzer Sinn, ich habe ein Hauswirtschafts-Skript, das täglich / wöchentlich läuft (es spielt keine Rolle) und es gzips viele Dateien insgesamt ~ 20Tb. Das alte Skript verwendet Zyklus und es gzips Dateien nacheinander, bis es mit dem Muster in der Konfigurationsdatei übereinstimmt. Ich möchte Gzip-Dateien 4 auf einmal erstellen. Da es die Zeit des Haushalts-Skripts reduziert.   Mit meiner Forschung komme ich zum Schluss: Finde $ {var}! -name "$ {name}" -Typ f 2> / dev / null | xargs -n 1 -P 4 gzip

Meine Frage ist, gibt es eine Möglichkeit, dies ohne find / ls-Befehle möglich zu machen, kann ich auch xargs mit einigen anderen Befehlen ersetzen? Bitte beachten Sie, dass ich keine zusätzlichen Pakete installieren kann.


0
2018-06-15 11:35


Ursprung


Normalerweise würde ich empfehlen zu schauen GNU Parallel für solche Aufgaben. Haben Sie es installiert oder fällt es in die Kategorie "Kann zusätzliche Pakete nicht installieren". - Dmitry Grigoryev
Leider ist es auf diese Kategorie; ( - Justas


Antworten:


Ich denke, das Problem ist, dass Ihr Skript Dateien abgleicht und mit dem Zip beginnt, mit dem nächsten übereinstimmt und zu zippen beginnt. Mein Rat:

Teilen Sie Ihr Skript auf, um mehrere Instanzen von gzip ausführen zu können, da gzip nicht multithreadfähig ist (Sie können jedoch mehrere Instanzen gleichzeitig ausführen, um alle Kerne zu erhalten)

Ich habe darauf hingewiesen Post für den Code erforderlich, um mehrere Instanzen zu starten.


0
2018-06-15 11:52