synqa
Synqa is a simple file syncing tool that works over SSH, and is designed primarily for maintaining static websites. It uses a secure hash function to determine which files don’t need to be copied because the destination copy is already identical to the source copy.
It is available as a Ruby gem.
I wrote synqa for two main reasons:
-
I couldn’t get rsync to work on the combination of Cygwin and my hosting provider, and the rsync error messages were not very informative.
-
It was an opportunity to learn about SSH and how to use SSH and SCP with Ruby.
Installation
gem install synqa
Dependencies of synqa are:
-
Ruby 1.9.2
-
Ruby gems net-ssh and net-scp
Optionally:
-
An external SSH client. I use plink.
-
An external SCP client. I use pscp.
For some sample code, see examples/synga-useage.rb and examples/sample-rakefile.
Licence
Synqa is licensed under the GNU General Public License version 3.
Notes and Issues
-
Synqa has not been tested (or even designed to work) with file names containing whitespace or non-ASCII characters. Typically this doesn’t matter for many static websites, but it will reduce the tool’s usefulness as a general purpose backup tool.
-
Currently Synqa does not provide authentication options, on the assumption that you will use Pageant (which automagically provides “presented” keys for specified user/host combinations).