I wanted to outline here once how our backup system works right now so you know what is being done and what you can expect in case of a crash but also to get input in case someone with server maintenance experience wants to share possibilities for improvement.
- We are running all limited-size world on a RAMdisk. Nether and Darklands are not. They are just too big for that. We are copying changes to the ramdisk to a save-folder with rsync to the normal disk every 5 minutes. If there is any issue (server crashes, system powers down), we should have 5 minutes loss maximum. On hardware restarts, the RAMDisk is built from these saves.
- Every day once, I stop auto-saves on the MC server, copy all changed files with rsync to a mirror folder on a second hard drive and continue saving afterwards. This prevents us from issues where the main HD fails.
- Every day we zip this mirror on the same 2ndary HD and store the archive in folders numbered 1-31 depending on the day of the month. Like that I keep always the last 31 days as a backup. Same happens with the databases.
- Every week we zip the folders on top of that in folders numbered 1-52 depending on the number of the week. This way, in case we can track back an issue to originate further back than one month, we have weekly backups for one year. Same happens with the databases.
- On top of that, I have a crashplan subscription which makes off-site backups to a cloud server of the daily databases and the weekly file mirrors of the drives. I had this subscription already to backup my photos to a secure location so no extra costs there. This is newly setup for minecraft since I did not know that I can install the crashplan client on a headless linux server.
- Nether and darklands are neither mirrored nor backed up. The nether is now 2.6GB and the darklands 2.3GB which is together larger than all the rest of the files (5.4 GB). Given that we delete those from time to time, there was never a backup and there won’t be one.
So if anyone has some more suggestions on how to improve the system, I am happy for feedback. Finally I am not a learned sysadmin and still learn with every crash :)