Vous êtes-vous déjà inquiété de perdre vos données importantes ou fatigué des sauvegardes manuelles quotidiennes ? Utilisez rsync pour synchroniser automatiquement vos fichiers locaux vers un serveur distant Linux (comme AWS), à la fréquence de votre choix, sans intervention manuelle. Ce guide détaillé, testé sous Ubuntu 20.04 (compatible avec la plupart des distributions Linux), suppose un accès SSH à un serveur distant.
Vérifiez d'abord si rsync est installé sur votre machine locale et le serveur distant :
rsync --versionSi la version s'affiche, passez à la suite. Sinon, installez-le avec :
sudo apt update && sudo apt install -y rsyncPour une authentification sécurisée sans mot de passe, générez une paire de clés RSA sur votre machine locale :
ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.keyAppuyez deux fois sur Entrée pour un mot de passe vide. Cela crée ~/.ssh/rsync.key (privée) et ~/.ssh/rsync.key.pub (publique).
Créez un utilisateur dédié pour les sauvegardes (optionnel mais recommandé) :
sudo useradd -m rsyncCopiez la clé publique sur le serveur. Ouvrez ~/.ssh/rsync.key.pub localement et copiez son contenu (ex. : ssh-rsa AAAAB3NzaC1yc2E... user@host).
Sur le serveur :
sudo su - rsyncmkdir -m 0700 $HOME/.sshecho "ssh-rsa AAAAB3NzaC1yc2E... user@host" > $HOME/.ssh/authorized_keyschmod 0600 $HOME/.ssh/authorized_keysexitVotre machine locale peut désormais s'authentifier sans mot de passe.
Simplifiez les connexions en éditant ~/.ssh/config localement :
nano ~/.ssh/configAjoutez :
Host backup_server
HostName 192.168.0.24
User rsync
IdentityFile ~/.ssh/rsync.key
Remplacez l'IP et l'utilisateur si nécessaire. Sauvegardez (Ctrl+O, Entrée, Ctrl+X). Testez :
ssh backup_serverSortez avec exit.
Synchronisez par ex. votre dossier Documents :
rsync -avz --progress ~/Documents/ backup_server:~/Documents/Seuls les fichiers modifiés sont transférés. Vérifiez sur le serveur.
Ajoutez une tâche toutes les 15 minutes :
(crontab -l 2>/dev/null; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents/ >/dev/null 2>&1") | crontab -Vérifiez : crontab -l. Les changements sont synchronisés automatiquement.
Pour restaurer :
rsync -avz --progress backup_server:~/Documents/ ~/Documents/Seuls les .html :
rsync -avz --include='*.html' --exclude='*' --progress ~/mysite/ backup_server:~/public_html/Exclure les .txt :
rsync -avz --exclude='*.txt' --progress ~/mysite/ backup_server:~/public_html/rsync -avz ~/source/ ~/destination/Avec Rsync et Crontab, vos données sont protégées avec un délai minimal. Ce tutoriel couvre l'installation, la configuration SSH, la synchronisation et l'automatisation pour une fiabilité optimale.
[]