LazyWeb: Fast Secure and Transparent Remote File Sync?
I have two computers I want to have synchronized.
I know I can use rsync. I know I can use scp.
The problem is that SSH in general has too high of a connection latency. It takes 1-15 seconds to tranfer a 1k file.
This might not sound like much but over the lifetime of an application it really add up.
What I want is an app that runs in the background any everytime I save a file to disk it will sync the disk to the remote target machine.
This would need to happen FAST so I can just forget about syncing altogether. This means that the connection latency would need to be near zero. This either means caching the SSH connection auth credentials or just keeping open an sftp connection to the remote host.
It would then sync up my .php files. The only other problem is my .java files but I can use jikes on teh remote end to recompile real quick and my app only needs 1sec or so to respond.
I have yet to find anything that solves this problem. Any ideas?
I remembered I had made an old attempt at doing this directly within Emacs. After a file is saved I ran a command to scp over the modified file. The problem was that scp was taking too long so I gave up.
Now I just updated my script to support sftp and it's really fast. I can save a file in Emacs and then load the page directly in my browser. No lag. The sftp process is already queued and ready to go so it's faster than my hands trying to grab for my browser.
Now I just have to configure it to sync another directory (.java files) and maybe have it automatically run commands (rebuild/restart).
There's already a version of this for Emacs called mirror.el. I'll need to play with it some as my current script seems to try to go a bit farther than mirror.el and I have more advanced requirements for my sync support.
That said though I'm super lazy and hate reinventing the wheel.