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

FreeBSD Manual Pages

  
 
  

home | help
FPART(1)		FreeBSD	General	Commands Manual		      FPART(1)

NAME
     fpart -- Sort and pack files into partitions

SYNOPSIS
     fpart [-h]	[-V] -n	num | -f files | -s size [-i infile] [-a] [-o outfile]
	   [-0]	[-e] [-v] [-l] [-b] [-y	pattern] [-Y pattern] [-x pattern]
	   [-X pattern]	[-z] [-zz] [-zzz] [-d depth] [-D] [-E] [-L] [-w	cmd]
	   [-W cmd] [-p	num] [-q num] [-r num] [FILE or	DIR...]

DESCRIPTION
     The fpart utility helps you sort file trees and pack them into bags
     (called "partitions").

GENERAL	OPTIONS
     -h	     Print help

     -V	     Print version

PARTITION CONTROL
     -n	num  Create exactly num	partitions and try to generate partitions with
	     the same size and number of files.	 This option cannot be used in
	     conjunction with -f, -s or	-L.

     -f	files
	     Create partitions containing at most files	files or directories.
	     This option can be	used in	conjunction with -s and	-L.

     -s	size
	     Create partitions with a maximum size of size bytes.  With	this
	     option, partition 0 may be	used to	handle files that do not fit
	     in	a regular partition, given the provided	size limit.  This op-
	     tion can be used in conjunction with -f and -L.  You can use a
	     human-friendly unit suffix	here (k, m, g, t, p).

INPUT CONTROL
     -i	infile
	     Read file list from infile.  If infile is "-", then list is read
	     from stdin.

     -a	     Input contains arbitrary values; just sort	them (do not crawl
	     filesystem).  Input must follow the "size(blank)path" scheme.
	     This option is incompatible with crawling-related options.

OUTPUT CONTROL
     -o	outfile
	     Output partitions'	contents to outfile template.  Multiple	files
	     will be generated given that template.  Each outfile will get
	     partition number as a suffix.  If outfile is "-", then partitions
	     will be printed to	stdout,	with partition number used as a	prefix
	     (so you can grep partitions you are interested in,	or do whatever
	     you want).

     -0	     End filenames with	a null ('\0') character	when using option -o.

     -e	     When adding directories (see DIRECTORY HANDLING ),	add an ending
	     "/" to each directory entry.

     -v	     Verbose mode (may be specified more than once).

FILESYSTEM CRAWLING CONTROL
     -l	     Follow symbolic links (default: do	not follow).

     -b	     Do	not cross filesystem boundaries	(default: cross).

     -y	pattern
	     Include files or directories matching pattern only	(and discard
	     all other files).	This option may	be specified several times.
	     Pattern may be a leaf (file or directory) name or a specific
	     path.  Shell pattern matching characters ("[", "]", "*", "?") may
	     be	used.  It does not apply when computing	size of	directories to
	     be	added once a maximum depth (see	option -d ) has	been reached
	     (in that case, once the maximum depth has been reached, every
	     single file accounts for a	directory size).

     -Y	pattern
	     Same as -y	but case insensitive.  This option may not be avail-
	     able on your platform (at least FreeBSD and GNU/Linux support it,
	     Solaris does not).

     -x	pattern
	     Exclude files or directories matching pattern.  This option can
	     be	used in	conjunction with -y and	-Y.  In	this case, exclusion
	     is	performed after.  This option may be specified several times.
	     Pattern may be a leaf (file or directory) name or a specific
	     path.  Shell pattern matching characters ("[", "]", "*", "?") may
	     be	used.  It does not apply when computing	size of	directories to
	     be	added once a maximum depth (see	option -d ) has	been reached
	     (in that case, once the maximum depth has been reached, every
	     single file accounts for a	directory size).

     -X	pattern
	     Same as -x	but case insensitive.  This option may not be avail-
	     able on your platform (at least FreeBSD and GNU/Linux support it,
	     Solaris does not).

DIRECTORY HANDLING
     -z	     Pack empty	directories.  By default, fpart	will pack files	only
	     (except when using	the -d or -D options).	This option can	be
	     useful for	tools such as rsync(1) to be able to recreate a	full
	     file tree when used with fpart (e.g. using	rsync's	--files-from
	     option).  See the -zz option to also pack un-readable directo-
	     ries.

     -zz     Treat un-readable directories as empty, causing them to be	packed
	     anyway.

     -zzz    Pack all directories (as empty).  Useful when 3rd party tools
	     need directory entries to update them (e.g. cpio).

     -d	depth
	     After a certain depth, pack directories instead of	files (direc-
	     tories themselves will be added to	partitions, instead of their
	     content).	You can	force a	specific file to be packed anyway by
	     listing it	on the command line explicitly.

     -D	     Implies -z.  Pack leaf directories: if a directory	contains files
	     only, it will be packed as	a single entry.	 You can force a spe-
	     cific file	to be packed anyway by listing it on the command line
	     explicitly.

     -E	     Implies -D.  Pack directories only	(work on a per-directory ba-
	     sis): in that mode, no file will be packed.  Instead, each	direc-
	     tory will be packed as a single entry with	a size being the sum
	     of	all top-level files' sizes.  You can force a specific file to
	     be	packed anyway by listing it on the command line	explicitly.

LIVE MODE
     -L	     Live mode (default: disabled).  When using	this mode, partitions
	     will be generated while crawling filesystem.  This	option saves
	     time and memory, but does not give	partition 0 a special meaning
	     (see option -s ).	As a consequence, it can generate partitions
	     larger than the size specified with option	-s.  This option can
	     be	used in	conjunction with options -f and	-s, but	not with op-
	     tion -n.

     -w	cmd  When using	live mode, execute cmd when starting a new partition
	     (before having opened next	output file, if	any).  cmd is run in a
	     specific environment that provides	several	variables describing
	     the state of the program: FPART_HOOKTYPE ("pre-part" or "post-
	     part"), FPART_PARTFILENAME	(current partition's output file
	     name), FPART_PARTNUMBER (current partition	number),
	     FPART_PARTSIZE (current partition size), FPART_PARTNUMFILES (num-
	     ber of files in current partition), FPART_PID (PID	of fpart).
	     Note that variables may or	may not	be defined, depending of re-
	     quested options and current partition's state when	the hook is
	     triggered.	 Also, note that hooks are executed in a synchronous
	     way while crawling	filesystem, so 1) avoid	executing commands
	     that take a long time to return as	it slows down filesystem
	     crawling and 2) do	not presume cwd	(PWD) is the one fpart has
	     been started in, as it is regularly changed to speed up crawling
	     (use absolute paths within	hooks).

     -W	cmd  Same as -w, but executes cmd when finishing a partition (after
	     having closed last	output file, if	any).

SIZE HANDLING
     -p	num  Preload each partition with num bytes.  You can use a human-
	     friendly unit suffix here (k, m, g, t, p).

     -q	num  Overload each file	size with num bytes.  You can use a human-
	     friendly unit suffix here (k, m, g, t, p).

     -r	num  Round each	file size up to	next num bytes multiple.  This option
	     can be used in conjunction	with overloading, which	is done	*be-
	     fore* rounding.  You can use a human-friendly unit	suffix here
	     (k, m, g, t, p).

EXAMPLES
     Here are some examples:

     fpart -n 3	-o var-parts /var
	     Produce 3 partitions, with	(hopefully) the	same size and number
	     of	files.	Three files: var-parts.0, var-parts.1 and var-parts.2
	     are generated as output.

     fpart -s 4724464025 -o music-parts	/path/to/music ./*.mp3
	     Produce partitions	of 4.4 GB, containing music files from
	     /path/to/music as well as MP3 files from current directory; with
	     such a partition size, each partition content will	be ready to be
	     burnt to a	DVD.  Files music-parts.0 to music-parts.n, are	gener-
	     ated as output.

     find /usr ! -type d | fpart -f 10000 -i - /home | grep '^0:'
	     Produce partitions	containing 10000 files each by examining /usr
	     first and then /home and display only partition 0 on stdout.

     du	* | fpart -n 2 -a
	     Produce two partitions by using du(1) output.  Fpart will not ex-
	     amine the file system but instead use arbitrary values printed by
	     du(1) and sort them.

SEE ALSO
     du(1), find(1), fpsync(1),	grep(1), rsync(1)

AUTHOR,	AVAILABILITY
     Fpart has been written by Ganael LAPLANCHE	and is available under the BSD
     license on	http://contribs.martymac.org

BUGS
     No	bug known (yet).

FreeBSD	13.0		       November	18, 2011		  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | GENERAL OPTIONS | PARTITION CONTROL | INPUT CONTROL | OUTPUT CONTROL | FILESYSTEM CRAWLING CONTROL | DIRECTORY HANDLING | LIVE MODE | SIZE HANDLING | EXAMPLES | SEE ALSO | AUTHOR, AVAILABILITY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fpart&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help