Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Maybe I should start with the problem:

I work as a part-time consultant developing webpages, both back end and front end. When developing a back end application I'm using a server running ubuntu server edition to host the application while I'm developing it.

The problem comes when I want to upload my changes to the server, now I'm using Dropbox both on the client and the server, the problem is that sometimes I have to wait over a minute for the changes to be downloaded (when I'm working out-of-home that is) so I'm looking for a better alternative.

My options seems to be:

  • Some open source version of dropbox which syncs directly to my server (haven't found anyting that sounds viable though)
  • Mount my server via some protocol (NFS, SSHFS etc)
  • Push changes manually via FTP, git, svn or something else

I'd like the sync to be as transparent as possible, meaning I'd like to do as little manual work as possible.

The client I'd like to connect runs either OSX or Ubuntu.

The ultimate solution would be to use NFS + VPN though that would be alot of work to set up and also I don't like the security in NFS (matching UID's doesn't seem very secure to me)

So, what do you think? Do I have more options?

Regards Nicklas

share|improve this question

I would use git as a source control management system to handle this task. You should use it anyway when coding. Just install the client also on the server and as soon you have a stable version, pull it.

Note: I would not consider an automatic sync solution because you want to sync only stable versions.

There is a CLI version of dropbox available:

share|improve this answer
The problem with this solution is testing, the server I wan't to sync it with is the test server which has the databases and such for testing. This meaning I'll have to commit a lot which would be quite time consuming – Nicklas Ansman Oct 17 '10 at 18:41
not quite sure what you mean with "I'll have to commit a lot which would be quite time consuming" -> git is lightening fast ;) – udo Oct 17 '10 at 18:50
Do a cron job that runs every minute pulling changes from the repository. – Wuffers Oct 17 '10 at 19:33
What I ment was that if I want to test something while I'm coding I might have to save a few times a minute, seems like a lot of work with git – Nicklas Ansman Oct 17 '10 at 20:18
I'm already using the CLI version of dropbox on my server but as I stated it's too slow. – Nicklas Ansman Oct 17 '10 at 21:30

rsync triggered by incron (or whatever the OS X equivalent of such may be).

share|improve this answer
You don't happen to know any existing project which aims to implement this as a cross platform solution? – Nicklas Ansman Oct 17 '10 at 18:32
I do not. I don't even know of any cross-platform solution for watching files, other than maybe gamin. – Ignacio Vazquez-Abrams Oct 17 '10 at 18:36
Otherwise seems to be a good alternative, seems to be cross platform. – Nicklas Ansman Oct 17 '10 at 18:45
As soon as something says "inotify", it's not cross-platform. – Ignacio Vazquez-Abrams Oct 17 '10 at 18:49
Oh, ofc not. Must have missed that :) – Nicklas Ansman Oct 17 '10 at 18:51
up vote 0 down vote accepted

I went with AFP+Bonjour, now I just have to set up VPN :)

Great article about setting up Netatalk + Avahi:

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .