Differences between revisions 1 and 2
Revision 1 as of 2013-03-03 14:03:12
Size: 2769
Editor: ppp121-45-225-193
Comment:
Revision 2 as of 2013-03-05 19:17:49
Size: 2858
Editor: proxyserver
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * Make sure the UCC backup key is installed (e.g. with authroot) -  * Make sure the UCC backup key is installed (e.g. with authroot)
Line 16: Line 16:
 * Add the SSH host key using `su -c 'ssh-keyscan HOSTNAME >> ~/.ssh/known_hosts' backups`

Traditionally, the UCC's backup system has left much to be desired, such as "existing" or "running on reliable hardware".

Backups at present run on Mollitz, which is housed in the Arts building (off-site backups!!).

Backups are run using rdiff-backup, a disk-based incremental backup system. These are managed by rdiff-manager, a Python wrapper written by DavidAdam.

Adding new machines

On the target system (the machine you want to back up):

  • Make sure the UCC backup key is installed (e.g. with authroot)
  • Install rdiff-backup packages.

On the backup server (mollitz):

  • Copy /backups/conf/default to /backups/conf/<HOSTNAME>.conf

  • Edit /backups/conf/<HOSTNAME>.conf as required - the syntax is documented in rdiff-backup(1) under FILE SELECTION

  • Add the SSH host key using su -c 'ssh-keyscan HOSTNAME >> ~/.ssh/known_hosts' backups

Now wait until the nightly backup run. The output is sent to hostmasters.

Checking backup status

To list all the backups available for a particular host, on the backup server (Mollitz):

  • Run rdiff-backup --list-increments /backups/<HOSTNAME>

Restoring a backup

To restore files from backup, on the backup server (Mollitz):

  • Run rdiff-backup --list-increments /backups/<HOSTNAME> and choose a backup to restore from.

  • Copy the timestamp from the increment list - 2013-02-22T02:00:03+08:00

  • Decide where you are going to restore the files - locally (i.e. to Mollitz), where you can inspect them, or back to the remote host.

Restoring files locally

  • Run mkdir /backups/restored/<HOSTNAME>

  • Run rdiff-backup --restore <TIMESTAMP> /backups/<HOSTNAME>/path/to/file-or-directory/you/want/to/restore /backups/restore/<HOSTNAME>

For example, using rdiff-backup -r  2013-02-22T02:00:03+08:00 /backups/merlo/etc /backups/restored/merlo will restore the contents of merlo's /etc/ directory as at 22/2/13 to /backups/restored/merlo.

Restoring files remotely

/!\ Be careful - this is easy to mess up, particularly if you are trying to restore to the original path. Note the double-colons in the restore path!

  • Run rdiff-backup --restore <TIMESTAMP> /backups/<HOSTNAME>/path/to/file-or-directory/you/want/to/restore root@<HOSTNAME>::/path/to/file-or-directory/you/want/to/restore

For example, rdiff-backup -r  2013-02-22T02:00:03+08:00 /backups/merlo/etc merlo::/restored/etc will restore the contents of merlo's /etc/ directory as at 22/2/13 to /restored/etc on Merlo.

Improvements to rdiff-manager

rdiff-manager is pretty simple but there is plenty of room for improvement. Check the TODO file in the distribution for ideas.


CategorySystemAdministration