rsnapshot est un excellent utilitaire de sauvegarde Linux gratuit pour effectuer une sauvegarde rsync du système de fichiers local et distant.
Ceci est une série de deux articles. Dans cet article, voyons comment installer et configurer l'utilitaire rsnapshot pour effectuer une sauvegarde rsync du système de fichiers local. Dans le prochain article, voyons comment configurer l'utilitaire rsnapshot pour effectuer une sauvegarde rsync du système de fichiers distant.
rinstantané utilise la combinaison de rsync et de liens physiques pour maintenir des sauvegardes complètes et incrémentielles. Une fois que vous avez installé et configuré rsnapshot, il n'y a absolument aucune maintenance impliquée. rsnapshot se chargera automatiquement de supprimer et de faire pivoter les anciennes sauvegardes.
Il prend également très peu d'espace disque. La première sauvegarde complète prendra la même taille que vos fichiers et répertoires d'origine. Les sauvegardes complètes rsnapshot suivantes ne prennent que moins d'espace, car elles ne sauvegardent que les fichiers modifiés de la sauvegarde complète précédente.
1. Télécharger l'utilitaire de sauvegarde Linux rsnapshot
Téléchargez l'utilitaire rsnapshot depuis rsnapshot.org comme indiqué ci-dessous.
# cd /usr/src # wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz # tar xvfz rsnapshot-1.3.1.tar.gz # cd rsnapshot-1.3.1
2. Installez rsnapshot pour sauvegarder les direcotires Linux
Installez l'utilitaire de sauvegarde Linux rsnapshot à l'aide de ./configure et effectuez l'installation comme indiqué ci-dessous.
# ./configure --sysconfdir=/etc checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes config.status: creating t/rsync.t config.status: creating t/gnu_cp.t config.status: creating t/relative_delete_bugfix.t Type "make install" to install the program. After rsnapshot is installed, don't forget to copy /etc/rsnapshot.conf.default to /etc/rsnapshot.conf # make install /usr/bin/pod2man -c '' -n 'rsnapshot' -r '' rsnapshot > rsnapshot.1 /usr/bin/pod2man -c '' -n 'rsnapshot-diff' -r '' rsnapshot-diff > rsnapshot-diff.1 make[1]: Entering directory `/usr/src/rsnapshot-1.3.1' test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin" /usr/bin/install -c 'rsnapshot' '/usr/local/bin/rsnapshot' /usr/bin/install -c 'rsnapshot-diff' '/usr/local/bin/rsnapshot-diff' test -z "/etc" || mkdir -p -- "/etc" /usr/bin/install -c -m 644 'rsnapshot.conf.default' '/etc/rsnapshot.conf.default' test -z "/usr/local/man/man1" || mkdir -p -- "/usr/local/man/man1" /usr/bin/install -c -m 644 './rsnapshot.1' '/usr/local/man/man1/rsnapshot.1' /usr/bin/install -c -m 644 './rsnapshot-diff.1' '/usr/local/man/man1/rsnapshot-diff.1' make[1]: Leaving directory `/usr/src/rsnapshot-1.3.1'
Maintenant, créez un nouveau rsnapshot.conf basé sur le fichier de configuration par défaut fourni avec l'utilitaire de sauvegarde Linux rsnapshot.
# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
3. Configurer rsnapshot et spécifier le répertoire source de sauvegarde
Ouvrez le fichier /etc/rsnapshot.conf et décommentez les lignes suivantes.
# vi /etc/rsnapshot.conf cmd_cp /bin/cp cmd_ssh /usr/bin/ssh cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/local/bin/rsnapshot-diff logfile /var/log/rsnapshot
Définissez vos répertoires de sauvegarde de destination dans /etc/rsnapshot.conf comme indiqué ci-dessous. Dans cet exemple,
- /etc – répertoire source qui doit être sauvegardé
- localhost/ – répertoire de destination où la sauvegarde sera stockée. Veuillez noter que ce répertoire sera créé sous le répertoire /.snapshots/{internal.n}/ comme indiqué à la dernière étape.
# vi /etc/rsnapshot.conf backup /etc/ localhost/
Remarque : Changez /etc/ dans le répertoire approprié que vous souhaitez sauvegarder.
4. Tester la configuration de l'instantané
Effectuez un test de configuration pour vous assurer que rsnapshot est configuré correctement et prêt à effectuer une sauvegarde Linux rsync.
# rsnapshot configtest Syntax OK
5. Vérifier la configuration de sauvegarde horaire de rsnapshot
Vous pouvez sauvegarder des répertoires ou des fichiers Linux à différents intervalles. Par défaut, les sauvegardes horaires et quotidiennes sont configurées.
Vérifiez la configuration de la sauvegarde horaire.
# rsnapshot -t hourly echo 6490 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \ /.snapshots/hourly.0/localhost/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \ /.snapshots/hourly.0/localhost/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ /usr/local /.snapshots/hourly.0/localhost/ touch /.snapshots/hourly.0/
6. Vérifier la configuration de la sauvegarde quotidienne de rsnapshot
Vérifiez que le processus de sauvegarde quotidien rsnapshot cwrsync est correctement configuré.
# rsnapshot -t daily echo 6493 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ /.snapshots/hourly.5 not present (yet), nothing to copy
7. Intervalle de sauvegarde rsnapshot invalide
Il n'y a pas d'intervalle de sauvegarde mensuel. Ainsi, si vous essayez de vérifier la configuration de la sauvegarde mensuelle, vous pouvez obtenir ce message comme indiqué ci-dessous :ERREUR :Intervalle "mensuel" inconnu, vérifiez /etc/rsnapshot.conf
# rsnapshot -t weekly echo 6495 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ /.snapshots/daily.6 not present (yet), nothing to copy # rsnapshot -t monthly echo 6496 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ ---------------------------------------------------------------------------- rsnapshot encountered an error! The program was invoked with these options: /usr/local/bin/rsnapshot -t monthly ---------------------------------------------------------------------------- ERROR: Interval "monthly" unknown, check /etc/rsnapshot.conf
8. Ajouter une entrée Crontab pour rsnapshot
Une fois que vous avez vérifié que les configurations de sauvegarde horaire et quotidienne de rsync sont correctement configurées dans l'utilitaire rsnapshot cwrsync, il est temps de configurer ce chiot dans la crontab comme indiqué ci-dessous.
# crontab -e 0 */4 * * * /usr/local/bin/rsnapshot hourly 30 23 * * * /usr/local/bin/rsnapshot daily
Consultez l'article sur les exemples de crontab Unix pour comprendre comment installer et configurer crontab.
9. Vérifier manuellement le travail d'instantané (vérification unique)
Pour la première fois, vous souhaiterez peut-être exécuter la sauvegarde rsnapshot manuellement pour vous assurer qu'elle fonctionne comme prévu.
Par défaut, toutes les sauvegardes rsync effectuées par l'utilitaire rnspashot seront stockées dans le répertoire /.snapshots.
Étant donné que rsnapshot n'a jamais été exécuté, ce répertoire peut ne pas exister, comme indiqué ci-dessous.
# ls -al /.snapshots/ ls: /.snapshots/: No such file or directory
Exécutez l'utilitaire de sauvegarde rsnapshot manuellement pour la configuration horaire comme indiqué ci-dessous.
# /usr/local/bin/rsnapshot hourly
Depuis que nous avons exécuté la sauvegarde horaire, l'utilitaire de sauvegarde Linux rsnapshot aurait créé le répertoire /.snapshots suivant avec le répertoire hourly.0
Parcourez le répertoire /.snapshots/hourly.0/ pour vous assurer que les fichiers et répertoires que vous avez configurés à l'étape 3 sont sauvegardés en conséquence.
# ls -al /.snapshots/ total 16 drwx------ 3 root root 4096 Jul 13 05:07 .s drwxr-xr-x 25 root root 4096 Jul 13 05:07 .. drwxr-xr-x 3 root root 4096 Jul 13 05:07 hourly.0 # ls -al /.snapshots/hourly.0/localhost/etc/ total 2516 drwxr-xr-x 93 root root 12288 Jul 13 05:05 . drwxr-xr-x 3 root root 4096 Jul 13 05:07 .. -rw-r--r-- 1 root root 15288 Mar 13 2008 a2ps.cfg -rw-r--r-- 1 root root 2562 Mar 13 2008 a2ps-site.cfg drwxr-xr-x 4 root root 4096 Oct 31 2008 acpi -rw-r--r-- 1 root root 44 Jan 16 10:43 adjtime drwxr-xr-x 4 root root 4096 Jan 16 10:36 alchemist -rw-r--r-- 1 root root 2155 Mar 19 08:22 aliases -rw-r----- 1 root smmsp 12288 Mar 19 08:22 aliases.db
Dans notre prochain article, voyons comment sauvegarder plusieurs hôtes distants à l'aide de l'utilitaire rsnapshot.