Provided by: fpart_0.9-1_amd64 bug

NAME

     fpart — Sort and pack files into partitions.

SYNOPSIS

     fpart [-h] [-V] -n num | -f files | -s size [-i infile] [-a] [-o outfile] [-e] [-v] [-l]
           [-b] [-y pattern] [-Y pattern] [-x pattern] [-X pattern] [-z] [-Z] [-d depth] [-D]
           [-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. 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 option can be used in conjunction with -f and -L.

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

     -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.  It does not apply when computing size
             of directories to be added as leaf entries (the computed size will then include
             every file within directory).

     -Y pattern
             Same as -y but case insensitive. This option may not be available 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. It does not apply when computing size of directories
             to be added as leaf entries (the computed size will then include every file within
             directory).

     -X pattern
             Same as -x but case insensitive. This option may not be available 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 -Z option to also pack un-readable directories.

     -Z      Implies -z.  Treat un-readable directories as empty, causing them to be packed
             anyway.

     -d depth
             After a certain depth, pack directories instead of files (directories themselves
             will be added to partitions, instead of their content).

     -D      Implies -z.  Pack leaf directories: if a directory contains files only, it will be
             packed as a single entry.

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 option -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 (number of files in current partition),
             FPART_PID (PID of fpart). Note that variables may or may not be defined, depending
             of requested 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 abolute 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.

     -q num  Overload each file size with num bytes.

     -r num  Round each file size up to next num bytes multiple. This option can be used in
             conjunction with overloading, which is done *before* rounding.

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
             generated 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 examine the file system
             but instead use arbitrary values printed by du(1) and sort them.

SEE ALSO

     rsync(1), find(1), du(1), grep(1)

AUTHOR, AVAILABILITY

     Fpart has been written by Ganaël LAPLANCHE and is available under the BSD license on
     http://contribs.martymac.org

BUGS

     No bug known (yet).