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

FreeBSD Manual Pages

  
 
  

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

       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	 mean-
			   while,  the	user  can  rewind and change the tape.
			   When	dar_split is awaken again, it  reopens	<file-
			   name>  and continues	to copy	to <filename> what was
			   not yet written previously. Pay  attention  to  the
			   fact	 that  if you don't change the destination me-
			   dia,	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  normal writes. This has the drawback to drasti-
			   cally reduce	performances but may be	necessary  un-
			   der	certain	circumstances where the	operating sys-
			   tem cache reports a write operation	as  successful
			   while the cache underlying medium is	already	full.

       -b <bytes>	   this	 option	 makes	read and write system call not
			   exceeding the given amount of bytes instead	of  by
			   default  using  the	maximum	amount the system per-
			   mits. This may reduce performances as it  will  re-
			   quire 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
	      ...possibily 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	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.

       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	corre-
       sponding	to the compression used	at archive creation time.

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

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  me-
       dia: doing that way avoids you relying on a filesystem, thus you	cannot
       have direct access to file contents, which dar knows how	to take	advan-
       tage 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 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/uncipher-
       ing/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 (ex-
       cept  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 im-
       mediately

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

KNOWN BUGS
       http://sourceforge.net/p/dar/bugs/

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

3rd Berkeley Distribution	June 19th, 2022			  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+14.3.quarterly>

home | help