
Créer une sauvegarde automatique de vos fichiers avec rsync
Un accident arrive vite ! Disque défectueux, erreur
de manipulation, ransomware … Mettre en place une sauvegarde
incrémentale et automatique avec rsync
vous
garantit de pouvoir restaurer vos données en quelques minutes
— sans dépendre d’outils propriétaires.
rsync
est inclus sur la plupart des distributions Linux et
macOS. Sa magie : transférer uniquement les blocs modifiés, chiffrer
la connexion via SSH et conserver plusieurs versions grâce aux liens
durs. Ci‑dessous, un tutoriel complet pour backup / restore
en tâche planifiée.
- Installer rsync & ouvrir la clé SSH
Sur la machine d’origine :
sudo apt install rsync
oudnf install rsync
Générez une clé Ed25519 sans passphrase :
ssh-keygen -t ed25519 -C "backup@host"
Copiez‑la vers le serveur :
ssh-copy-id user@backup‑server
- Créer le script de sauvegarde
Rendez‑le exécutable :#!/usr/bin/env bash # /usr/local/bin/rsync-backup.sh SRC="/home/www" DEST="user@backup-server:/backups/$(hostname)" RSYNC_OPTS="-avz --delete --delete-excluded \ --link-dest=$DEST/latest \ --exclude='.cache/' --exclude='*.tmp'" # Dossier daté pour l'incrémental TODAY=$(date +%F_%H-%M) ssh user@backup-server "mkdir -p $DEST/$TODAY" rsync $RSYNC_OPTS "$SRC/" "$DEST/$TODAY/" # Met à jour le lien 'latest' ssh user@backup-server "ln -sfn $DEST/$TODAY $DEST/latest"
chmod +x /usr/local/bin/rsync-backup.sh
- Planifier la tâche avec cron
crontab -e
0 3 * * * /usr/local/bin/rsync-backup.sh >> /var/log/rsync-backup.log 2>&1
→ un backup quotidien à 03 h, loggé pour audit. - Limiter la rétention
Ajoutez‑le à cron (hebdomadaire) pour libérer l’espace disque.# /usr/local/bin/rsync-prune.sh KEEP_DAYS=14 ssh user@backup-server "find /backups/$(hostname) -maxdepth 1 -type d \ -mtime +$KEEP_DAYS -not -name latest -exec rm -rf {} +"
- Tester la restauration
Listez vos snapshots :
ssh user@backup-server "ls /backups/$(hostname)"
Restaurez un fichier :
scp user@backup-server:/backups/$(hostname)/2025-04-19_03-00/home/www/config.php ./
Conseils bonus :
• Activez Compression=yes
dans ~/.ssh/config
si
votre bande passante est limitée.
• Sécurisez davantage avec
from="IP_SOURCE"
et command="rsync --server …"
dans authorized_keys
.
• Dupliquer encore ? Montez un stockage chiffré (restic
,
borg
) sur un cloud S3 puis lancez rsync
vers ce
volume pour une off‑site copy.
« Sauvegarder n’est pas une option ; automatiser, c’est la seule manière de ne jamais l’oublier. »
Mathias PAJON
En à peine quelques lignes de bash et un cron
, vous disposez
d’une solution incrémentale, chiffrée et restaurable en un copier‑coller.
Prenez le temps de tester votre procédure ; une sauvegarde n’a de valeur
que si la restauration fonctionne le jour J !