0

we´re having two exactly same VM Ubuntu 12.04 Servers. One is used for development, the other as live server. When new developments are accepted by the client changes have to be transfered to the live server by ftp (which can cause a lot of mess) or by rsync. Further if there´re linux updates. We´re testing them on the one and redo the steps on the live servers.

this all causes a lot of work and seems not to be bulletproof.

What´s a good way to keep servers synced? How do you keep your servers synced? Let´s say I want all Linux packages, (without network settings -> static Ips), and dirs like /mnt /home /var/www synced?

Thanks,

t book

Anatol
  • 349
  • 2
  • 6
  • 19
  • 2
    **Configuration Management**. It is the way of the future. – Zoredache Mar 06 '14 at 21:39
  • There can (and were) books be written about each of these topics, it is not a simple do this or do that answer. To get you started: use a configuration management system, package your apps and create a mirror of your OS updates. – faker Mar 06 '14 at 21:45

2 Answers2

4

My solution would be to use something like Chef/Puppet/Salt. That gives you full package control in the OS, as well as full code revisioning.

When you combine it with something like Git/SVN, you can roll an exact clone of your development machine to production, as well as update whatever is there, and roll back easily.

Couradical
  • 376
  • 1
  • 6
1

To sync code my option would a vcs like git or subversion. There are many strategies to do this. The simplest would commit changes to de repo in devel machine and pull changes from repo in prod machine.

If something wrong happens, you can get the old version of code with a simple command.

icalvete
  • 141
  • 10