Shell-Tools für Backups einer einzelnen Minecraft-Instanz auf Linux mit Remote-Speicher über rclone.
Die Skripte erstellen ein laufendes Live-Backup, laden das Archiv in ein rclone-Remote hoch, verifizieren die hochgeladenen Begleitdateien gegen den Remote-Inhalt, verhindern kollidierende Schreibläufe per Lockdatei, entfernen lokale Temp-Dateien wieder und können ein Backup später direkt vom Remote zurückspielen. Beim Restore wird die heruntergeladene Datei zusätzlich gegen die Remote-.sha256 geprüft, bevor Inhalte im Zielverzeichnis überschrieben werden.
Das Backup wird als Benutzer minecraft orchestriert. Nur der feste, root-eigene Archive-Reader läuft über eine eingeschränkte sudo-Regel als Instanzbenutzer (zum Beispiel mc1), damit auch von Folia mit Modus 0600 neu angelegte Dateien wie world/level.dat vollständig gesichert werden. Kompression, Checksummen, Metadaten, rclone, Retention, Logging und Cron bleiben im Kontext von minecraft.
Nach der Einrichtung von rclone fuer den Backup-Benutzer startet ein Assistent die komplette lokale Installation:
sudo bash scripts/install.shDer Installer fragt Instanzpfad, Benutzer und Remote-Ziel ab, installiert das Projekt root-eigen unter /opt/minecraft-backup-tools, erzeugt Konfiguration und sudoers-Regel, richtet Temp- und Log-Verzeichnisse ein und prueft die passwortlose Reader-Kette. Optional richtet er Cron ein und fuehrt den vollstaendigen Dry-Run aus. Vorhandene Zielkonfigurationen werden ohne ausdrueckliches --force nicht ersetzt.
-
Beispielkonfiguration kopieren:
cp config/minecraft-backup.conf.example config/minecraft-backup.conf
-
rcloneinstallieren und einen Remote einrichten:Siehe docs/rclone-einrichtung.md.
-
Reader root-eigen installieren und für
minecraft -> mc1insudoersfreigeben:sudo install -o root -g root -m 755 \ scripts/archive-reader.sh \ /usr/local/sbin/minecraft-backup-reader sudo visudo -f /etc/sudoers.d/minecraft-backup # Inhalt: minecraft ALL=(mc1) NOPASSWD: /usr/local/sbin/minecraft-backup-reader sudo chmod 440 /etc/sudoers.d/minecraft-backup sudo visudo -cf /etc/sudoers.d/minecraft-backup -
Backup starten:
chmod +x scripts/backup.sh scripts/recovery.sh ./scripts/backup.sh --config ./config/minecraft-backup.conf
-
Verfügbare Backups anzeigen:
./scripts/recovery.sh --config ./config/minecraft-backup.conf --list
backup-tools/
config/
minecraft-backup.conf.example
docs/
projektdokumentation.md
rclone-einrichtung.md
lib/
*.sh
scripts/
archive-reader.sh
backup.sh
install.sh
recovery.sh