====== split ====== Wie teilt man Files (oder **stdout**) auf kleinere Portionen? Wenn Sie eine große DB exportieren, oder ein TAR-Archiv Ihres Filesystems erstellen müssen, kann es oft zu Dateien führen, die größer als 2GB sind. Auf einigen UNIX-Filesystemen ist es die maximal mögliche Größe für die Dateien. Oder wenn Sie Ihre Software über das Internet übertragen müssen, ist es einfacher, kleinere TAR-Files hoch/runter zu laden. Für diese Aufgabe sind **split** und **named pipes** oft sehr nützlich. 1. Ein **named pipe** erzeugen: mknod tar_pipe p 2. Der erste Prozeß (tar) schreibt (als Hintergrundprozeß) auf **named pipe**: tar cvf tar_pipe & 3. Der zweite Prozeß (split) liest aus dem **named pipe** und erzeugt mehrere kleine Portionen: split -b 100k tar_pipe tar_split_ Das ergibt in etwa folgendes: -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_aa -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ab -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ac -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ad -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ae -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_af -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ag -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ah -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ai -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_aj -rw-r--r-- 1 root root 102400 Apr 24 12:10 tar_split_ak 4. Nach der Übertragung zum Zielhost werden alle Teile wieder zusammen geführt und der Inhalt von "tar_directory" wiederhergestellt: cat tar_split_* | tar xvf - ---- Stand: 22.10.2009 EOF