Verwenden Sie tar
, aber verzichten Sie auf den gzipping Teil. Der springende Punkt von TAR ist das Konvertieren von Dateien in einen einzigen Stream (es steht für Bandarchiv). Abhängig von Ihrem Prozess könnten Sie den Stream auf eine Festplatte schreiben und kopieren, aber effizienter können Sie ihn (z. B. über SSH) an den anderen Computer weiterleiten - möglicherweise gleichzeitig entkomprimieren.
Da der Prozess eher IOs als CPU-intensiv ist, hilft das Parellellizing des Prozesses nicht viel, wenn überhaupt. Sie reduzieren die Dateiübertragungsgröße (wenn Dateien nicht genau durch die Blockgröße teilbar sind), und Sie sparen viel, indem Sie nicht für jede Datei das Vor- und Zurückspulen haben.
So erstellen Sie eine unkomprimierte TAR-Datei:
tar -cf file.name /path/to/files
So streamen Sie über das Netzwerk:
tar -c /path/to/files | ssh user@dest.domain 'cd /dest/dir && tar -x'
Hinweis: Wenn Sie eine Zwischendatei wie in Beispiel 1 auf eine Festplatte schreiben, kann es bei anständiger Komprimierung tatsächlich schneller sein, die Datei zu komprimieren, da dadurch die Menge an Daten reduziert wird, die auf die Festplatte geschrieben wird der Prozess.