Backup / Restore

Backup

Backups are quite handy in various situations. The more obvious one is a crash for example. But it might also be useful for migrations from an old platform to a new one.

With OMD

Creating a backup is as simple as running:

    %> OMD[example]:~$ omd backup /tmp/site_test_backup.tgz

This command creates a tarball containing the site itself along with some meta information which is required to restore this backup even into a different OMD version.

Meta information have been added in OMD-Labs versions 2.40 or later. If you want to create a complete backup with an older release, read the next section on how to create a backup manually.

Manually

You can also create a backup manually. The backup format has been changed with OMD-Labs 2.40, so if you want to create a backup for an older release, you can use the following command as site user:

    OMD[example]:~$ cd /omd/sites/ && \
                    tar cfz /tmp/$OMD_SITE.backup.tgz \
                        $OMD_SITE/version \
                        $OMD_SITE/version/skel \
                        $OMD_SITE/share/omd/skel.permissions \
                        $OMD_SITE

You can restore such backup with any OMD-Labs starting with version 2.40.

Git

Just a side note, but it is a good idea to put all configuration informations and user-developed plugins into version control. OMD-Labs is prepared for Git. So you can just run

    OMD[example]:~$ git init
    OMD[example]:~$ git add .
    OMD[example]:~$ git commit -v -m 'initial commit'

to put all files into git version control. There is a .gitignore file in the site which excludes all databases, logfile or rrd files.

Restore

A backup without being able to restore it is useless, so always test and try to recover from a backup (ex. on a fresh test virtual machine).

There are basically two variants:

- restoring backup onto a new machine
- restoring backup into existing site

Restore onto a new machine

Restoring a backup onto a new machine requires you to install OMD-Labs on the new machine. It’s a good choice to install the same OMD version which the backed up site had, but thats not a strict requirement. At least not for backups created with OMD 2.40 and later.

The restore can be started as root user with this command.

    #> omd restore /tmp/site_test_backup.tgz

If the old omd version is not installed on the new machine, the restore will automatically do an update of the site to the currently installed omd.

Restoring backup into existing site

A restore into a existing site deletes all files in this site and replaces them from the backup. The command is the same as for new machines, except start the restore from within the site itself.

    OMD[example]:~$ omd restore /tmp/site_test_backup.tgz

Platform Migration and OS-Upgrades

A special case are os upgrades and platform migrations, for example from centos 6 to centos 7. Or even from ex. centos 6 to debian. If you just sync the site over to the new machine, config files will still point to centos 6 locations. So it is better to do a omd backup on the old machine and a omd restore on the new machine. This will not only restore the old site, but will also update all config files to match the new platform. If its an older OMD release, create the backup manually like described earlier.