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

FreeBSD Manual Pages

  
 
  

home | help
clone(1)		     User's Reference Manual			clone(1)

NAME
     clone -- A file tree cloning tool

SYNOPSIS
     clone [-c roff|woff|rwoff] [-d|-i|-s] [-l] [-v level] [-x exclude-list]
	   [-X excl-list-file] [-y] [-h|-?|?] source/ destination/

DESCRIPTION
     clone  is	a  file  tree  cloning	tool  which runs 3 threads - a scheduler
     (main), a reader, and a writer thread. Reading and writing occurs in paral-
     lel. While this is most beneficial for copying data from one physical  disk
     to  another,  clone is also very well suited for cloning a file tree to any
     place on the same disk.

     Cloning includes  the  whole  directory  hierarchy,  i.e.	sub-directories,
     files,  hard  links,  symbolic links, attributes (modes, flags, times), ex-
     tended attributes and access control lists.

     clone is useful for cloning (thus backing-up) live file systems, and it can
     also be used in incremental and synchronization mode.

     clone works on FreeBSD and macOS.

     clone is very fast, for example, cloning a whole  UFS2  file  hierarchy  on
     FreeBSD  9.1  of  in total 2.3 TBytes of data from one hard disk to another
     took 7.5 h, so the average transfer rate for all kind of files (very  small
     up to very big ones) was about 89 MByte/s.

     Optional flags:

     -c roff | woff | rwoff
	      Selectively  turn off the file system cache for reading or writing
	      or for reading and writing -- the caches are on by default.

     The options -d, -i, -s are mutually exclusive:

     -d       Delete the contents of the destination before cloning, but do  not
	      remove  the  destination	directory or mount point itself. Stop on
	      error. Deletion requires user confirmation, unless it is confirmed
	      inherently by the -y flag. Be careful, deletion cannot be  undone!
	      NOTE: It may take its time to empty hugh file trees, and it may be
	      faster to use newfs(8) for initializing big volumes.

     -i       Incrementally add new content to or change content in the destina-
	      tion,  but do not touch content in destination that does not exist
	      in source.

     -s       Completely synchronize destination with source.

     -l       Don't copy, but create hard links of regular files in  the  cloned
	      directory tree.

     -v       Verbosity level (default = 1):
	      0 - no output
	      1 - show directory action: + for add, - for delete, = for keep
	      2 - indicate cloned files by '.'
	      3 - display the path names of cloned file system items

     -x exclude-list
	      Colon  separated list of entity names or full path names to be ex-
	      cluded from cloning. Use full path names to single out exactly one
	      item. Use entity names for all existing entities having that  name
	      being excluded.
	      For    example:	 -x    ".snap:/.sujournal:.DS_Store:/fullpath/to
	      a/volatile cache"

     -X excl-list-file
	      File containing a list of entity names or full path  names  to  be
	      excluded -- one item per line.

     -y       Automatically answer with y(es) to y|n confirmation prompts.

     -h | -? | ?
	      Show the usage instructions.

     Required arguments:

     source/  Path  to the source directory or mount point to be cloned. The fi-
	      nal '/' may be omitted.

     destination/
	      Path to the destination directory or mount point. If the	destina-
	      tion does not exist, then it will be created. The final '/' may be
	      omitted.

EXAMPLES
     Initial cloning of the root volume / to a volume mounted on /mnt:
	      clone / /mnt

     Same as above, but empty /mnt before cloning:
	      clone -d / /mnt

     Incrementally update the clone with respect to the master:
	      clone -i / /mnt

     Keep the clone exactly synchronized to the master:
	      clone -s / /mnt

     Create a non-versioned clone of a versioned source tree:
	      clone -x .svn /path/to/my/project /path/to/non-versioned/project

     Clone a directory to a share and strip file system specific meta data:
	      clone	 -x	 ".DS_Store:.AppleDouble:.AppleDesktop:.appdisk"
	      /path/to/afpvol /path/to/the/share

SEE ALSO
     cp(1), ditto(1), rsync(1), dd(1), newfs(8), dump(8), restore(8), asr(8)

AUTHOR
     Dr. Rolf Jansen. Copyright (c) 2013-2019. All rights reserved.

IMPORTANT NOTE
     Improper use of clone may delete or overwrite data. Take special care  with
     the  -d  and the -s option. Also always be sure, that the last command line
     argument designates a path to a file tree which really  is  under	disposi-
     tion.

     In  NO event shall the author and/or copyright owner be liable for ANY dam-
     ages resulting from ANY use of this software. Use clone at your own risk!

BUGS
     clone has been carefully developed and tested. Anyway,  clone  is	provided
     without any expressed or implied warrantee on being 100 % bug free.

FreeBSD, Darwin 		   2020-04-20				clone(1)

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

home | help