|split_input||in this mode dar_split copies <filename> to its standard output. <filename> may be a special device like /dev/tape or any other inode that has the ability to access removeable volumes. When dar_split reaches the end of <filename> it suspends and waits for the user to press the return key in order to continue. In the meanwhile the user can rewind and change the tape. When dar_split is awaken again, it reopens <filename> and sends its content to its standard output as if it was the continuation of what was read so far before reaching the end of file.|
in this mode dar_split copies its standard input to <filename>. However if <filename> is full, dar_split suspends and waits for the user to press the return key in order to continue. In the meanwhile, the user can rewind and change the tape. When dar_split is awaken again, it reopens <filename> and continues to copy to <filename> what was not yet written previously.
creating an archive over several tapesHere dar generates the archive to its standard output which is read by dar_split and copied to /dev/tape. When the tape reaches its send, dar_split asks for the user to hit return to continue.
dar -c - ...possibily other dar options... | dar_split split_output /dev/tape
reading an archive splitted over several tapesHere dar_split reads /dev/tape and sends its content to dar which *must* be used in --senquential-read mode in order to read an archive from its standard input without the help of dar_slave. When the tape reaches its end, dar_split asks for the user to hit return to continue.
dar_split split_input /dev/tape | dar -t - --sequential-read ...possibily other dar options...
Note that dar_split can also be used with tar for the same purpose as with dar:without -f option nor TAPE environment variable, tar sends the tar archive to stdout, which get fet to dar_split for slicing
tar -cz ... | dar_split split_output /dev/tape
without -f option nor TAPE environement variable, tar read the tar archive from stdin, however you must specify the correct option corresponding to the compression used at archive creation time.
dar_split split_input /dev/tape | tar -tz
The advantage here is to be able to save a huge dar or tar archive on several tapes that could be either partially filled or having different sizes, without having to calculate in advance the size of slices to specify. The drawback is that this implies sequential reading for dar (for tar also, but tar cannot do else).
You can use dar_split with floppies, zip/jazz disks or usb key too, but it has many disadvantages compared to the normal way of using this media: doing that way avoids you relying on a filesystem, thus you cannot have direct access to file contents, which dar knows how to take advantage of, and you are instead stuck with sequential read access which is long as it requires reading the whole archive (same way as tar does).
When instead using dar alone in normal mode (non sequential reading mode using filenames instead of standard input/output), you have the opportunity to create redundancy data beside dar slices thanks to par2, which is not possible without a filesystem. At restorationt time, thanks to dar archives catalog, dar can directly seek to the files data you want to restore, which is very quick compared to reading/unciphering/uncompressing the whole archive...
Note that copying tape contents generated by dar_split to different files which name would correspond to dar slices, does not make a valid multi-sliced archive because the slice header is missing in slices (except in the first). You can however concatenate all the pieces of data generated by dar_split and have a valid single sliced dar archive that you can use in direct access mode. However attention must be paied not to add any extra data after data generated by dar through dar_split (in particular if the last tape was not full), in that case you are stuck with --sequential-read mode.
dar_split exists with the following codes:
0 upon normal execution 1 syntax error on command-line 2 could not open source or destination files
Any signal sent to dar_split except SIG_PIPE will abort the program immediately
http://dar.linux.free.fr/ Denis Corbin France Europe
|-->||DAR_SPLIT (1)||April 12th, 2015|