Size: 2858
Comment:
|
Size: 2924
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Backups at present run on [[Mollitz]], which is housed in the Arts building (off-site backups!!). | Backups at present run on [[Mollitz]], which is housed in a secret location (off-site backups!). Contact <[email protected]> if you need to know where it is living. |
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 a secret location (off-site backups!). Contact <[email protected]> if you need to know where it is living.
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.