GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo hacer una copia de seguridad del host Unix local usando la utilidad rsync de rsnapshot

rsnapshot es una increíble utilidad de copia de seguridad de Linux gratuita para realizar una copia de seguridad de rsync del sistema de archivos local y remoto.

Esta es una serie de dos artículos. En este artículo, revisemos cómo instalar y configurar la utilidad rsnapshot para tomar respaldo rsync del sistema de archivos local. En el próximo artículo, revisemos cómo configurar la utilidad rsnapshot para realizar una copia de seguridad de rsync del sistema de archivos remoto.

instantánea utiliza la combinación de rsync y enlaces duros para mantener copias de seguridad incrementales y copias de seguridad completas. Una vez que haya instalado y configurado rsnapshot, no hay absolutamente ningún mantenimiento involucrado. rsnapshot se encargará automáticamente de eliminar y rotar las copias de seguridad antiguas.

También ocupa muy poco espacio en disco. La primera copia de seguridad completa tendrá el mismo tamaño que sus archivos y directorios originales. Las copias de seguridad completas posteriores de rsnapshot solo ocupan menos espacio, ya que solo toman la copia de seguridad de los archivos modificados de la copia de seguridad completa anterior.

1. Descargue la utilidad de copia de seguridad de Linux rsnapshot

Descargue la utilidad rsnapshot de rsnapshot.org como se muestra a continuación.

# 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. Instale rsnapshot para respaldar los directorios de Linux

Instale la utilidad de respaldo de Linux rsnapshot usando ./configure y haga la instalación como se muestra a continuación.

# ./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'

Ahora, cree un nuevo rsnapshot.conf basado en el archivo de configuración predeterminado que viene con la utilidad de copia de seguridad rsnapshot linux.

# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf

3. Configure rsnapshot y especifique el directorio de origen de la copia de seguridad

Abra /etc/rsnapshot.conf y descomente las siguientes líneas.

# 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

Defina sus directorios de copia de seguridad de destino en /etc/rsnapshot.conf como se muestra a continuación. En este ejemplo,

  • /etc – directorio de origen del que se debe hacer una copia de seguridad
  • servidor local/ – directorio de destino donde se almacenará la copia de seguridad. Tenga en cuenta que este directorio se creará en el directorio /.snapshots/{internal.n}/ como se muestra en el último paso.
# vi /etc/rsnapshot.conf

backup  /etc/           localhost/

Nota: Cambie /etc/ al directorio apropiado del que le gustaría hacer una copia de seguridad.

4. Configuración de la instantánea de prueba

Realice una prueba de configuración para asegurarse de que rsnapshot esté configurado correctamente y listo para realizar una copia de seguridad de rsync de Linux.

# rsnapshot configtest
Syntax OK

5. Verifique la configuración de copia de seguridad por hora de rsnapshot

Puede hacer una copia de seguridad de los directorios o archivos de Linux en varios intervalos. De forma predeterminada, las copias de seguridad diarias y por horas están configuradas.

Verifique la configuración de respaldo por hora.

# 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. Verifique la configuración de copia de seguridad diaria de rsnapshot

Verifique que el proceso de copia de seguridad diaria de rsnapshot cwrsync esté configurado correctamente.

# rsnapshot -t daily
echo 6493 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/hourly.5 not present (yet), nothing to copy

7. Intervalo de copia de seguridad de rsnapshot no válido

No hay un intervalo de copia de seguridad mensual. Por lo tanto, si intenta verificar la configuración de la copia de seguridad mensual, es posible que reciba este mensaje como se muestra a continuación:ERROR:intervalo "mensual" desconocido, verifique /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. Agregar entrada Crontab para rsnapshot

Una vez que haya verificado que las configuraciones de copia de seguridad por hora y por día de rsync están configuradas correctamente en la utilidad rsnapshot cwrsync, es hora de configurar este cachorro en el crontab como se muestra a continuación.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

Consulte el artículo de ejemplos de Unix crontab para comprender cómo instalar y configurar crontab.

9. Verifique el trabajo de rsnapshot manualmente (verificación única)

Por primera vez, es posible que desee ejecutar la copia de seguridad de rsnapshot manualmente para asegurarse de que funciona como se espera.

De forma predeterminada, todas las copias de seguridad de rsync tomadas por la utilidad rnspashot se almacenarán en el directorio /.snapshots.

Dado que rsnapshot nunca se ejecutó, es posible que este directorio no exista como se muestra a continuación.

# ls -al /.snapshots/
ls: /.snapshots/: No such file or directory

Ejecute la utilidad de respaldo rsnapshot manualmente para la configuración por horas como se muestra a continuación.

# /usr/local/bin/rsnapshot hourly

Dado que ejecutamos la copia de seguridad por hora, la utilidad de copia de seguridad rsnapshot linux habría creado el siguiente directorio /.snapshots con el directorio por hora.0

Navegue a través del directorio /.snapshots/hourly.0/ para asegurarse de que los archivos y directorios que configuró en el paso n.º 3 estén respaldados en consecuencia.

# 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

En nuestro próximo artículo, revisemos cómo hacer una copia de seguridad de múltiples hosts remotos usando la utilidad rsnapshot.


Linux
  1. Cómo hacer una copia de seguridad de todo su sistema Linux usando Rsync

  2. Cómo hacer una copia de seguridad y restaurar su sitio web utilizando la utilidad de copia de seguridad LCN

  3. Linux/UNIX:Cómo crear una partición extendida usando fdisk

  4. Cómo conectar un host remoto usando el comando ssh

  5. Copia de seguridad de rsync/ssh/rsnapshot:ejecución remota de secuencias de comandos

Cómo hacer una copia de seguridad del sistema de archivos de Linux usando el comando dump

Cómo realizar una copia de seguridad remota de Linux mediante SSH

Cómo administrar el almacenamiento local usando stratis | Sombrero rojo

Cómo configurar una copia de seguridad con rsync en Ubuntu 18.04

Cómo hacer una copia de seguridad de un host Linux remoto usando la utilidad rsync de rsnapshot

Tutorial de Unix Sed:Cómo escribir en un archivo usando Sed