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