howto transfer all configuration between 2 remote dedicated servers?
Dag Wieers wrote:
But my real question is: How can I get a list of files in the whole
filesystem that were added or modified compared to all the files that
Is there a script for doing such a thing?
You may be interested in a tool I wrote some time ago that makes a
hardware and software snapshot of a system, including the latent
configuration in memory (like routing information or firewall rules).
It creates the snapshots in single compressed text files periodically
(hourly, daily, weekly, monthly from cron) that can be diffed. And it
allows to send out diffs to one or more email-addresses if configured to
It was written with multiple use cases in mind:
- compare identical systems (eg. nodes in a cluster, or when migrating
- mail changes to a group of co-maintaining sysadmins (so configuration
changes are communicated and if needed acted upon)
- backing up a complete system's HW/SW configuration and making diffs
with past configurations for troubleshooting problems
- taking system configurations with you (as a consultant or support
organisation it is nice to follow-up on system changes made
by the customer)
The tool is called dconf. You can find it in RPMforge.
The tool is as good as its configuration. The default configuration
already contains a lot for RHEL/CentOS, but it could use more people
defining more tools/configuration file. And I am open for improving the
tool beyond what it does now.
What I've always wanted is a tool that would manage a group of machine
configurations as branches in subversion so the tool itself wouldn't
need any diffing capability and could be wrapped by viewvc for web
browsing, mesh nicely with router and other text base config management,
etc. By 'configurations', on RPM based machines, I'd want the package
list exported in a form that yum or kickstart could use to re-create the
set (and I suppose to get this right you also have to build a local
repository containing all of them because rpm/yum are too dumb to know
where they came from, given multiple repositories), and copies of all
the files in /etc/ and other optional places that are not exactly as
installed from an RPM.
Is such a thing feasible, and if you can get that far, can it become a
'configuration factory' where you'd copy the starting config close to
what you want to a new branch, edit a few files for the needed changes
to produce a new machine, commit them, and then have a tool build that
machine or a disk image of it? What I'm after is something that will
let me make on-the-fly changes to any running machine, but pull those
changes back to a central management tool in a way that makes it easy to
see differences across time or between similar machines, and to use the
current setup of any machine as the starting point for a new one.
Most of the tools I've seen so far involve their own abstractions to
describe configurations and require them to be made at the central
management tool. That's not what I want. I want to do configurations
using the native setup on one or more machines whether or not the
management tool has an abstraction for it and have a way to use that
going forward and to track differences without any intermediate
abstractions. I suppose in a way the version control's branch/rev/tag
mechanism becomes an abstraction for the whole machine state at a point
CentOS mailing list