Aller au contenu principal

Backups Pterodactyl

Guide de Sauvegarde Pterodactyl

Ce guide détaille la gestion des backups de votre serveur Pterodactyl sur RedHeberg. Les sauvegardes sont essentielles pour protéger vos données contre les incidents et simplifier les migrations.

Avertissement Important

Les fichiers supprimés sans backup sont perdus définitivement. RedHeberg ne peut pas récupérer des données non sauvegardées.

Limites de Backups selon les Plans

Les limites de backups varient selon votre VPS RedHeberg :

Plan VPSBackups InclusStockage Total
XS/START2 backups5 GB
S/PRO3 backups10 GB
M/ULTRA5 backups20 GB
L/EXTREME7 backups35 GB
XL+/TITAN+10 backups50 GB
Information

Ces limites s'appliquent à tous les serveurs Pterodactyl de votre VPS. Les anciens backups sont automatiquement supprimés quand la limite est atteinte.

Créer un Backup Manuel

Via l'Interface Pterodactyl

  1. Connectez-vous à votre panel Pterodactyl
  2. Sélectionnez le serveur à sauvegarder
  3. Naviguez vers l'onglet Backups
  4. Cliquez sur Create Backup
  5. Nommez votre backup (optionnel)
  6. Sélectionnez les fichiers à inclure/exclure
  7. Cliquez sur Start Backup

Via l'API Pterodactyl

# Variables de configuration
PANEL_URL="https://YOUR_SERVER_IP"
API_KEY="your_client_api_key"
SERVER_UUID="your_server_uuid"

# Créer un backup
curl -X POST "${PANEL_URL}/api/client/servers/${SERVER_UUID}/backups" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
-d '{
"name": "backup-manual-$(date +%Y%m%d-%H%M%S)",
"ignored": "*.log,cache/*"
}'
Optimisation des Backups

Excluez les fichiers temporaires comme les logs et caches pour réduire la taille et accélérer le processus de backup.

Restaurer un Backup

Restauration Complète

  1. Dans l'onglet Backups, localisez le backup souhaité
  2. Cliquez sur les trois pointsRestore
  3. Confirmez la restauration
Attention

La restauration supprime tous les fichiers actuels et les remplace par ceux du backup.

Restauration Sélective via SFTP

# Se connecter en SFTP à votre serveur
sftp username@YOUR_SERVER_IP

# Naviguer vers le dossier de backup
cd /var/lib/pterodactyl/volumes/your_server_uuid

# Télécharger des fichiers spécifiques depuis le backup
get backup_files/config.yml ./config.yml

# Déconnecter
quit

Télécharger un Backup

Via l'Interface Web

  1. Dans l'onglet Backups, cliquez sur le backup désiré
  2. Sélectionnez Download
  3. Le téléchargement commence automatiquement

Via la Ligne de Commande

# Variables
PANEL_URL="https://YOUR_SERVER_IP"
API_KEY="your_client_api_key"
SERVER_UUID="your_server_uuid"
BACKUP_UUID="backup_uuid"

# Obtenir l'URL de téléchargement
DOWNLOAD_URL=$(curl -s -X GET \
"${PANEL_URL}/api/client/servers/${SERVER_UUID}/backups/${BACKUP_UUID}/download" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
| jq -r '.attributes.url')

# Télécharger le backup
wget -O backup_$(date +%Y%m%d).tar.gz "$DOWNLOAD_URL"

Planification Automatique de Backups

Configuration via l'Interface

  1. Accédez à SettingsSchedules
  2. Cliquez sur Create Schedule
  3. Configurez la fréquence :
    • Minute : 0 (à l'heure pile)
    • Hour : 3 (3h du matin)
    • Day : * (tous les jours)
    • Month : * (tous les mois)
  4. Ajoutez une tâche Create Backup
  5. Activez le planning

Script de Backup Automatique

#!/bin/bash
# /root/pterodactyl_backup.sh

# Configuration
PANEL_URL="https://YOUR_SERVER_IP"
API_KEY="your_client_api_key"
SERVER_UUID="your_server_uuid"
MAX_BACKUPS=5

# Fonction de backup
create_backup() {
local backup_name="auto-backup-$(date +%Y%m%d-%H%M%S)"

curl -X POST "${PANEL_URL}/api/client/servers/${SERVER_UUID}/backups" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
-d "{
\"name\": \"${backup_name}\",
\"ignored\": \"*.log,cache/*,temp/*\"
}" > /dev/null 2>&1

if [ $? -eq 0 ]; then
echo "$(date): Backup ${backup_name} créé avec succès"
else
echo "$(date): Erreur lors de la création du backup" >&2
fi
}

# Nettoyage des anciens backups
cleanup_old_backups() {
# Cette fonction nécessiterait l'API admin pour la suppression automatique
echo "$(date): Vérification des anciens backups..."
}

# Exécution
create_backup

Ajout au Crontab

# Éditer le crontab
crontab -e

# Ajouter une ligne pour un backup quotidien à 3h
0 3 * * * /root/pterodactyl_backup.sh >> /var/log/pterodactyl_backup.log 2>&1

# Rendre le script exécutable
chmod +x /root/pterodactyl_backup.sh

Bonnes Pratiques

Stratégie de Backup 3-2-1

  • 3 copies de vos données importantes
  • 2 types de supports différents
  • 1 copie hors site (téléchargement local)

Vérification des Backups

# Script de vérification des backups récents
#!/bin/bash
PANEL_URL="https://YOUR_SERVER_IP"
API_KEY="your_client_api_key"
SERVER_UUID="your_server_uuid"

# Lister les backups récents
curl -X GET "${PANEL_URL}/api/client/servers/${SERVER_UUID}/backups" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
| jq '.data[] | {name: .attributes.name, created: .attributes.created_at, size: .attributes.bytes}'
Conseil de Sécurité

Testez