Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Este instructivo le mostrará cómo ejecutar un sistema simple de respaldo y recuperación con todas las funciones en Linux usando rdiff-backup y una unidad USB.
Paso 1: supuestos
Voy a asumir un sistema que usa yum para la instalación y he montado tu unidad USB como /mnt//backup. Yo uso fedora, pero puedes usar cualquier cosa y simplemente instalar rdiff-backup como quieras. También está disponible para descargar aquí:
Paso 2: instalar Rdiff-backup
Instalar rdiff-backup [root @ HOST scripts] # yum install rdiff-backup
Paso 3: Identifique los directorios de los que desea realizar una copia de seguridad
Puede hacer una copia de seguridad de todo el sistema, pero eso puede ser excesivo, quiero hacer una copia de seguridad de mi directorio / etc / para cualquier cambio que pueda haber hecho en named, sendmail, network, etc, / data y mis directorios personales.
Paso 4: Automatizar
Claramente, no desea hacer esto a mano. Escribiremos una secuencia de comandos. Lo primero en la secuencia de comandos, verificaremos que la unidad USB esté montada, y saldremos si no lo está. #! / bin / bash # Script para hacer una copia de seguridad en la unidad USB BACKUPBASE = "/ backups" #Compruebe si el destino de la copia de seguridad está montado.if `df -h | grep $ BACKUPBASE> / dev / null `then echo" Iniciando $ 0 `date`" else echo "ERROR: $ BACKUPBASE no montado" echo "$ 0 saliendo de` date` "salir 1fi
Paso 5: escribe una función
A continuación, escribiremos una función para realizar la copia de seguridad. función copia de seguridad {DEST = $ 1 $ 2 SOURCE = $ 2 echo "Src: $ SOURCE" if [-d $ DEST] luego echo "Dest: $ DEST" else mkdir -p $ DEST echo "Dest: $ DEST -created" OPTS = " --force "fi #Realizar copia de seguridad rdiff-backup -v2 --excluir-archivos-especiales $ OPTS $ SOURCE $ DEST #Limpiar archivos de versión anteriores a 4 semanas rdiff-backup -v2 --remove-mayores-de 4W --force $ DEST # Imprima un informe de lo que hicimos una copia de seguridad y lo limpiamos rdiff-backup --list-modified-since 0D23h00m $ DEST}
Paso 6: Dígale al script qué direcciones respaldar
copia de seguridad $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home
Paso 7: Todo junto ahora
#! / bin / bash # Script para hacer una copia de seguridad en la unidad usb BACKUPBASE = "/ backups" #Compruebe si la unidad de copia de seguridad está montada. si `df -h | grep $ BACKUPBASE> / dev / null `then echo" Iniciando $ 0 `date`" else echo "ERROR: $ BACKUPBASE no montado" echo "$ 0 saliendo de` date` "exit 1función backup {DEST = $ 1 $ 2 SOURCE = $ 2 echo" Src: $ SOURCE "if [-d $ DEST] then echo" Dest: $ DEST "else mkdir -p $ DEST echo" Dest: $ DEST -created "OPTS =" - force "fi #Realizar copia de seguridad rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Archivos de versión de limpieza anteriores a 4 semanas rdiff-backup -v2 --remove-old-than 4W --force $ DEST #Imprimir un informe de lo que hicimos copias de seguridad y limpiamos rdiff-backup --list-modified-since 0D23h00m $ DEST} copia de seguridad $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home
Paso 8: agregar a Cron
[scripts root @ HOST] # crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh> /var/log/backup.log 2> & 1
Paso 9: Restaurar
Para restaurar la versión más reciente, simplemente puede copiar el archivo fuera del directorio de respaldo. Si quieres una versión de hace 2 días: rdiff-backup -r 2D /backup/etc/named.conf /etc/named.conf Sencillo y muy efectivo.