FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Automatisez vos sauvegardes avec Rsync : synchronisez vos fichiers vers un serveur distant

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.

Installer rsync

Vérifiez d'abord si rsync est installé sur votre machine locale et le serveur distant :

rsync --version

Si la version s'affiche, passez à la suite. Sinon, installez-le avec :

sudo apt update && sudo apt install -y rsync

Générer une clé SSH

Pour 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.key

Appuyez 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).

Configurer le serveur distant

Créez un utilisateur dédié pour les sauvegardes (optionnel mais recommandé) :

sudo useradd -m rsync

Copiez 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 - rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2E... user@host" > $HOME/.ssh/authorized_keys
chmod 0600 $HOME/.ssh/authorized_keys
exit

Votre machine locale peut désormais s'authentifier sans mot de passe.

Configurer le fichier SSH

Simplifiez les connexions en éditant ~/.ssh/config localement :

nano ~/.ssh/config

Ajoutez :

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_server

Sortez avec exit.

Synchroniser vos fichiers

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.

Automatiser avec Crontab

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.

Télécharger depuis le serveur

Pour restaurer :

rsync -avz --progress backup_server:~/Documents/ ~/Documents/

Inclure/Exclure des fichiers

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/

Synchroniser deux dossiers locaux

rsync -avz ~/source/ ~/destination/

Reposez-vous l'esprit tranquille

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.

[]