survient / fpart

Description

Fpart is a tool that helps you sort file trees and pack them into bags (called "partitions"). It is developed 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 of a limited size. Fpart uses a bin packing algorithm to optimize space utilization amongst partitions.

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. immediately start a transfer using rsync(1) or cpio(1)) without having to wait for the filesystem traversal job to be finished. Used that way, fpart can be seen as a powerful basis for a data migration tool.

Fpart can also generate lists of directories instead of files. That mode can be useful to enable usage of options requiring overall knowledge of directories such as rsync's --delete.

As a demonstration of fpart possibilities, a tool called fpsync is provided in the tools/ directory.

Installation Instructions

https://github.com/martymac/fpart/wiki

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Epel for CentOS 6 i386 (0)*, x86_64 (0)* Epel for CentOS 6 (26 downloads)
Epel for CentOS 7 ppc64le (0)*, x86_64 (0)* Epel for CentOS 7 (76 downloads)
Fedora 27 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 27 (12 downloads)
Fedora 28 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 28 (8 downloads)
Fedora 29 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 29 (8 downloads)
Fedora rawhide i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora rawhide (3 downloads)

* Total number of packages downloaded in the last seven days.