Fpart is a tool that helps you sort file trees and pack them into bags (called
"partitions"). It is developped in C and available under the BSD license.
It splits a list of directories and file trees into a certain number of
partitions, trying to produce partitions with the same size and number of files.
It can also produce partitions with a given number of files or a limited size.
Once generated, partitions are either printed as file lists to stdout (default)
or to files. Those lists can then be used by third party programs.
Fpart also includes a live mode, which allows it to crawl very large filesystems
and produce partitions in live. Hooks are available to act on those partitions
(e.g. immediatly start a transfer using rsync(1)) without having to wait for
the filesystem traversal job to be finished. Used this way, fpart can be seen
as a powerful data migration tool.
Excellent tool for partitioning filetrees. Obvioulsy designed with rsync in mind, but can be used for any function or util that requires you to partition a filetree into equal chunks so you can do something with those chunks. By aggregate size of referenced file, by number of files, etc. Similar to the kdirstat-cache-writer that comes with the beautiful kdirstat, but fpart has some added benefits, chiefly the live option which partitions as it goes, as opposed to kdirstat util which has to complete the recursion before you can use the output. surprisingly, even tho kdirstat is in Perl and this is compiled C, they're comparably fast, but fpart is more flexible. Well-documented, well-designed, easily compiled, good help. Beautiful little util.
Thanks for Fpart, it's the best!