dirsplit --version (return code: 0)
dirsplit -H (return code: 0)
dirsplit [options] [advanced options] < directory > -n|--no-act Only print the commands, no action (implies -v) -s|--size NUMBER - Size of the medium (default: 4488M) -m|--move Move files to target dirs (default: create mkisofs catalogs) -l|--symlink similar to -m but just creates symlinks in the target dirs -L|--hardlink like -l but creates hardlinks -p|--prefix STRING - first part of catalog/directory name (default: vol_) -f|--filter EXPR - Filter expression, see examples below and perlre manpage --flat Flat dir mode, don't recreate subdirectory structure (not recommended) -e|--expmode NUMBER, special exploration modes, used with directory argument 1: (default) native exploration of the specified directory, but file sizes are rounded up to 2048 blocks plus estimated overhead for filenames (see -o option) 2: like 1, but all files in directory are put together (as "atom") onto the same medium. This does not apply to subdirectories, however. 3: like 2, but don't coalesc files when the size of the "atom" becomes too large for the medium size (currently 4488M) 4: like 2, but the max. size of the atoms is limited to 4488M (storing the rest on another medium) -F|--follow Follow symlinks. Use with care! -b|--blksize NUMBER, block size of the target filesystem (currently 2048). -o|--overhead NUMBER, overhead caused by directory entries (as factor for the filename length, default: 50, empiricaly found for Joliet+RR with not-so-deep directory structure). Works in exploration mode. -a|--accuracy NUMBER (1=faster, large number=better efficiency, default: 500) -S|--simple Simple/stupid/alphabetic mode -T|--input FILENAME (or - for STDIN): List with sizes and paths, try: find dir -type f -printf "%s %p " to get an example. Avoid duplicates! Unit suffixes are allowed. -h|--help Show this option summary -v|--verbose More verbosity File sizes are expected to be in bytes, append modifier letters to multiply with a factor, eg 200M (b,k,K,m,M,g,G for Bytes, Kb, KiB, Mb, MiB, Gb, GiB). The default output mode is creating file catalogs useable with mkisofs -D -r --joliet-long -graft-points -path-list CATALOG Examples: dirsplit -m -s 120M -e4 largedirwithdata/ -p /zipmedia/backup_ #move stuff into splitted backup dirs dirsplit -s 700M -e2 music/ # make mkisofs catalogs to burn all music to 700M CDRs, keep single files in each dir together dirsplit -s 700M -e2 -f '/other\/Soundtracks/' music/ # like above, only take files from other/Soundtracks dirsplit -s 700M -e2 -f '!/Thumbs.db|Desktop.ini|\.m3u$/i' # like above, ignore some junk files and playlists, both letter cases Bugs: overhead trough blocksize alignment and directory entry storage varies, heavily depends on the target filesystem and configuration (see -b and -o). You should compare the required size of the created catalogs, eg.: for x in *list ; do mkisofs -quiet -D -r --joliet-long -graft-points \ -path-list $x -print-size; done (output in blocks of 2048 bytes) with the expected size (-s) and media data (cdrecord -v -toc ...).