Forzar replicacion de directorios csync2
En caso de que tengamos implementada la replicacion de archivos via csync2
es probable que existan casos en los que necesitemos forzar la replicacion de archivos manualmente ya sea para asegurarnos que esta todo replicado o para identificar problemas
Identificar configuración
Lo primero que tenemos que hacer es identificar para que configuración o para que directorio queremos forzar la replicacion
Las configuraciones las podemos encontrar dentro del directorio /etc/csync2/
El csync2
permite tener varias configuraciones diferentes y dentro de cada configuración podemos definir uno o mas directorios que se replicaran, estas configuraciones se definen en los archivos /etc/csync2/csync2_nombreconf.cfg
, donde nombreconf
es el nombre de la configuración.
Forzar la replicacion
Una vez identificado el nombre de la configuración podemos forzar la replicacion con el siguiente comando
csync2 -C nombreconf -xXvrB
Ejemplo, si nuestra configuración se llama www
csync2 -C www -xXvrB
Explicación de las opciones utilizadas:
C
: Para identificar la configuraciónx
: Verifica todos los archivos y sus actualizacionesX
: Verifica archivos borradosr
: Verifica de forma recursiva directorios y sub-directoriosB
: No bloquea la base de datossqlite
con grandes transaccionesv
: habilita el modoverbose
, se puede habilitar mas nivel de detalle agregando la opción varias veces. Ejemplo:csync2 -C www -xXvvvvrB
En algunos casos la replicacion falla debido a que faltan directorios padres en los otros equipos, en estos casos existen 2 soluciones:
- Sincronizar la estructura de directorio a mano, esto seria crear a mano los directorios faltantes en los demás nodos
- Ejecutar la sincronizacion en modo
ejecución inicial
, esto se hace agregando la opción-I
, esto es un tanto arriesgado porque podemos llegar a perder datos, se debe ejecutar en el nodo que tiene la ultima versión de los datos