1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/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.