What way is best for backing up apache2, mysql, cvs and webmin configuration files [closed]

My vote here for backupninja.

alt text

I think this should handle all your needs here.

This application is "a silent flower blossom death strike to lost data", and based off of rdiff-backup.

Runs quietly in the background, as any good ninja should. Has a very useful and easy setup daemon called ninjahelper.

From the Description page:

Backupninja allows you to coordinate system backups by dropping a few simple configuration files into /etc/backup.d/. Most programs you might use for making backups don't have their own configuration file format. Backupninja provides a centralized way to configure and coordinate many different backup utilities.

Features:

  • easy to read ini style configuration files.
  • you can drop in scripts to handle new types of backups.
  • backup actions can be scheduled.
  • you can choose when status report emails are mailed to you (always, on warning, on error, never).
  • console-based wizard (ninjahelper) makes it easy to create backup action configuration files.
  • passwords are never sent via the command line to helper programs.
  • in order to backup a db or sql database, you cannot simply copy database files. backupninja helps you safely export the data to a format which you can backup.
  • works with Linux-Vservers.

Backup types include:

  • secure, remote, incremental filesytem backup (via rdiff-backup). incremental data is compressed. permissions are retained even with an unpriviledged backup user.
  • basic system and hardware information.
  • encrypted remote backups (via duplicity).
  • safe backup of MySQL, PostgreSQL, OpenLDAP, and subversion databases.
  • burn CD/DVDs or create ISOs.

... I think this is going to be a lot easier for getting started than writing a custom script from scratch, though you may have to work some to get the MySQL databases.

(Plus, come on, what an awesome name?)

Screenshot of the "ninjahelper" configuration screen:

alt text


There is a package called etckeeper that can transparently keep your /etc configurations files in version control so you can easily back them up, rollback, etc.

You can then script this with whatever version control system you use to back it up wherever you want so you not only have backups of the files, but a history of every change made to them.


You could use rsnapshot. I use rsnapshot to automate remote backups of a production server, following this guide.