Recherche de site Web

Comment utiliser Rsnapshot pour la sauvegarde et la restauration sur les serveurs Linux


Sur cette page

  1. Conditions préalables
  2. Installation de rsnapshot
  3. Configuration de l'authentification par clé SSH
  4. Configuration de rsnapshot
  5. Test manuel de la sauvegarde rsnapshot
  6. Sauvegarde automatique avec Cron
  7. Restauration de la sauvegarde rsnapshot
  8. Conclusion

rsnapshot est un utilitaire de sauvegarde pour les machines basées sur Linux. Il est disponible sur la plupart des distributions Linux, vous pouvez facilement l'installer via le gestionnaire de packages. rsnapshot est écrit en Perl sans dépendances, il prend également en charge la sauvegarde locale et distante.

Avec rsnapshot, vous pouvez sauvegarder votre répertoire local. Quant à la sauvegarde à distance, rsnapshot utilise « ssh » et « rsync ».

Dans ce didacticiel, vous apprendrez comment sauvegarder et restaurer à l'aide de Rsnapshot sur un serveur Linux. Vous allez configurer rsnapshot pour la sauvegarde locale et la sauvegarde à distance. Vous apprendrez également à configurer une sauvegarde automatique avec rsnapshot et cron.

Conditions préalables

Pour compléter ce guide, assurez-vous d'avoir les éléments suivants :

  • Un serveur Linux tel que Debian, Ubuntu, CentOS ou toute autre distribution
  • Un utilisateur non root avec des privilèges d'administrateur
  • Serveur supplémentaire en option pour tester la sauvegarde à distance

Installation de rsnapshot

rsnapshot est un utilitaire de sauvegarde disponible sur la plupart des distributions Linux. Vous pouvez l'installer via le gestionnaire de packages respectif. Dans cette section, vous allez installer rsnapshot sur le serveur Debian. Donc, si vous utilisez une autre distribution, installez-la avec votre gestionnaire de packages actuel.

Tout d’abord, mettez à jour l’index de votre package avec la commande suivante. Dans cet exemple, nous utiliserons Debian, vous pouvez utiliser des distributions basées sur Debian telles que Ubuntu, Linux Mint, etc.

sudo apt update

Une fois mis à jour, exécutez la commande ci-dessous pour installer le package 'rsnapshot'. Entrez « Y » pour confirmer votre installation.

sudo apt install rsnapshot

Une fois l'installation terminée, vérifiez l'emplacement du binaire 'rsnapshot' et sa version.

which rsnapshot
rsnapshot --version

Vous pouvez voir ci-dessous que Rsnapshot 1.4 est installé dans le dossier '/usr/bin/rsnapshot'.

Configuration de l'authentification par clé SSH

Lorsque vous effectuez une sauvegarde à distance, vous devez vous assurer que votre serveur rsnapshot peut se connecter au serveur cible à l'aide de l'authentification par clé SSH. Ainsi, pour une sauvegarde à distance, vous devez disposer des éléments suivants :

  • Un utilisateur qui sera utilisé pour se connecter au serveur cible
  • L'authentification par clé SSH est activée

Dans cette section, vous allez générer une clé SSH sur le serveur rsnapshot. Copiez ensuite la clé publique SSH sur le serveur cible sur « 192.168.10.41 » en utilisant l'utilisateur « alice ».

Sur le serveur 'rsnapshot', générez les clés publiques et privées SSH à l'aide de la commande 'ssh-keygen' ci-dessous. Appuyez sur « ENTER » lorsqu'on vous demande la clé de localisation et le mot de passe.

ssh-keygen -t ed25519

Exécutez maintenant la commande 'ssh-copy-id' ci-dessous pour télécharger la clé publique SSH sur votre serveur cible. Dans cet exemple, vous effectuerez une sauvegarde à distance à partir du serveur « 192.168.10.41 » avec l'authentification SSH par clé et en utilisant l'utilisateur « alice ».

ssh-copy-id [email 

Entrez votre mot de passe lorsque vous y êtes invité.

Une fois la clé publique SSH téléchargée, vous êtes prêt à configurer Rsnapshot.

Configuration de rsnapshot

Dans cette section, vous allez configurer rsnapshot pour la sauvegarde locale et distante. Vous allez modifier la configuration par défaut « /etc/rsnapshot.conf », configurer le répertoire de sauvegarde par défaut, activer l'intégration avec SSH et Rsync, configurer la sauvegarde par intervalles, puis configurer la sauvegarde locale et distante.

Copiez la configuration par défaut de rsnapshot '/etc/rsnapshot.conf' et modifiez le fichier avec l'éditeur 'nano' ou 'vim'.

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf

Modifiez la valeur par défaut « snapshot_root » avec un nouveau répertoire. Ce répertoire sera utilisé pour stocker vos données de sauvegarde.

snapshot_root /data/backup/

Décommentez les options « cmd_rsync » et « cmd_ssh » pour activer la sauvegarde à distance avec rsync via SSH.

cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh

Modifiez les niveaux ou intervalles de sauvegarde par défaut comme suit. Le nom est facultatif, vous pouvez le modifier selon vos besoins. Ainsi, pour cet exemple, le « daily 6 » créera des répertoires de sauvegarde nommés « daily.0 » à « daily.5 ».

REMARQUE : Utilisez TAB au lieu de l'espace, car cela générera une erreur.

retain daily 6
retain weekly 7
retain monthly 4

Décommentez l'option 'logfile' pour activer un journal rsnapshot dans le fichier.

logfile /var/log/rsnapshot.log

Si vous exécutez un serveur distant avec un port SSH personnalisé, supprimez le commentaire de l'option « ssh_args » et modifiez le port.

ssh_args -p 22

Maintenant, pour la sauvegarde locale, utilisez la configuration comme celle-ci. Dans cet exemple, nous allons sauvegarder le répertoire local '/home/arvdl' dans le dossier 'local'. Le chemin de destination doit être un chemin relatif, il est égal à '/srv/backup/name-interval/local'.

backup /home/arvdl/ local

Pour la sauvegarde à distance via SSH et rsync, utilisez la configuration comme celle-ci. Dans cet exemple, nous allons sauvegarder les répertoires '/etc' et '/var/www' du serveur distant '192.168.10.41' avec l'utilisateur SSH 'alice' vers le répertoire de chemin relatif 'server1'.

backup [email :/etc/ server1
backup [email :/var/www server1

Enregistrez et quittez le fichier une fois terminé.

Après avoir configuré rsnapshot, vérifiez et testez la configuration de rsnapshot avec ce qui suit. Si vous avez une configuration appropriée, vous verrez une sortie « Syntaxe OK ».

rsnapshot configtest

Test manuel de la sauvegarde rsnapshot

Maintenant que vous avez configuré rsnapshot, vérifions et testons votre sauvegarde avec rsnapshot en effectuant la sauvegarde manuellement, en vérifiant le répertoire de sauvegarde et le fichier journal rsnapshot.

Pour tester votre sauvegarde manuellement, exécutez la commande « rsnapshot » ci-dessous. Assurez-vous de remplacer « quotidiennement » par le nom de votre sauvegarde.

rsnapshot daily

Si le processus est terminé, vérifiez le répertoire de sauvegarde '/srv/backup' avec la commande suivante. Vous verrez un nouveau répertoire de sauvegarde « daily.0 » qui contient vos fichiers de sauvegarde à partir de serveurs locaux et distants.

ls /srv/backup/

Exécutez maintenant la commande ci-dessous pour vérifier l'utilisation du disque par rsnapshot.

rsnapshot du

Dans le résultat ci-dessous, vous pouvez voir que l'utilisation totale du disque pour la sauvegarde rsnapshot est de 5 Mo.

Enfin, vérifiez le fichier journal de sauvegarde « /var/log/rsnapshot.log » pour vérifier votre processus de sauvegarde.

cat /var/log/rsnapshot.log

Ce qui suit montre que la sauvegarde a réussi, mais avec quelques avertissements, tels que l'autorisation refusée lors de la sauvegarde du fichier '/etc/shadow'.

Sauvegarde automatique avec Cron

Pour la sauvegarde automatique, vous pouvez intégrer rsnapshot avec cron. Par exemple, vous configurerez cron pour une sauvegarde automatique comme « quotidiennement », « hebdomadairement » et « mensuellement ».

Ouvrez le fichier '/etc/cron.d/rsnapshot' avec l'éditeur 'nano'. Ce fichier est un exemple généré par rsnapshot.

sudo nano /etc/cron.d/rsnapshot

Saisissez la configuration suivante pour la sauvegarde automatique via rsnapshot. Dans cet exemple, la sauvegarde « quotidienne » sera exécutée quotidiennement, ainsi que « hebdomadairement » et « mensuellement » pendant leur période respective.

0 0 * * * root rsnapshot daily
0 0 * * 0 root rsnapshot weekly
0 0 1 * * root rsnapshot monthly

Enregistrez le fichier et quittez l'éditeur.

Avec cela, votre sauvegarde automatique sera exécutée via cron.

Restauration de la sauvegarde rsnapshot

Pour restaurer la sauvegarde rsnapshot, il vous suffit de copier vos données du répertoire de sauvegarde vers votre destination. Pour cet exemple, vous pouvez copier vos données depuis le répertoire de sauvegarde « /srv/backup ».

Conclusion

Félicitations! Vous avez terminé le didacticiel d'installation de rsnapshot et de configuration de rsnapshot pour la sauvegarde locale et distante, et vous avez appris quelques commandes de base « rsnapshot ». Enfin, vous avez également appris à configurer une sauvegarde automatique avec rsnapshot et cron.

Articles connexes: