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