Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
DAR_SPLIT(1)		     General Commands Manual		    DAR_SPLIT(1)

NAME
     dar_split - dar helper to split an archive over several tapes

SYNOPSIS
     dar_split	[-b  <bytes>]  [-r  <rate>]  {	[-c  <count>] split_input | [-s]
     split_output } <filename>

     dar_split -V

     dar_split -h

DESCRIPTION
     dar_split is to be used with dar to read or write a large archive	from  or
     to several tapes.

COMMANDS
     dar_split has two modes of operation: split_input and split_output

     split_input	 in  this mode, dar_split copies <filename> to its stan-
			 dard output. <filename> may be a  special  device  like
			 /dev/tape  or	any  other inode that has the ability to
			 access removable 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 mean-
			 while	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  reach-
			 ing the end of file.

     split_output	 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. Pay at-
			 tention to the fact that if you don't change the desti-
			 nation media, the continuation of data copy  may  erase
			 what was written so far depending on the type of media.

OPTIONS
     -s 		 this  option  is only available in split_output mode an
			 leads dar_split to perform sync writes in place of nor-
			 mal writes. This has the drawback to drastically reduce
			 performances but may be necessary under certain circum-
			 stances where the  operating  system  cache  reports  a
			 write	operation as successful while the cache underly-
			 ing medium is already full.

     -b <bytes> 	 this option makes read and write system  call	not  ex-
			 ceeding the given amount of bytes instead of by default
			 using	the  maximum amount the system permits. This may
			 reduce performances as it  will  require  dar_split  to
			 make  more  system  call to achieve the same operation,
			 but can cope this way with  some  devices  that  accept
			 only limited buffer size per system call.

     -r <rate>		 this option limits the transfer rate to the given value
			 in bytes per second.

     -c <count> 	 this  option  limit  the  number of tape dar_split will
			 read data from. If you know  by  advance  this  number,
			 this  avoid  you  having to stop by hand dar_split once
			 the archive has been fully read. It will stop once  the
			 end  of  file of the <count> last file will be reached.
			 This option is of course only available in  split_input
			 mode.

EXAMPLES OF USE
     creating an archive over several tapes

	    dar  -c - ...possibily other dar options... | dar_split split_output
	    /dev/tape

     Here 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.

     reading an archive splitted over several tapes

	    dar_split split_input /dev/tape | dar -t - --sequential-read ...pos-
	    sibily other dar options...

     Here 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  stan-
     dard  input  without  the help of dar_slave. When the tape reaches its end,
     dar_split asks for the user to hit return to continue.

     Note that dar_split can also be used with tar for the same purpose as  with
     dar:

	    tar -cz ... | dar_split split_output /dev/tape

     without  -f option nor TAPE environment variable, tar sends the tar archive
     to stdout, which get fet to dar_split for slicing

	    dar_split split_input /dev/tape | tar -tz

     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.

     The advantage here is to be able to save a huge dar or tar archive on  sev-
     eral 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).

With or without filesystem
     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: do-
     ing that way avoids you relying on a filesystem, thus you cannot  have  di-
     rect 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 re-
     quires 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 restoration time, thanks to dar archive's
     catalog, dar can directly seek to the file's  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 can only read the archive with
     --sequential-read mode.

EXIT CODES
     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

SIGNALS
     Any signal sent to dar_split except SIG_PIPE will abort the program immedi-
     ately

SEE ALSO
     dar(1), dar_xform(1), dar_manager(1), dar_slave(1), dar_cp(1)

KNOWN BUGS
     https://github.com/Edrusb/DAR/issues

AUTHOR
     http://dar.linux.free.fr/
     Denis Corbin
     France
     Europe

3rd Berkeley Distribution	August 2nd, 2025		    DAR_SPLIT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dar_split&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help