Sauvegardes avec rsync Sauvegardes incrémentielles d'un VPS HolyCloud vers un serveur distant via SSH, avec exclusions et planification cron. ~10 min de lecture Débutant #rsync #backup #sauvegarde #ssh #cron Sauvegardes avec rsync rsync copie uniquement les fichiers modifiés depuis votre VPS Linux HolyCloud vers un autre serveur (second VPS, NAS ou machine de secours) via SSH. C'est une solution légère, sans agent propriétaire, idéale en complément des snapshots fournis dans l'espace client. Prérequis Un VPS source HolyCloud (Ubuntu 22.04/24.04 ou Debian 12) Un serveur de destination accessible en SSH (clé ou mot de passe) Espace disque suffisant sur la destination Accès sudo sur le VPS source Conseil : créez un utilisateur dédié backup sur la destination, avec accès limité au répertoire de sauvegarde. Étape 1 : installer rsync et préparer SSH Sur le VPS source et la destination : sudo apt update sudo apt install -y rsync openssh-client Générez une clé SSH dédiée aux sauvegardes (sans passphrase pour l'automatisation cron, ou avec passphrase + ssh-agent si vous préférez plus de sécurité) : sudo -u backup ssh-keygen -t ed25519 -f /home/backup/.ssh/id_backup -N "" sudo -u backup ssh-copy-id -i /home/backup/.ssh/id_backup.pub backup@IP_DESTINATION Testez la connexion : sudo -u backup ssh -i /home/backup/.ssh/id_backup backup@IP_DESTINATION "echo OK" Étape 2 : première synchronisation manuelle Créez le répertoire cible sur la destination, puis lancez un dry-run pour vérifier ce qui sera copié : sudo rsync -avzn --delete \ -e "ssh -i /home/backup/.ssh/id_backup" \ /etc/ /var/www/ /home/ \ backup@IP_DESTINATION:/srv/backups/vps-prod/ Options utiles : | Option | Rôle | |--------|------| | -a | Archive (permissions, dates, liens) | | -v | Verbose | | -z | Compression réseau | | -n | Simulation (dry-run) | | --delete | Supprime sur la destination les fichiers absents de la source | Lancez la copie réelle en retirant -n : sudo rsync -avz --delete \ -e "ssh -i /home/backup/.ssh/id_backup" \ /etc/ /var/www/ /home/ \ backup@IP_DESTINATION:/srv/backups/vps-prod/ Étape 3 : motifs d'exclusion Ne sauvegardez pas le cache système, les logs volumineux ou les montages temporaires. Créez /etc/rsync-excludes.txt : /proc/* /sys/* /dev/* /tmp/* /run/* /mnt/* /media/* /lost+found /var/cache/* /var/tmp/* *.swp *.log Utilisez-le ainsi : sudo rsync -avz --delete \ --exclude-from=/etc/rsync-excludes.txt \ -e "ssh -i /home/backup/.ssh/id_backup" \ / backup@IP_DESTINATION:/srv/backups/vps-prod-root/ Pour exclure un seul dossier sans fichier : sudo rsync -avz --exclude 'node_modules/' /var/www/monapp/ backup@IP_DESTINATION:/srv/backups/monapp/ Étape 4 : planifier avec cron Éditez la crontab root (ou de l'utilisateur backup) : sudo crontab -e Exemple : sauvegarde quotidienne à 3 h du matin, avec journalisation : 0 3 * * * /usr/bin/rsync -avz --delete --exclude-from=/etc/rsync-excludes.txt -e "ssh -i /home/backup/.ssh/id_backup -o BatchMode=yes" /etc/ /var/www/ /home/ backup@IP_DESTINATION:/srv/backups/vps-prod/ >> /var/log/rsync-backup.log 2>&1 BatchMode=yes évite qu'un job cron reste bloqué en attente de mot de passe. Vérification Comparez la taille des données : du -sh /srv/backups/vps-prod/ sur la destination Relancez un dry-run : les transferts listés doivent être minimes après la première passe Consultez /var/log/rsync-backup.log après l'exécution cron Bonnes pratiques HolyCloud Combinez rsync avec les snapshots de votre VPS dans le panel HolyCloud avant une mise à jour majeure Chiffrez les sauvegardes sensibles (gpg, stockage chiffré côté destination) Testez une restauration au moins une fois (copie inverse rsync ou extraction ciblée) Besoin d'aide ? Contactez le support HolyCloud depuis votre espace client si la synchronisation échoue (pare-feu, clés SSH, espace disque). Suite de la lecture Article précédent Réinitialiser le mot de passe root Lire Article suivant Sauvegardes chiffrées avec Borg Lire