This patch add a -T option to specify the absolute path of the copy tool.
You can use it to use a specially compiled copy tool, a wrapper (to submit jobs on a HPC cluster) or simply a copy tool not in the PATH.
I'm using it to wrap "rsync" with a container that bind mount a randomly chosen mountpoint to the same server:/export.
For example, I have 16 mountpoints to the same server:/mnt/src directory (or destination directory) that I want to synchronize to some destination (that could also use the same pattern)
/mnt/src00
/mnt/src01
...
/mnt/src15
And I've got an rsync wrapper that is using apptainer (http://apptainer.org/) as an indirection to select a random srcXX directory as source. Something like:
And I run:
fpsync -n 64 -m rsync -T rsync_apptainer.sh -d fpsync_shared -t fpsync_temp /mnt/src /mnt/dst/
Some underlying hardware/filer/nas architecture with multiple (nfs) head nodes in front of a parallel filesystem can leverage this sort of parallelism. Of course, your mileage may vary.
This patch add a -T option to specify the absolute path of the copy tool.
You can use it to use a specially compiled copy tool, a wrapper (to submit jobs on a HPC cluster) or simply a copy tool not in the PATH.
I'm using it to wrap "rsync" with a container that bind mount a randomly chosen mountpoint to the same server:/export.
For example, I have 16 mountpoints to the same server:/mnt/src directory (or destination directory) that I want to synchronize to some destination (that could also use the same pattern)
And I've got an rsync wrapper that is using apptainer (http://apptainer.org/) as an indirection to select a random srcXX directory as source. Something like:
And I run:
fpsync -n 64 -m rsync -T rsync_apptainer.sh -d fpsync_shared -t fpsync_temp /mnt/src /mnt/dst/
Some underlying hardware/filer/nas architecture with multiple (nfs) head nodes in front of a parallel filesystem can leverage this sort of parallelism. Of course, your mileage may vary.