260320-Mise en place de la sauvegarde backup des bases de données du VPS
C'est noté. On va droit à l'essentiel pour que tu puisses copier-coller ce "manuel de survie" dans tes notes. Voici la synthèse technique de ta configuration de sauvegarde VPS Alteris → NAS Synology.
🛠️ 1. Côté VPS (Préparation des données)
Installation du moteur :
sudo apt update && sudo apt install rsync -y
Script de backup SQL (/usr/local/bin/docker_db_backup.sh) :
#!/bin/bash
# --- CONFIGURATION ---
BACKUP_DIR="/backups/sql"
DATE=$(date +%Y-%m-%d)
mkdir -p $BACKUP_DIR
echo "--- Début du backup global : $(date) ---"
# 1. Backup Bookstack (MariaDB) - OK (Utilisateur dédié)
echo "📦 Sauvegarde Bookstack..."
docker exec bookstack_db /usr/bin/mariadb-dump -u bookstack -p'260202ALTERIS!' bookstackapp --single-transaction --quick | gzip > $BACKUP_DIR/bookstack_db_$DATE.sql.gz
# 2. Backup FreshRSS (PostgreSQL) - OK
echo "🐘 Sauvegarde FreshRSS..."
PG_USER_FRESH=$(docker exec freshrss-db printenv POSTGRES_USER || echo "postgres")
docker exec freshrss-db pg_dumpall -U $PG_USER_FRESH | gzip > $BACKUP_DIR/freshrss-db_$DATE.sql.gz
# 3. Backup Alteris PostGIS (PostgreSQL) - OK
echo "🐘 Sauvegarde Alteris PostGIS..."
PG_USER_ALT=$(docker exec alteris_postgis printenv POSTGRES_USER || echo "postgres")
docker exec alteris_postgis pg_dumpall -U $PG_USER_ALT | gzip > $BACKUP_DIR/alteris_postgis_$DATE.sql.gz
# --- PERMISSIONS ET NETTOYAGE ---
# On donne les droits à l'utilisateur du NAS
chown -R synobackup:synobackup $BACKUP_DIR
chmod -R 644 $BACKUP_DIR/*.gz
# Nettoyage : On ne garde que le fichier du jour sur le VPS
find $BACKUP_DIR -type f -mtime +0 -name "*.sql.gz" -not -name "*$DATE*" -delete
echo "--- Fin du backup global : $(date) ---"
Note : chmod +x /usr/local/bin/docker_db_backup.sh pour l'activer.
Automatisation (Crontab sudo crontab -e) :
0 2 * * * /usr/local/bin/docker_db_backup.sh
🔑 2. Côté NAS (La liaison SSH sécurisée)
Génération de la clé compatible Synology (sur le NAS) :
# Création de la clé RSA format PEM
openssl genrsa -out ~/.ssh/id_rsa_syno 4096
chmod 600 ~/.ssh/id_rsa_syno
# Extraction de la clé publique
ssh-keygen -y -f ~/.ssh/id_rsa_syno > ~/.ssh/id_rsa_syno.pub
# Envoi de la clé au VPS (mot de passe synobackup demandé)
cat ~/.ssh/id_rsa_syno.pub | ssh synobackup@79.137.14.202 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Récupération de la clé privée pour l'interface DSM :
cat ~/.ssh/id_rsa_syno
(Copier le bloc -----BEGIN RSA PRIVATE KEY----- vers un fichier backup.pem sur ton PC).
🎡 3. Configuration Active Backup (Interface DSM)
| Paramètre | Valeur |
| Service | Serveur de fichiers > rsync > rsync shell |
| Hôte / Port | 79.137.14.202 / 22 |
| Utilisateur | synobackup |
| Authentification | Clé privée (Charger backup.pem) |
| Dossier Source 1 | /backups/sql (Les bases de données) |
| Dossier Source 2 | /home (Les configs et Dockerfiles) |
| Planification | Quotidien à 04:00 |
| Rétention | Multi-version (7 jours minimum) |
✅ Ce qui est maintenant "Automatique" :
-
02h00 : Le VPS crée les fichiers SQL compressés.
-
04h00 : Le NAS se connecte sans mot de passe, compare les fichiers et télécharge uniquement les nouveautés.
-
Sécurité : Si ton VPS brûle, tu as les bases ET les fichiers de config chez toi.
Est-ce que tu veux que je te génère aussi la commande pour tester la restauration d'une base sur ton VPS en cas de besoin ?
No comments to display
No comments to display