====== 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