[Linux] Copia de seguridad instantánea Rsnapshot
categoría: tecnología compartida
fecha: 2023/05/05
slug: rsnapshot
estado: publicado
resumen: este artículo presenta los conceptos básicos de la copia de seguridad de instantáneas Rsnapshot, incluida la definición del directorio de copia de seguridad y los parámetros de comando para ejecutar la copia de seguridad. Estos incluyen opciones como link_dest y sync_first, y argumentos de comando como configtest, du, diff y sync. Además, también presenta el principio de la copia de seguridad y cómo ver el uso del disco de los datos de la copia de seguridad.
etiquetas: Linux
tipo: Publicar
Introducción
No se admiten muchos formatos en CSDN, vaya a mi blog para una buena experiencia de visualización : https://www.luoxue.site/article/rsnapshot
Recientemente, la empresa solicitó implementar una función de copia de seguridad instantánea en la máquina todo en uno donde se implementa la aplicación de la empresa. Debido a la máquina todo en uno, puede causar algunos problemas debido a un entorno inadecuado o una operación incorrecta del personal diferente. Si ocurre este tipo de problema, no puede ejecutar sin conexión, solo puede restaurarlo de forma remota.
Entonces, este artículo presenta la herramienta de copia de seguridad de Linux Rsnapshot. Rsnapshot es una rsync
utilidad de instantáneas del sistema de archivos basada en comandos para sistemas operativos Linux y similares a Unix.
Se pueden tomar instantáneas del sistema de archivos en diferentes momentos. Al usar enlaces duros, rsnapshot crea la ilusión de múltiples copias de seguridad completas mientras solo ocupa el espacio de una copia de seguridad completa más diferenciales. Cuando se usa junto con ssh, también se pueden tomar instantáneas de sistemas de archivos remotos.
rsnapshot está escrito en Perl y depende de rsync. Los programas de registro OpenSSH, GNU cp, GNU du y BSD también se recomiendan pero no son obligatorios. Todo esto debería existir en la mayoría de los sistemas Linux.
❓ ¿ Qué es rsync?
rsync es una poderosa herramienta de sincronización de archivos que puede sincronizar archivos y directorios local o remotamente, y puede monitorear y controlar el comportamiento de sincronización. Utiliza un mecanismo similar al protocolo rsync (sobre SSH) para maximizar el rendimiento de transferencia y reducir el uso de ancho de banda. rsync puede lograr una copia de seguridad incremental, es decir, solo se transfieren las partes modificadas del archivo, lo que reduce significativamente el tiempo y los recursos de red necesarios para la sincronización.
Instalar
rsnapshot/INSTALL.md en maestro · rsnapshot/rsnapshot
Requisitos medioambientales
Está escrito completamente en perl, no tiene dependencias de módulos y ha sido probado con las versiones 5.004 a 5.24.3. Debería funcionar en cualquier sistema operativo compatible con UNIX razonablemente moderno.
- Ha sido probado con éxito en los siguientes sistemas operativos:
- Debian: 3.0 (woody), 9.9 (extendido)
- Sombrero rojo: 7.x, 8.0
- RedHat Enterprise Linux: 3.0 ES, 5, 6, 7
- Núcleo de Fedora: 1, 3
- Fedora: 17, 18
- CentOS: 3, 4, 5, 6, 7
- WhiteBox Enterprise Linux 3.0
- Slackware 9.0
- SuSE: 9.0
- GentooLinux
- FreeBSD 4.9-ESTABLE
- OpenBSD 3.x
- Solaris 8 (SPARC y x86)
- Mac OS X
- IRIX 6.5
Al menos: perl
,rsync
Opcional: ssh
, logger
, GNU cp
,GNU du
Instalación de fuente
Dirección de descarga: https://github.com/rsnapshot/rsnapshot/releases
-
Descomprima el paquete fuente y cambie al directorio fuente.
tar -xzvf rsnapshot-1.4.5.tar.gz cd rsnapshot-1.4.5
Este artículo instala la última versión.
-
Ejecute el script de configuración.
De forma predeterminada, el proceso de instalación instalará
/usr/local
todos los archivos bajo . Podemos especificar instalar el archivo de configuración/etc
en .Suponemos que
rsync
,ssh
ylogger
estándu
todas en sus variables de entorno, si este no es el caso, puede agregar los siguientes parámetros de script de configuración../configure --with-perl=/usr/bin/perl --with-rsync=/usr/bin/rsync
Utilice la
--with-program=/path/to/program
sintaxis clásica para especificar la ruta a cualquiera de estos programas.Por supuesto, si no tiene las preocupaciones anteriores, puede ejecutar el script de configuración directamente. Averigüe la ubicación de varios programas externos de los que depende rsnapshot. También genera el
Makefile
. El script de configuración acepta argumentos que se pueden usar para decirle dónde instalar el programa y dónde encontrar programas de apoyo. Para esta instalación, la única opción no predeterminada que necesitamos es colocar el archivo de configuración en/etc
el directorio../configure --sysconfdir=/etc
-
instalador
Si realizó la operación anterior, entonces está a punto de instalar rsnapshot en
/usr/local
y el archivo de configuración se encuentra/etc
en. A continuación procederemos con la operación de instalación.Esta acción puede requerir
root
permisos.make install
ruta de archivo describir /usr/local/bin/rsnapshot programa de instantáneas /usr/local/man/man1/rsnapshot.1 página man /etc/rsnapshot.conf.default archivo de configuración de muestra *Si luego decide que ya no necesita rsnapshot en su sistema, simplemente elimine los archivos enumerados anteriormente o ejecute **make uninstall en el mismo directorio de origen desde el que instaló. * Por supuesto, la ubicación de estos archivos puede variar si instaló con diferentes opciones.
instalación rpm o deb
-
Instalar en RHEL/CentOS 8/7/6/5/4
rpm -ivh rsnapshot_1.4.5-1_all.rpm
-
En Debian/Ubuntu/Linux Mint
dpkg -i rsnapshot_1.4.5-1_all.deb
instalación del administrador de paquetes
-
Instalar en RHEL/CentOS 8/7/6/5/4
yum install rsnapshot
-
En Debian/Ubuntu/Linux Mint
apt update apt install rsnapshot
Crear archivo de configuración
Después de instalar rsnapshot, debe configurarlo. El archivo de configuración predeterminado es /etc/rsnapshot.conf
, aunque la ruta exacta puede variar según cómo se instaló el programa. Si este archivo no existe. Probablemente durante la instalación no se creó ni instaló ningún archivo de configuración. Sin embargo, se proporciona un ejemplo de trabajo que puede reproducir. Para copiar el archivo de configuración de ejemplo donde rsnapshot buscará el archivo de configuración real:
cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
Además, si realiza una actualización, rsnapshot.conf.default
los archivos siempre se actualizarán a la última versión y sus archivos de configuración reales estarán seguros. Tenga en cuenta que si ejecuta make upgrade durante una actualización rsnapshot.conf
, su archivo rsnapshot.conf.backup
.
ejemplo
A continuación, operaremos dos servidores, a saber:
- Servidor de copia de seguridad: Instale rsnapshot para guardar el contenido de la copia de seguridad.
- Cliente: El servidor del que se está realizando la copia de seguridad.
Configurar inicio de sesión sin contraseña SSH
Para realizar una copia de seguridad de un servidor Linux remoto, el servidor de copia de seguridad debe poder pasar SSH
una conexión sin contraseña. Para esto, debe crear una SSH
clave pública y privada para autenticar rsnapshot
el servidor.
ssh-keygen
Genere un par de claves usando el comando.
ssh-keygen
# output
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:RVjq/4AJclHttGjr3JvQtK8krOMST3uBE1EnoNRnnUM root@zhangyu
The key's randomart image is:
+---[RSA 3072]----+
| ...o+*E. |
| . .o.+=* |
| . .+.+.o |
| .oo.o |
| . o+S.. |
| .o+oo* . |
| + =*o* |
| . +.++.= |
| ooo +oo |
+----[SHA256]-----+
A continuación, copie la clave pública en el sistema cliente.
ssh-copy-id -i [email protected]
# output
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.168.54 (192.168.168.54)' can't be established.
ECDSA key fingerprint is SHA256:bi+xYDrDy/dFmry/UYbjt4u0C6xGx5nH5UZe20Kp4fU.
Are you sure you want to continue connecting (yes/no/[fingerprint])?' yes
# 上方输入yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Authorized users only. All activities may be monitored and reported.
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
⚠️错误:Permiso denegado, inténtalo de nuevo.
/etc/ssh/sshd_config
Si ocurre este error, debe modificar el " " en el archivo del cliente #PermitRootLogin prohibit-password
, descomentarlo y cambiarlo a " PermitRootLogin yes
", luego reinicie el servicio.
NOTA: Los nombres de ubicación del archivo de configuración pueden variar entre versiones o entre sistemas.
Tenga en cuenta que si la operación anterior sigue sin tener éxito, se generará el siguiente error.
Invalid user Administrator from 192.168.168.51 port 57883
May 05 06:55:33 zhangyu sshd[96375]: Invalid user Administrator from 192.168.168.51 port 57883
May 05 06:55:33 zhangyu sshd[96375]: Connection closed by invalid user Administrator 192.168.168.51 port 57883 [preauth]
No dude en actualizar el servidor openssh.
apt upgrade openssh-server
Configurar el servidor de copia de seguridad Rsnapshot
En este ejemplo, usaremos /rsnapshot/
un directorio para almacenar instantáneas del sistema de archivos. Esto se llama instantánea raíz . Siéntase libre de colocarlo en cualquier lugar donde tenga mucho espacio libre en el disco.
snapshot_root
Suponiendo que desea cambiar este parámetro, si desea colocarlo en otro lugar, debe reemplazar la ruta predeterminada después del parámetro en el archivo de configuración .
También tenga en cuenta que los campos están separados por tabulaciones, no por espacios. El motivo de esto es facilitar la especificación de rutas de archivos con espacios en ellos.
También tenga en cuenta que debe especificar una barra inclinada al final del nombre del directorio en el archivo. /etc/rsnapshot.conf
Por ejemplo, debe especificar el nombre del directorio como /rsnapbackup/
, no /rsnapbackup
.
Definir la raíz de la instantánea y la ubicación del comando
23 snapshot_root /rsnapshot/
24
25 # If no_create_root is enabled, rsnapshot will not automatically create the
26 # snapshot_root directory. This is particularly useful if you are backing
27 # up to removable media, such as a FireWire or USB drive.
28 #
29 #no_create_root 1
30
31 #################################
32 # EXTERNAL PROGRAM DEPENDENCIES #
33 #################################
34
35 # LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
36 # EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
37 #
38 # See the README file or the man page for more details.
39 #
40 cmd_cp /usr/bin/cp
41
42 # uncomment this to use the rm program instead of the built-in perl routine.
43 #
44 cmd_rm /usr/bin/rm
45
46 # rsync must be enabled for anything to work. This is the only command that
47 # must be enabled.
48 #
49 cmd_rsync /usr/bin/rsync
50
51 # Uncomment this to enable remote ssh backups over rsync.
52 #
53 cmd_ssh /usr/bin/ssh
54
55 # Comment this out to disable syslog support.
56 #
57 cmd_logger /usr/bin/logger
58
59 # Uncomment this to specify the path to "du" for disk usage checks.
60 # If you have an older version of "du", you may also want to check the
61 # "du_args" parameter below.
62 #
63 cmd_du /usr/bin/du
64
65 # Uncomment this to specify the path to rsnapshot-diff.
66 #
67 cmd_rsnapshot_diff /usr/local/bin/rsnapshot-diff
-
cmd_cp
cmd_cp
El argumento esGNU cp
la ruta al programa en el sistema de archivos. En Linux, elimine el comentario de este parámetro eliminando el signo de almohadilla (#
) que se encuentra delante de él. En BSD, Solaris, IRIX o la mayoría de las demás variantes de UNIX, debe comentarse.GNU cp
A diferencia del tradicionalUNIX cp
, es capaz de copiar directorios recursivamente como enlaces duros. Si no tiene unoGNU cp
, hay un subejemplo en rsnapshot que se aproxima un poco a esta funcionalidad. A esto le siguersync
otra llamada a la que se transfieren los archivos especiales restantes (si los hay). Esto permite que rsnapshot admita todos los tipos de archivos en cada plataforma.La regla general es habilitar en sistemas Linux
cmd_cp
y deshabilitar en sistemas que no son Linuxcmd_cp
. -
cmd_rsync
cmd_rsync
El parámetro no se puede comentar, debe apuntar arsync
la versión de trabajo. Si no, el programa no funcionará en absoluto.Tenga en cuenta que si está usando
IRIX
, hay otrorsync
programa llamado , que es realmente diferente de lo que la mayoría de la gente conocersync
. Si está utilizandoIRIX
una máquina, debe verificar dos veces. -
cmd_ssh
ssh
Deberá descomentarcmd_ssh
el parámetro si está instalado en su sistema . Al habilitarssh
, puede tomar instantáneas de cualquier cantidad de sistemas remotos.Si no lo hace
ssh
, o solo planea tomar instantáneas del sistema de archivos local, puede comentarlo con seguridad. -
cmd_logger
cmd_logger
El parámetro especifica la ruta al programa registrador.logger
essyslog
una interfaz de línea de comandos para .logger
Debería ser una parte estándar de la mayoría de los sistemas tipo UNIX. Parece haber permanecido igual desde 1993, lo cual es bueno para la estabilidad multiplataforma.syslog
Si comenta este parámetro, deshabilitará el soporte en rsnapshot . Se recomienda que habilite esta función. -
cmd_du
cmd_du
El parámetro especificadu
la ruta al programa.du
es una herramienta de línea de comandos que informa sobre el uso del disco.Utilice rsnapshot
du
para generar un informe sobre la cantidad de espacio en disco realmente utilizado, que de otro modo sería difícil de estimar debido a todos los enlaces físicos.Si lo comenta, rsnapshot intentará usar la versión que encuentre en su ruta
du
. La versión recomendada , ya quedu
tieneGNU
la mejor selección de funciones y es compatible con la mayoría de las opciones.La versión BSD también parece funcionar, aunque no soporta
-h
las banderas. Solarisdu
no funciona en absoluto porque no admite-c
parámetros. -
cmd_rm
cmd_rm
es un parámetro en el archivo de configuración de rsnapshot que especifica larsnapshot delete
herramienta de eliminación de archivos que se utilizará al eliminar archivos de copia de seguridad (por ejemplo, a través del comando). Estas herramientas suelen incluirrm
,gtrsh
,trash-put
(similar a la función de papelera de reciclaje), etc. Puede especificar la herramienta de eliminación que se utilizará en el archivo de configuración. -
cmd_rsnapshot-diff
rsnapshot es una
rsync
herramienta de copia de seguridad incremental basada en una tecnología de enlace duro, que puede ayudar a los usuarios a realizar copias de seguridad de los datos con regularidad y conservar varias versiones de los archivos de copia de seguridad. El archivo de copia de seguridad de cada versión se obtiene a través del archivo diferencial generado a partir de la copia de seguridad anterior.cmd_rsnapshot_diff
El parámetro se utiliza para especificar el programa o comando utilizado al generar el archivo de diferencias. Normalmente, el valor predeterminado de este parámetrodiff
es comando, que es una herramienta GNU para comparar las diferencias de dos archivos de texto. Cuando se ejecuta rsnapshot, llamacmd_rsnapshot_diff
al programa especificado por el parámetro para calcular las diferencias entre cada versión y generar los archivos de diferencias correspondientes.
Definir el ciclo de copia de seguridad y la configuración global
87 #########################################
88 # BACKUP LEVELS / INTERVALS #
89 # Must be unique and in ascending order #
90 # e.g. alpha, beta, gamma, etc. #
91 #########################################
92
93 retain alpha 6
94 retain beta 7
95 retain gamma 4
96 #retain delta 3
97
98 ############################################
99 # GLOBAL OPTIONS #
100 # All are optional, with sensible defaults #
101 ############################################
102
103 # Verbose level, 1 through 5.
104 # 1 Quiet Print fatal errors only
105 # 2 Default Print errors and warnings only
106 # 3 Verbose Show equivalent shell commands being executed
107 # 4 Extra Verbose Show extra verbose information
108 # 5 Debug mode Everything
109 #
110 verbose 2
111
112 # Same as "verbose" above, but controls the amount of data sent to the
113 # logfile, if one is being used. The default is 3.
114 #
115 loglevel 3
120 logfile /var/log/rsnapshot
127 lockfile /var/run/rsnapshot.pid
133 #stop_on_stale_lockfile 0
137 #rsync_short_args -a
138 #rsync_long_args --delete --numeric-ids --relative --delete-excluded
142 ssh_args -p 22
148 du_args -csh
177 link_dest 1
178
186 #sync_first 0
187
192 #use_lazy_deletes 0
193
194 # Number of rsync re-tries. If you experience any network problems or
195 # network card issues that tend to cause ssh to fail with errors like
196 # "Corrupted MAC on input", for example, set this to a non-zero value
197 # to have the rsync operation re-tried.
198 #
199 #rsync_numtries 0
-
retain alpha 6
Significa que cada vez que se ejecutarsnapshot alpha
, se creará una nueva instantánea y la nueva instantánea registrará la copia de datos en el momento de la primera copia de seguridad completa. y guarde las últimas seis copias de seguridad en un directorio llamadoalpha.0
, ,... en el directorio raíz de Rsnapshot; luego, la próxima vez que ejecute el comando, el directorio se eliminará y se volverá a crear.alpha.1
alpha.5
alpha.5
"intervalo" es un sinónimo en desuso.
-
OPCIONES GLOBALES
En las opciones globales, preste atención para observar el número de línea y el contenido. Aquí, debido a la longitud, no se muestra por completo y solo se muestran los elementos de configuración.
-
verbose : establece el nivel de verbosidad para la salida.
-
loglevel : establece el nivel del registro.
-
logfile : ubicación del archivo de registro.
-
lockfile : ubicación del archivo de bloqueo.
-
stop_on_stale_lockfile : de forma predeterminada, rsnapshot verifica el archivo de bloqueo, verifica si el PID se está ejecutando y, si no, trata el archivo de bloqueo como obsoleto y se inicia. Si esta opción está habilitada, rsnapshot deja de ejecutarse cuando el PID en el archivo de bloqueo no se está ejecutando.
-
rsync_short_args :
rsync
Argumentos cortos para enviar. -
rsync_long_args :
rsync
Argumentos largos para enviar. -
ssh_args :
ssh
los parámetros enviados a, aquí está el número de puerto especificado. -
du_args :
du
Argumentos a enviar. -
link_dest :
link_dest
el parámetro especifica un directorio de copia de seguridad existente. Al realizar esta copia de seguridad, rsnapshot comparará el archivo de copia de seguridad recién creado con el archivo de copia de seguridad existente en este directorio. Si ya existe un archivo de copia de seguridad y es idéntico, use un enlace físico para copiar el archivo de copia de seguridad en lugar de generar una nueva copia.❓¿Por qué habilito
link_dest
parámetros o uso enlaces físicos? En el archivo de configuración de rsnapshot, el parámetro se establece en un valor nulo
de forma predeterminada , pero no significa que no esté habilitado en absoluto, sino que adopta una estrategia predeterminada implícita llamada "". Cuando no se establece ningún parámetro en el archivo de configuración de rsnapshot , rsnapshot utilizará el directorio de copia de seguridad del día anterior como directorio de enlace físico de forma predeterminada. Si no existe un directorio de copia de seguridad del día anterior, se utiliza el directorio de copia de seguridad existente más reciente.link_dest
implicit defaulting
link_dest
-
sync_first : después de habilitar la opción
sync_first
, rsnapshot sincronizará la última versión del archivo antes de sincronizar el archivo, lo que puede garantizar la precisión de los datos de la copia de seguridad. Es decir, si hay varias versiones de archivos con el mismo nombre en su directorio de origen, rsnapshot solo realizará una copia de seguridad de la última versión y no creará nuevas copias de datos (como beta1, beta2). La ventaja de hacer esto es que se puede reducir el tamaño de los datos de la copia de seguridad y se puede ahorrar el espacio de almacenamiento de la copia de seguridad. También puede mejorar la eficiencia de la copia de seguridad, ya que no es necesario realizar una copia de seguridad de los datos obsoletos.El siguiente es el efecto de la copia de seguridad después de habilitar:
rsnapshot alpha ll -a /rsnapshot_back/ total 16 drwxr-xr-x 3 zhangyu zhangyu 4096 May 5 08:46 ./ drwxr-xr-x 21 root root 4096 May 4 06:40 ../ drwxr-xr-x 3 root root 4096 May 5 08:27 alpha.1/ -rw-rw-r-- 1 zhangyu zhangyu 130 May 4 09:17 back.exclude rsnapshot alpha ll -a /rsnapshot_back/ total 16 drwxr-xr-x 3 zhangyu zhangyu 4096 May 5 08:46 ./ drwxr-xr-x 21 root root 4096 May 4 06:40 ../ drwxr-xr-x 3 root root 4096 May 5 08:27 alpha.2/ -rw-rw-r-- 1 zhangyu zhangyu 130 May 4 09:17 back.exclude
Es decir, no se conservarán más de 5 directorios, pero las copias de seguridad se realizarán de forma iterativa.
-
use_lazy_deletes :
use_lazy_deletes
Es una opción en rsnapshot, su función es especificar si habilitarlazy delete
el modo al hacer una copia de seguridad. En este modo, la operación de eliminación no elimina el archivo del disco inmediatamente, sino que lo marca como eliminación pendiente y la eliminación real se realizará en la próxima copia de seguridad. Esto reduce el tiempo y el uso del disco necesarios para las copias de seguridad. -
rsync_numtries : el número de reintentos fallidos de rsync.
-
Definir el directorio de respaldo
Configuré para hacer una copia de seguridad del contenido del directorio local /home
, en una carpeta debajo de /etc
la /usr/local
raíz de la instantánea (se creará automáticamente) y configuré para hacer una copia de seguridad del directorio del host remoto (especifique el archivo) en la raíz de la instantánea (bajo la raíz de la instantánea del servidor de respaldo) en el directorio.localhost
client
hosts
/home
client
Aviso
No
/rsnapbackup/local
especifiquéclient/
la ruta completa (es decir,) en la configuración anterior, porque hemos mencionadoRoot
el directorio de respaldo anteriormente, por lo que no necesitamos especificar el directorio raíz de Rsnapshot aquí.
221 ###############################
222 ### BACKUP POINTS / SCRIPTS ###
223 ###############################
224
225 # LOCALHOST
226 backup /home/ localhost/
227 backup /etc/ localhost/
228 backup /usr/local/ localhost/
237 # EXAMPLE.COM
239 backup root@client:/home/ client/
Tenga en cuenta que la ruta de destino especificada aquí se basa en la suposición de que el indicador (que significa crear un enlace de ruta relativa) se pasa a través rsync_long_args
del parámetro .--relative
rsync
realizar copia de seguridad
Los siguientes parámetros del comando rsnapshot se enumeran a continuación para la copia de seguridad.
-
prueba de configuración de la instantánea
Compruebe si el archivo de configuración es correcto.
rsnapshot configtest Syntax OK
-
rsnapshot -t alpha
comprueba si la copia de seguridad se puede ejecutar correctamente, es decir, imprime el comando que se ejecutará en el terminal.rsnapshot -t alpha echo 1776175 > /var/run/rsnapshot.pid mkdir -m 0700 -p /rsnapshot/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ /home/ /rsnapshot/alpha.0/localhost/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ --rsh=/usr/bin/ssh -p 22 [email protected]:/home/ \ /rsnapshot/alpha.0/client/ touch /rsnapshot/alpha.0/
❓ Esto introduce el principio de la copia de seguridad. Podemos encontrar uno que haya sido respaldado muchas veces para ver qué comandos ejecutará.
echo 161392 > /var/run/rsnapshot.pid mv /rsnapshot_back/alpha.3/ /rsnapshot_back/alpha.4/ mv /rsnapshot_back/alpha.2/ /rsnapshot_back/alpha.3/ mv /rsnapshot_back/alpha.1/ /rsnapshot_back/alpha.2/ mv /rsnapshot_back/alpha.0/ /rsnapshot_back/alpha.1/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ --link-dest=/rsnapshot_back/alpha.1/localhost/ /home/ \ /rsnapshot_back/alpha.0/localhost/
Este proceso consiste en renombrar el nombre de cada directorio al revés, es decir,
alpha.0
siempre es el último respaldo, y cuanto mayor sea el número, mayor será el tiempo de existencia. Y durante el proceso de copia de seguridad, los mismos archivosalpha.0
conalpha.1
los mismos archivos se sincronizan mediante enlaces físicos.
Por lo tanto, si necesita obtener la última versión de los datos, puede consultaralpha.0
el contenido de . Sin embargo, tenga en cuenta que si necesita comparar o restaurar datos respaldados anteriormente, debe usaralpha.1
los archivos porquealpha.1
todas las versiones de las copias de seguridad históricas se guardan en formato . -
instantánea de ti
Mostrar el uso del disco en la raíz de la instantánea. Puede aceptar una ruta de destino opcional para comparar entre instantáneas (por ejemplo,
localhost/home/user/foo
).rsnapshot du 7.0G /rsnapshot/alpha.0/ 7.0G total
du -hc --max-depth=2 /rsnapshot/alpha.* 6.9G /rsnapshot/alpha.0/client/home 6.9G /rsnapshot/alpha.0/client 67M /rsnapshot/alpha.0/localhost/home 67M /rsnapshot/alpha.0/localhost 7.0G /rsnapshot/alpha.0
-
rsnapshot diferencia
Esta es
rsnapshot-diff
la interfaz frontal de un programa. Puede aceptar dos argumentos opcionales que pueden ser una ruta del sistema de archivos o un directorio de copia de seguridad en el directorio raíz de la instantánea. De forma predeterminada, se comparan las dos instantáneas más recientes.rsnapshot diff alpha.0 alpha.3 Comparing /rsnapshot/alpha.3 to /rsnapshot/alpha.0 Between /rsnapshot/alpha.3 and /rsnapshot/alpha.0: 112 were added, taking 7393165017 bytes 0 were removed, saving 0 bytes
-
sincronización instantánea
Sincroniza archivos sin rotación. "
sync_first
" necesita estar habilitado para funcionar correctamente. Si se proporciona un destino de punto de copia de seguridad completo en los argumentos opcionales, solo se sincronizarán esos archivos.Se debe especificar un directorio al ejecutar el comando, que es el directorio de sincronización.
Resumir
Este artículo presenta los conceptos básicos de la copia de seguridad de instantáneas de Rsnapshot, incluida la definición del directorio de copia de seguridad y los parámetros de comando para realizar la copia de seguridad. Estos incluyen opciones como link_dest
y sync_first
, y argumentos de comando como configtest
, y . Además, también presenta el principio de la copia de seguridad y cómo ver el uso del disco de los datos de la copia de seguridad.du
diff
sync
documentos de referencia
rsnapshot, una utilidad de copia de seguridad del sistema de archivos remoto local para Linux