fpsync

parallel rsync synchronization tool

TLDR

Sync directories
$ fpsync [source/] [destination/]
Set number of jobs
$ fpsync -n [4] [source/] [destination/]
Set partition size
$ fpsync -f [1000] [source/] [destination/]
Verbose output
$ fpsync -v [source/] [destination/]
Resume sync
$ fpsync -r [work_dir] [source/] [destination/]

SYNOPSIS

fpsync [options] source destination

DESCRIPTION

fpsync performs parallel rsync synchronization by partitioning source files and running multiple rsync processes. It achieves higher throughput than single rsync for large transfers.The tool divides the source into chunks and launches parallel rsync jobs. Resume capability allows continuing interrupted transfers. It's part of the fpart project.fpsync optimizes large file transfers by maximizing bandwidth utilization through parallelism.

PARAMETERS

SOURCE

Source directory.
DESTINATION
Destination directory.
-n JOBS
Number of concurrent sync jobs (default 2).
-f FILES
Maximum number of files per partition (default 2000).
-s SIZE
Maximum partition size in bytes (default 4096×1024).
-v
Verbose output (repeat for more verbosity).
-r DIR
Resume a previous run from the given work directory.
-w DIR
Work directory to store partition and log files.
-t DIR
Temporary directory.
-o OPTS
Extra options passed to the underlying sync tool (e.g. rsync).
-O OPTS
Extra options passed to fpart.
-m TOOL
Sync tool to use: rsync, cpio, or tar.
-d DIR
Shared work directory for distributed mode (sudo/ssh).
-q
Queue mode: produce partitions without syncing.
-l
Use lstat instead of stat while partitioning.
-h
Display help information.
-V
Display version information.

INSTALL

sudo apt install fpart
sudo dnf install fpart
brew install fpart
nix profile install nixpkgs#fpart

CAVEATS

Requires rsync installed. Parallel transfers may overwhelm network or disk. Small files may not benefit.

HISTORY

fpsync is part of fpart, a file partitioning tool for parallel operations. It addresses rsync's single-threaded limitation for large-scale file synchronization.

SEE ALSO

rsync(1), parallel(1), cpio(1), tar(1)