En este Artículo vamos a ver como se pueden sincronizar una carpeta interna con una carpeta de nuestro disco USB, desde Synology Drive no permite hacer esto, solo sincronizar con equipos externos. Así que para ello vamos a crear un pequeño Bash Script en Linux, que sincronice nuestras carpetas con Rsync (Ya instalado en nuestro Nas) y programar la ejecución cada cierto tiempo.
Tened en cuenta la cantidad de archivos a sincronizar para que no tarde mucho en realizar el sincronizado.
Así que antes de sincronizar una carpeta grande os recomiendo crear una carpeta de prueba, y poner solo dos archivos. Así podemos ver como trabaja el script. Antes de que hagamos algo equivocado y perdamos nuestra información.
Tabla de contenidos
Requisitos
- Un Nas Synology
El mejor NAS para casa, encuentra el que necesitas
- Un disco Duro Usb
Si necesitas un disco duro externo para copias de tu Synology prueba con este WD de 5 TB
Sincronizar Una carpeta con un Disco Duro USB
Para hacer esta sincronización tenemos que hacer primero unos pasos Previos.
Obtener Rutas de las Carpetas
IMPORTATE: HAY QUE PONER LAS CARPETAS CORRECTAMENTE SINO PODEMOS PERDER INFORMACIÓN, aunque este el modo «Backup activo» en Rsync, si nos equivocamos y las ponemos al revés puede ser problemático.
Lo primero vamos a obtener las rutas de las carpetas que vamos a copiar. Para ello abriremos File Station, y buscaremos la carpeta que queremos sincronizar. Ahora desde File Station.
Yo personalmente para este articulo, he creado una carpeta compartida llamada descargas. Y dentro he creado una carpeta llamada «Prueba«, que es la que voy a sincronizar.. Ahora para ver la ruta hago clic derecho encima de la carpeta y le doy a propiedades:
Obtenemos Ruta Origen (La ruta que queremos sincronizar hacer Backup)
/volume1/descargas/prueba
* En el caso de Querer hacer backup de todo el disco volumen deberíamos utilizar
Tened cuidado si utilizáis esta opción.
/volume1/
Ahora nos aseguramos de que el USB este conectado, por lo que nos aparecerá en File Station una carpeta llamada usbshare1-2, aunque puede variar el numero del final usbshare2-2 por ejemplo.
Podemos poner la ruta Global del disco, peo si tenemos cosas se eliminarán. Así que antes recomiendo hacer un Backup de datos del Disco duro Externo si tenemos algo necesario.
Creamos una carpeta llamada sync, dentro aparecera la carpeta que hemos sincronizado . Si le damos al botón derecho y propiedades sobre la carpeta creada nos devolverá la siguiente ruta:
Obtenemos Ruta Destino (Carpeta de nuestro usb donde vamos a copiar los datos)
/volumeUSB1/usbshare1-2/sync/
Crear archivo Exlude
Lo vamos a crear dentro de la carpeta compartida descargas, llamándolo «exclude_list.txt». Al darle al botón derecho y propiedades la ruta será:
Ruta de archivo Exlude
/volume1/descargas/exclude-list.txt
Para evitar que nos copie la carpeta de reciclaje y otro tipo de directorios vamos a añadir estos dos elementos al archivo exclude_list.txt
- ‘#recycle’
- @eaDir
'#recycle' @eaDir
Además podemos añadir el nombre de las carpetas o archivos que no vayamos a sincronizar. por ejemplo:
añadimos cada carpeta o archivo en una nueva linea.
por ejemplo:
'#recycle' @eaDir MI CARPETA PARA NO SINCRONIZAR/ ARCHIVO.PDF
Preparar el Script
Ahora necesitamos preparar el script que va a realizar el sincronizado de nuestra carpeta con el USB.
En nuestro caso solo vamos a reemplazar las carpetas que hemos obtenido anteriormente:
- origen=PONER MI CARPETA LOCAL
- destino=PONER RUTA CARPETA USB
- exclude_list=PONER MI ARCHIVO EXCLUDE
origen="/volume1/descargas/prueba" destino="/volumeUSB1/usbshare1-2/sync/" exclude_list="/volume1/descargas/exclude-list.txt" if [ -d $origen ] && [ -d $destino ] then echo "Sí, sí existe. procesamos RSYNC" rsync --progress -ab --delete --backup-dir=$destino/BACKUPS/backup_$(date +%y%m%d%H%M) $origen* $destino --exclude-from $exclude_list else echo "No existen las rutas para ejecutar la sincronización" fi
Cada parámetro representa una cosa, podéis modificarlo a vuestro gusto pero siempre con cuidado, Como Funciona el comando rsync:
- –progress
Muestra el proceso en el email que nos llegará (Todo lo sincronizado) - -ab
- a: archivar archivos y directorios mientras se sincroniza
- b: Crea un backup de los archivos borrados en la ruta –backup-dir
- –delete : elimina en destino los archivos borrados en origen
- –backup-dir=$destino/BACKUPS/backup_$(date +%y%m%d%H%M)
Crea archivos de backup en la ruta especificada. - $origen*
sincroniza todos los archivos contenidos en $origen, el * es para que sea todo. - $destino
Ruta del USB que hemos obtenido anteirormente - –exclude-from $exclude_list
Lista de archivos o directorios a omitir de la sincronización.
Programar Tarea
Ahora vamos al programador de tareas de nuestro Synology. Para ello Abrimos «Panel de Control» y después «Programador de Tareas» y Creamos una nueva tarea.
Ponemos Nombre a la tarea
Vamos a poner nombre a la tarea y y vamos a utilizar el nombre «Backup Carpeta a USB», y de Usuario vamos a dejar el usuario Root.
Repetición de la tarea
En este caso la hemos dejado por defecto todos los días a las 12 de la noche, para que no nos interfiera, cuando la estamos usando.
Dependiendo del tiempo que tarde la tarea en sincronizarse podemos disminuir el tiempo. Este tipo de procesos se realiza en segundo plano y utilizando una prioridad baja para no interferir en nuestro trabajo, por lo tanto es algo más lento que ejecutarlo directamente.
Configurar la tarea
Ahora vamos a configurar la tarea, inicialmente vamos a activar :
- Activamos «Enviar detalles de Ejecución por correo electrónico» para comprobar que todo funciona.
- ponemos un email para recibir las notificaciones.
- Una vez que probemos que todo esta correcto podemos activar que nos avise solo si hay error o desactivarlo.
- Vamos a copiar el Script entrero con las rutas que hemos sustituido en el cuadro «Script Definido por el Usuario«
Pruebas de Script
- Copiar 2 Archivos a la carpeta origen.
- Ejecutar tarea programada desde el gestor de tareas.
- Comprobar que se han sincronizado los 2 archivos.
En la carpeta Sync nos aparecerá la carpeta que hayamos sincronizado, en este caso prueba, con todo su contenido. - Eliminar un archivo.
- Ejecutar tarea programada desde el gestor de tareas
- Comprobar que se ha eliminado el archivo en destino.
Veremos que la carpeta prueba esta sincronizada, y se ha eliminado el archivo que probamos. - Comprobar que existe el archivo en la carpeta Backup.
Ahora al lado de la carpeta prueba tenemos la carpeta Backup.
Conclusiones
Una vez finalizado todo el proceso con las carpetas de prueba y ya nos hemos familiarizado con el funcionamiento ,podemos poner las carpetas destino, tened en cuenta de que la carpeta Backup no se borra, y de vez en cuando debemos borrarla nosotros.
Este tipo de sistema nos puede servir para tener una copia de seguridad sincronizada diaria mente de una carpeta de nuestro Synology a un disco duro USB conectado a nuestro NAS.