Good Day,

I'm a web developer and I have two computers, laptop with Windows 7 installed on it and PC with CentOS 5.5.

Recently I'm developing quite big website for a client and I really can't stand manual copying files and MySQL databases. You may think it's a silly solution but it was enough for me.

When I'm out of my home, I'm working on Win based laptop, when I'm in home, I'm working on CentOS PC. Usually, I was copying manually files and SQL dumps. Now, I can't stand it anymore.

Is anybody able to recommend a solution to synchronize two environments automatically?

To answer your eventual questions: yes, I hate developing on Windows but I can do nothing with it. I'm stuck with Win on laptop because of Photoshop and few other tools.

Regards, Piotr


Sounds like a job for a version control system. You should really be using one anyway.

So read up a bit on subversion and/or git, and start keeping your code under version control.

If you were to use subversion, you'd set up a repository on your CentOS box, and check out working copies from there.

Not only will this keep your code in sync, it will keep a nice history of changes, and allow you to do any number of other wonderous things.

For keeping track on SQL databases, you're probably stuck creating & loading dumpfiles, but that's not the end of the world once your code is under control.

|improve this answer|||||
  • +1, also, found this: tsqldev.com (SQL Version Control) – Grizly Sep 3 '10 at 5:13

Assuming file images are portable, then rather than messing around with rsync / unison / etc I'd just set up an afs drive

|improve this answer|||||

(I can't comment on tim's post so I'm posting as an answer) If you're doing disconnected development, since you noted the use of your laptop, I would favor git over subversion due it being a Distributed Version Control System allowing full local use whereas subversion (assuming the repository is not on your laptop) you would not be able to commit.

|improve this answer|||||

For MySQL, can you run the mysql in a central location, such as a hosted VPS, and then remotely connect to it? I know a number of developers that use VPS.net for this type of purpose because it is inexpensive $20/mo and you can scale it up and down as needed for testing.

Otherwise, I think git or some time of distributed VCS will be best.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy