GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sauvegarder un hôte Unix local à l'aide de l'utilitaire rsnapshot rsync

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.


Linux
  1. Comment migrer WordPress manuellement vers un nouvel hôte

  2. Linux / UNIX :Comment créer une partition étendue à l'aide de fdisk

  3. Comment connecter un hôte distant à l'aide de la commande ssh

  4. Utilitaire de sauvegarde Linux pour les sauvegardes incrémentielles

  5. Comment tuer une connexion TCP à l'aide de l'utilitaire tcpkill

Comment sauvegarder le système de fichiers Linux à l'aide de la commande dump

Comment effectuer une sauvegarde Linux à distance à l'aide de SSH

Comment gérer le stockage local à l'aide de stratis | Chapeau rouge

Comment configurer une sauvegarde avec rsync sur Ubuntu 18.04

Comment sauvegarder un hôte Linux distant à l'aide de l'utilitaire rsnapshot rsync

Tutoriel Unix Sed :comment écrire dans un fichier à l'aide de Sed