This is a nice little project, but I think rsync is better suited for any serious use. It can do ssh, it's own protocol or any connection program that would tunnel bidirectionally. It does very efficient transfer, can create off-line patch files, and basically do any one-way file/dir sync function you can think of.<p>Edit: this one is continuous and rsync is one-shot. Personally, I've been using inotify+rsync+timeout (intofy+rsync has a race condition, so limiting the inotify wait and syncing anyway is essential). Does sshync avoid the race?
These are some pretty awful scripts, to be honest. Use Unison (<a href="https://www.cis.upenn.edu/~bcpierce/unison/" rel="nofollow">https://www.cis.upenn.edu/~bcpierce/unison/</a>). Syncing is much more dangerous and difficult than people assume.
Hey.<p>I appreciate the positive response, but this is just something I put together quickly and needs a little refurbishing before it can be considered a viable alternative to something like lsyncd.<p>Top priorities right now are to get rid of ssh-client dependency and to address security concerns. I'd also like to implement file diffing.<p>Your feedback is invaluable!
See also: <a href="http://syncmaildir.sourceforge.net/" rel="nofollow">http://syncmaildir.sourceforge.net/</a><p>This is how I do my email, exim running on a DO instance and I send and receive to my laptop via ssh.
On Windows I use WinSCP, from menu "Commands\Synchronize" and "Commands\Keep Remote Directory up to Date", or from scripting "synchronize" and "keepuptodate".
Why not use the existing rsync over ssh and ssh-copy-id?<p>I think newline is valid in filenames in most *nix filesystems, so the possibility to use an alternative RS would be nice.