• This repository has been archived on 08/Jul/2020
  • Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 11 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Description

ssync is a divide-and-conquer file copying tool to multiple destination hosts. It transfers to n remote machines in log n iterations. ssync is a wrapper around the unix tool rsync. Command line arguments to ssync are identical to command line arguments for rsync with the following exceptions:

  • Must use the dummy name "remote" as the destination host, ie. "[USER@]remote:DEST".
  • Must include the option "--hosts host1 host2 host3" at end of the arguments.
  • The trailing slash is not supported in the SRC arguments
  • Contacting the rsync daemon (using :: notation) has not been tested.

Examples:

ssync -t *.h *.c remote:dest/ --hosts foo bar
ssync -avz /data/tmp remote:/dest --hosts foo bar baz quux

If any child process is killed or exits with a non-zero status code then the parent process will exit with that status code. ssync offers atomicity in case of failures at the granularity of the underlying rsync invocations. Each remote host should have observed either all of the updates or none of them.

The "--continue" command line option will allow ssync to ignore the failure to connect to a host. The script will attempt to connect to the remaining hosts in the list.