Game Server Backup Planner
Plan your game server backup strategy. Choose your frequency, retention period, and storage type — get a cron expression, storage estimate, retention policy, and ready-to-paste bash scripts.
Quick Presets
Minimal = once/day, 7-day, gzip • Standard = every 6hrs, 14-day, gzip • Hardcore = hourly, 30-day, zstd • Competition = every 2hrs, 60-day, zstd
Configuration
Save path: ~/server/world/
Cron Schedule
0 */6 * * *
Runs every 6 hours at midnight, 6 AM, noon, and 6 PM UTC.
Full crontab -e line
0 */6 * * * /home/steam/backup_minecraft.sh >> /var/log/backup.log 2>&1Storage Estimate
| Single backup size (after compression) | 1.17 GB |
| Backups per day | 4× |
| Total backups retained | 56 |
| Total storage needed | 65.6 GB |
| Rolling 7-day storage | 32.8 GB |
| Rolling 30-day storage | 65.6 GB |
Recommended Retention Policy
This 3-2-1 style policy keeps granular recent backups for quick recovery, daily snapshots for rollbacks, and weekly archives for disaster recovery.
Backup Script
#!/bin/bash
# Minecraft Backup Script — Local Disk
# Generated by DustBowl.Games Backup Planner
# Schedule: 0 */6 * * * | Retention: 14 days
set -euo pipefail
SAVE_DIR="~/server/world/"
BACKUP_DIR="/backups/gameserver"
RETENTION_DAYS=14
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
ARCHIVE_NAME="minecraft_${TIMESTAMP}
.tar.gz"
mkdir -p "$BACKUP_DIR"
echo "[$(date)] Starting backup of $SAVE_DIR"
tar -czf "$BACKUP_DIR/$ARCHIVE_NAME" -C "$(dirname "$SAVE_DIR")" "$(basename "$SAVE_DIR")"
# Remove backups older than retention period
find "$BACKUP_DIR" -name "minecraft_*.tar*" -mtime +$RETENTION_DAYS -delete
echo "[$(date)] Backup complete: $BACKUP_DIR/$ARCHIVE_NAME"
Save path: ~/server/world/
