Script BASH – Respaldo incremental de directorio.

#!/bin/bash

# Rutas de directorios de origen y destino
directorio_origen="/ruta/del/directorio/origen/"
directorio_destino="/ruta/del/directorio/destino/"

# Nombre de archivo de registro
archivo_log="respaldo.log"

# Fecha actual
fecha_actual=$(date +%Y%m%d%H%M%S)

# Realizar respaldo incremental (El comando "rsync" va en una sola linea)
rsync -a --delete --backup --backup-dir="$directorio_destino$fecha_actual" "$directorio_origen" "$directorio_destino" >> "$archivo_log"

# Registrar la información del respaldo en el archivo de registro
echo "Fecha de respaldo: $(date)" >> "$archivo_log"
echo "Directorio de origen: $directorio_origen" >> "$archivo_log"
echo "Directorio de destino: $directorio_destino" >> "$archivo_log"
echo "Respaldo incremental creado en: $directorio_destino$fecha_actual" >> "$archivo_log"
echo "------------------------------" >> "$archivo_log"

echo "Respaldo incremental completado."

En este ejemplo, se utiliza el comando rsync para realizar un respaldo incremental del directorio de origen ($directorio_origen) al directorio de destino ($directorio_destino). El respaldo se realiza utilizando las opciones -a para mantener los atributos y permisos, --delete para eliminar archivos en el directorio de destino que ya no existen en el directorio de origen, y --backup para crear copias de seguridad de los archivos modificados o eliminados.

Además, se utiliza la opción --backup-dir para especificar el directorio de destino donde se guardarán las copias de seguridad de los archivos modificados o eliminados, utilizando la fecha actual en el nombre del directorio ($directorio_destino$fecha_actual) para hacer que el respaldo sea incremental.

La información del respaldo se registra en un archivo de registro ($archivo_log) que incluye la fecha del respaldo, los directorios de origen y destino, y el directorio de destino donde se guardaron las copias de seguridad.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *