Passer au contenu principal

VPS : Sauvegarder des serveurs Linux avec Rsync

Ce guide a été créé avec les produits suivants :

(Les détails peuvent varier selon les produits de différents fournisseurs, mais les concepts principaux restent les mêmes)

Rsync :

Les sauvegardes peuvent être réalisées avec l’outil Rsync.
Elles peuvent être copiées sur le système local lui-même vers un autre répertoire/disque ou vers un système distant.

Copier les données vers un autre répertoire ou disque local :

info

Attention : La première exécution peut prendre beaucoup plus de temps que les suivantes, selon la quantité de données. En effet, la première fois Rsync synchronise toutes les données, à partir de la deuxième fois, seules les données modifiées seront synchronisées.

On crée donc une sauvegarde incrémentielle.

Étape 1

Rsync peut être installé avec la commande suivante :

apt install rsync

Une fois installé, il peut être utilisé directement.

Étape 2

Dans cet exemple, le dossier Client sous /home doit être synchronisé vers le dossier Backup sous /home.

Cela peut se faire avec la commande suivante :

rsync -arz /home/Client /home/Backup

-a=Archivage, les attributs seront copiés


-r=Récursif, les sous-dossiers sont aussi synchronisés


-z=Compression, selon la quantité/taille des données, compression activée

Le dossier a été synchronisé avec succès.

Si un fichier, etc. dans le dossier client est supprimé maintenant, il restera dans le dossier de sauvegarde.
Mais comme les fichiers doivent toujours être synchronisés 1:1, la commande rsync peut facilement être modifiée, ce changement garantira que les données qui ne sont plus présentes dans le dossier client seront aussi supprimées du dossier de sauvegarde.

La commande modifiée est :

rsync -arz --delete /home/Client /home/Backup

-a=Archivage, les attributs seront copiés


-r=Récursif, les sous-dossiers sont aussi synchronisés


-z=Compression, selon la quantité/taille des données, compression activée


--delete= Supprime les données qui n’existent plus dans la source mais qui sont toujours présentes dans la cible

Étape 3

Pour ne pas avoir à taper la commande à chaque fois, elle peut simplement être placée dans un cronjob.
Par exemple, une sauvegarde doit être créée tous les jours à 3h du matin :

Ouvre crontab -e :

Avec le chiffre 1, "nano" peut être utilisé comme éditeur.
Avec le chiffre 2, "vim" peut être utilisé comme éditeur.

Une fois le fichier ouvert avec par ex. Nano, un crontab peut être généré et saisi.
Un crontab peut être créé avec ce Générateur.

Le crontab saisi ressemble alors à ceci :

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Chaque jour à 3h du matin, la commande est exécutée et une sauvegarde est créée.