Aller au contenu
Logo
Table des matières
VeryCloud
DocumentationServeurs de jeux

Backups Minecraft pro : Wisp Schedules + offsite avec restic

Backups Minecraft pro : Wisp Schedules + offsite avec restic

Stratégie de sauvegarde sérieuse pour un serveur Minecraft VeryCloud : automatisation panel + chiffrement + offsite avec restic. Pour les serveurs qui ne veulent pas perdre une saison entière.

Catégorie
Serveurs de jeux
Niveau
Intermédiaire
Lecture
5 min
Publication
18 mai 2026

Introduction

Un backup non testé n'est pas un backup. Un backup au même endroit que le serveur n'est qu'un demi-backup. Ce guide te donne une stratégie 3-2-1 réaliste pour Minecraft : 3 copies, 2 supports différents, 1 hors site, avec chiffrement et rotation automatique.

Prérequis

  • Un serveur Minecraft chez VeryCloud (Paper / Spigot / Fabric / Forge / Vanilla)
  • Accès panel Wisp
  • Un VPS externe ou stockage S3 / B2 pour l'offsite
  • restic installé sur le VPS externe

Étape 1 : Schedule de backup Wisp local

Premier niveau : un snapshot quotidien dans Wisp.

  1. Panel → ton serveur → Schedules
  2. Create Schedule :
    • Name : Daily backup 4 AM
    • Cron : 0 4 * * *
    • Only when online : oui
  3. Add Task :
    • Action : Create Backup
    • Backup name : daily-{date}

Garde 7 jours de profondeur (Wisp purge les vieux selon ton plan).

Étape 2 : Schedule weekly avec rétention plus longue

Crée un second schedule hebdomadaire pour garder 4 backups sur un mois sans saturer le quota.

Name : Weekly backup Sunday 5 AM
Cron : 0 5 * * 0
Task : Create Backup

Étape 3 : Le offsite — pourquoi c'est non-négociable

Tous tes backups sont dans Wisp = même infrastructure que le serveur. Si l'infra crashe (data center down, account compromise, suppression accidentelle), tu perds tout.

Solution : tirer une copie vers un autre lieu. restic est l'outil de référence : open source, dedup natif, chiffrement AES-256, multi-backend (S3, B2, SFTP, local, etc.).

Étape 4 : Installer restic sur ton VPS externe

# Debian/Ubuntu
apt update && apt install -y restic

# Vérifier la version
restic version

Étape 5 : Préparer le dépôt restic

# Variable d'environnement pour le mot de passe
export RESTIC_PASSWORD="UN_MDP_TRES_LONG_ALEATOIRE"
export RESTIC_REPOSITORY="/backups/restic-mc"
# Ou pour S3 :
# export RESTIC_REPOSITORY="s3:s3.amazonaws.com/mon-bucket"
# export AWS_ACCESS_KEY_ID=...
# export AWS_SECRET_ACCESS_KEY=...

# Initialiser le repo
restic init

⚠️ Note bien ce mot de passe ailleurs (gestionnaire de mots de passe). Sans lui, les backups sont irrécupérables. restic chiffre tout avec.

Étape 6 : Script de pull SFTP + restic

Sur ton VPS externe :

#!/bin/bash
# /usr/local/bin/mc-backup-offsite.sh
set -e

WISP_HOST="sftp.verycloud.fr"
WISP_PORT="2022"
WISP_USER="ton.user.wisp"
WISP_KEY="/root/.ssh/wisp_id_ed25519"

WORKDIR="/tmp/mc-backup-$(date +%s)"
mkdir -p "$WORKDIR"

# Pull via sftp (sshfs serait plus elegant mais bof la dependance)
sftp -i $WISP_KEY -P $WISP_PORT -r "$WISP_USER@$WISP_HOST:/world*" "$WORKDIR/"
sftp -i $WISP_KEY -P $WISP_PORT -r "$WISP_USER@$WISP_HOST:/plugins" "$WORKDIR/"
sftp -i $WISP_KEY -P $WISP_PORT "$WISP_USER@$WISP_HOST:/server.properties" "$WORKDIR/"
sftp -i $WISP_KEY -P $WISP_PORT "$WISP_USER@$WISP_HOST:/ops.json" "$WORKDIR/"
sftp -i $WISP_KEY -P $WISP_PORT "$WISP_USER@$WISP_HOST:/whitelist.json" "$WORKDIR/"

# Snapshot dans restic
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
export RESTIC_REPOSITORY="/backups/restic-mc"

restic backup "$WORKDIR" --tag minecraft --tag $(date +%F)

# Cleanup
rm -rf "$WORKDIR"

# Retention : garder 7 quotidiens, 4 weekly, 6 monthly
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

# Verification d'integrite (1x par semaine c'est suffisant)
if [ "$(date +%u)" = "7" ]; then
  restic check
fi

Mets RESTIC_PASSWORD dans /root/.restic-pass (chmod 600) pour ne pas l'exposer en env.

Étape 7 : Cron sur le VPS externe

crontab -e
# Tous les jours a 5h, apres le backup Wisp de 4h
0 5 * * * /usr/local/bin/mc-backup-offsite.sh >> /var/log/mc-backup.log 2>&1

Étape 8 : Tester une restauration

Une fois par mois :

# Lister les snapshots
restic snapshots

# Restaurer le dernier dans /tmp/test-restore
restic restore latest --target /tmp/test-restore

# Verifier
ls -la /tmp/test-restore

Si le contenu est cohérent (world/, plugins/, etc.), ta chaîne marche.

Étape 9 : Stratégie de rétention détaillée

NiveauLieuFréquenceRétention
1Wisp localQuotidien 4h7 jours
2Wisp localHebdo dimanche 5h4 semaines
3VPS externe + resticQuotidien 5h7 jours + 4 weekly + 6 monthly
4 (optionnel)S3 / B2 via resticHebdomadaire12 mois

Le niveau 4 est utile si tu veux un disaster recovery extrême (incendie du VPS externe). Coût : quelques euros/mois.

Dépannage

SFTP qui demande un mot de passe interactif

  • Génère une clé SSH (ssh-keygen -t ed25519) et upload la publique dans Wisp → Settings → SSH Keys
  • Utilise -i /root/.ssh/wisp_id_ed25519 dans sftp

restic dit "wrong password"

  • C'est probablement vrai : un caractère spécial mal échappé, un espace en début/fin
  • Vérifie cat -A /root/.restic-pass pour voir les caractères invisibles

Disque externe plein

  • restic.forget --prune libère vraiment l'espace seulement après prune
  • Augmente la rétention ou monte de stockage

Le world Minecraft est en cours d'écriture pendant le pull → corruption

  • Avant le pull, envoie une commande save-off via RCON pour stopper les écritures
  • Ou utilise plutôt les backups Wisp natifs (qui font le quiesce eux-mêmes), et ne télécharge que ces archives

Commandes utiles

# Lister les snapshots restic
restic snapshots

# Stats du depot
restic stats

# Voir la taille reelle apres dedup
restic stats --mode raw-data

# Restaurer un snapshot specifique
restic restore <snapshot-id> --target /tmp/restore

# Verifier l'integrite du depot (lent)
restic check --read-data

Conclusion

Backups Minecraft pro = Wisp pour le quotidien + restic offsite pour la résilience. restic gère le chiffrement, la dedup et la rétention automatiquement. Le coût marginal d'un VPS externe ou d'un bucket B2 (~3€/mois pour 100 Go) est ridicule comparé au prix de perdre une saison entière.

Pour aller plus loin : alerting Slack/Discord si un backup échoue, restic + healthchecks.io, deduplication entre serveurs multiples.

Ressources

Rejoignez notre serveur communautaire Discord

Pour toute question, suggestion ou simplement pour discuter avec la communauté, rejoignez-nous sur Discord !

900+Membres