12 Backup and Restore
Joshua edited this page 2016-03-25 15:45:50 -06:00
MSCS Wiki

Index

Introduction

MSCS uses rdiff-backup to backup all of the Minecraft world servers and their data.

rdiff-backup is used because it creates incremental backups. This means backups will not grow any larger than the amount of changes that have occurred in the directory this is backed up.

rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership, modification times, extended attributes, acls, and resource forks. Also, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted. Finally, rdiff-backup is easy to use and settings have sensical defaults.

Examples on the usage of rdiff-backup: http://www.nongnu.org/rdiff-backup/examples.html

Using Backup

This is the easy part.

mscs backup <world>

Where <world> is the world to backup. Leaving <world> off will back up all worlds.

By default, backups are saved in /opt/mscs/backups.

The location backups are saved can be configured by changing BACKUP_LOCATION in mscs.conf or the mscs config file (See adjusting global server settings).

Scheduling backups

See Scheduling backups in README.md

The duration backups are kept can be configured by changing BACKUP_DURATION in mscs.conf or the mscs config file (See adjusting global server settings).

Scheduling Examples

Run the backup hourly.

# Minecraft backup worlds
0 * * * * /usr/local/bin/mscs backup

Run the backup every 2 hours.

# Minecraft backup worlds
0 */2 * * * /usr/local/bin/mscs backup

Run the backup every day at midnight.

# Minecraft backup worlds
0 0 * * * /usr/local/bin/mscs backup

Restoring From a Backup

To list the date and time of all available backups for a world named alpha:

mscs list-backups alpha

To restore a specific backup for alpha:

mscs restore-backup alpha 2015-03-25T21:15:11-06:00