Aller au contenu principal
Gaprod

Sauvegarder votre VPS

Mettez en place une stratégie de sauvegarde complète pour votre VPS avec les snapshots Gaprod, rsync et les scripts automatisés.

Mis à jour le 10 janvier 2026

Stratégie de sauvegarde pour un VPS

Contrairement à l'hébergement mutualisé, la responsabilité des sauvegardes incombe davantage à l'administrateur du VPS. Gaprod propose des snapshots optionnels, mais il est fortement recommandé de mettre en place vos propres sauvegardes.

Une bonne stratégie de sauvegarde VPS combine :

  1. Snapshots : instantanés de l'ensemble du système (facile à restaurer, pratique)
  2. Sauvegardes de fichiers : copie des données importantes vers un emplacement externe
  3. Sauvegardes de bases de données : export SQL régulier de vos bases de données

Méthode 1 : Snapshots depuis l'espace client Gaprod

Les snapshots sont des copies complètes de l'état de votre VPS à un instant précis.

  1. Accéder à la gestion des snapshots

    Connectez-vous à votre espace client Gaprod sur gaprod.fr. Sélectionnez votre VPS dans la liste des services.

  2. Créer un snapshot

    Dans la gestion de votre VPS, trouvez l'option Snapshot ou Sauvegarde. Cliquez sur Créer un snapshot ou Prendre un instantané.

    Donnez un nom descriptif au snapshot (ex. : "avant-migration-2026-02-25"). La création peut prendre quelques minutes selon la taille du disque.

  3. Restaurer depuis un snapshot

    En cas de problème, retournez dans la gestion du VPS et sélectionnez le snapshot à restaurer. Cliquez sur Restaurer. Attention : cela remplace l'état actuel du VPS par celui du snapshot.

Snapshots et sauvegardes planifiées

Consultez votre espace client pour vérifier si des sauvegardes automatiques sont incluses dans votre offre VPS. Gaprod propose des options de sauvegarde hebdomadaire ou quotidienne selon les formules.

Méthode 2 : Sauvegardes de fichiers avec rsync

rsync est l'outil de synchronisation de fichiers de référence sous Linux. Il transfère uniquement les fichiers modifiés (incrémental), ce qui est très efficace.

Sauvegarder vers un serveur distant

rsync -avz --delete \
  /var/www/ \
  utilisateur@serveur-backup.fr:/backup/vps/www/

Explication des options :

  • -a : mode archive (préserve permissions, dates, liens symboliques)
  • -v : verbeux (affiche les fichiers transférés)
  • -z : compression pendant le transfert
  • --delete : supprime du backup les fichiers supprimés de la source

Sauvegarder localement sur un disque externe

Si votre VPS dispose d'un volume de stockage supplémentaire :

rsync -av /var/www/ /mnt/backup/www/

Méthode 3 : Sauvegardes de bases de données MySQL

Sauvegarde quotidienne automatisée

Créez un script de sauvegarde :

sudo nano /usr/local/bin/backup-mysql.sh

Contenu du script :

#!/bin/bash

# Configuration
BACKUP_DIR="/var/backups/mysql"
DATE=$(date +%Y-%m-%d_%H-%M)
MYSQL_USER="root"
MYSQL_PASSWORD="votre_mot_de_passe"
RETENTION_DAYS=14

# Créer le répertoire de sauvegarde
mkdir -p "$BACKUP_DIR"

# Sauvegarder toutes les bases de données
mysqldump -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" \
  --all-databases \
  --single-transaction \
  --routines \
  --triggers \
  | gzip > "$BACKUP_DIR/all-databases_$DATE.sql.gz"

# Supprimer les sauvegardes plus anciennes que RETENTION_DAYS jours
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +$RETENTION_DAYS -delete

echo "Sauvegarde MySQL terminée : $BACKUP_DIR/all-databases_$DATE.sql.gz"

Rendez le script exécutable et testez-le :

sudo chmod +x /usr/local/bin/backup-mysql.sh
sudo /usr/local/bin/backup-mysql.sh

Automatiser avec une tâche Cron

sudo crontab -e

Ajoutez une ligne pour déclencher la sauvegarde tous les jours à 3h00 :

0 3 * * * /usr/local/bin/backup-mysql.sh >> /var/log/backup-mysql.log 2>&1

Méthode 4 : Script de sauvegarde complet

Voici un script de sauvegarde complet qui sauvegarde les fichiers web ET les bases de données, puis les envoie vers un serveur distant :

#!/bin/bash

# Configuration
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_LOCAL="/var/backups/vps"
REMOTE_USER="backup"
REMOTE_HOST="backup-server.fr"
REMOTE_PATH="/backups/mon-vps"
RETENTION_DAYS=7

# Répertoires à sauvegarder
WEB_DIR="/var/www"
CONF_DIR="/etc/nginx"

mkdir -p "$BACKUP_LOCAL"

# Sauvegarder les fichiers web
tar -czf "$BACKUP_LOCAL/www_$DATE.tar.gz" "$WEB_DIR"

# Sauvegarder la configuration Nginx
tar -czf "$BACKUP_LOCAL/nginx_$DATE.tar.gz" "$CONF_DIR"

# Sauvegarder les bases de données MySQL
mysqldump --all-databases --single-transaction | \
  gzip > "$BACKUP_LOCAL/databases_$DATE.sql.gz"

# Envoyer vers le serveur distant
rsync -avz "$BACKUP_LOCAL/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH/"

# Nettoyer les anciennes sauvegardes locales
find "$BACKUP_LOCAL" -mtime +$RETENTION_DAYS -delete

echo "Sauvegarde complète terminée : $DATE"

Envoyer les sauvegardes vers un stockage cloud

Avec rclone (Backblaze B2, Google Drive, S3...)

rclone est un outil puissant pour synchroniser des fichiers avec des dizaines de services cloud :

sudo apt install rclone
rclone config

Suivez l'assistant pour configurer votre service cloud préféré. Ensuite, synchronisez vos sauvegardes :

rclone copy /var/backups/vps/ remote:nom-du-bucket/mon-vps/

Ajoutez cette commande à votre script de sauvegarde ou à une tâche Cron.

Tester la restauration

Testez régulièrement vos sauvegardes

Une sauvegarde non testée n'est pas fiable. Planifiez des tests de restauration trimestriels sur un VPS de test pour vous assurer que vos sauvegardes sont complètes et fonctionnelles.

Restaurer une base de données MySQL

# Décompresser le fichier
gunzip databases_2026-02-25_03-00.sql.gz

# Importer dans MySQL
mysql -u root -p < databases_2026-02-25_03-00.sql

Restaurer des fichiers web

# Décompresser dans un répertoire temporaire
tar -xzf www_2026-02-25_03-00.tar.gz -C /tmp/restore/

# Vérifier les fichiers restaurés
ls /tmp/restore/var/www/

# Copier vers la destination
rsync -av /tmp/restore/var/www/ /var/www/

Étapes suivantes

  • Configurer la surveillance de votre VPS avec des alertes
  • Documenter votre procédure de reprise après incident
  • Mettre en place un second VPS comme serveur de sauvegarde

Besoin d'aide supplémentaire ?

Notre support technique est disponible du lundi au vendredi pour répondre à vos questions.