Sincronización de archivos cwRsync basada en Windows

  

¿Cómo lograr que el usuario retenga llamadas?

Puede utilizar la sesión compartida y la sesión de mantenimiento.

¿Cómo lograr que los archivos de carga de usuarios se puedan acceder en varios servidores?

Puede usar almacenamiento compartido (como NFS, iSCSI, GFS2, etc.) o sincronización de archivos (rsync + sersync + inotify).

En la plataforma IIS + .Net, se enfrentan los mismos dos problemas. El tema de la sesión compartida en IIS se ha tratado en el artículo anterior. La discusión de hoy sobre el segundo cómo lograr acceso a múltiples servidores es la misma información.

La arquitectura lógica del sitio es la siguiente:


Descripción de la arquitectura:

El equilibrio de carga de front-end está programado en el método de programación, si el Método de solicitud es Post , luego se envían a APP1, mientras que otras solicitudes se programan en función de métodos como la menor conexión. Esto se da cuenta de que la carga del usuario siempre accede a la APP1, y los datos de la APP2 están completamente sincronizados con la APP1.

Sincronización usando la implementación de cwRsync. Como Windows no tiene la función Inotify, solo puede lograr la sincronización de tiempo. En la práctica, uso la sincronización cada minuto (considerando que la velocidad de carga del usuario es en realidad mucho menor que la velocidad de la red interna de 1GB, por lo que este esquema es factible). El proceso de implementación específico es el siguiente:

1, preparación del software:

versión del cliente: cwRsync 4.0.5 Installer (última versión 5.22, selección según sea necesario)

Versión del servidor: cwRsyncServer 4.0.5 Instalador (última versión 5.22, seleccione según sea necesario)

2, instalación:

Instale cwRsyncServer en APP1 (temporalmente definido como servidor primario); Windows
La instalación del software es muy sencilla. Al instalar cwRsync, recuerde la siguiente contraseña. Otros valores predeterminados:


Instale la versión del cliente cwRsync en APP2. Lo mismo es cierto por defecto.

3, configuración:

3.1, configuración del lado del servidor

en el directorio de instalación de cwRsync (ruta predeterminada: C: \\ Archivos de programa (x86) \\ ICW), puede Busque un archivo de configuración rsyncd.conf, haga una copia de seguridad de uno y luego modifíquelo.

use chroot = falso

modos estrictos = falso

hosts allow = *

log file = rsyncd.log

uid = 0 ## Especifica que el uid es 0. Si no está especificado, no estará disponible.

gid = 0

#Defina la ruta que se debe sincronizar. El nombre es arbitrario, por lo que es conveniente identificarlo usted mismo

[ ,null,null,3],Bbsapp]

ruta = /cygdrive /d /APPSYSTEM /bbs /# 表示 路径: d: \\ APPSYSTEM \\ bbs

read only = false

ignora los errores

transferencia de registro = sí

hosts permiten = 192.168.18.0/255.255.255.0

auth users = SvcCWRSYNC # 认证 cuenta, la cuenta en el momento de la instalación

archivo de secretos = rsync.password # 密码 文件

Cree un archivo de contraseña rsync.password en el directorio de instalación anterior, el contenido es el siguiente:

SvcCWRSYNC: pw123456

Descripción: el colon está frente a lo anterior El nombre de cuenta, seguido de los dos puntos, es la contraseña que se solicitó durante la instalación y también se puede especificar durante la instalación.

Una vez completada la configuración, puede reiniciar el servicio cwRsync de la siguiente manera:


3.2, configuración del cliente

Ingrese el directorio de instalación predeterminado del cliente C: \\ Archivos de programa (x86) \\ cwRsync, cree un nuevo archivo de contraseña rsync.password y escriba la contraseña del usuario anterior en este archivo (solo la contraseña). Tenga en cuenta que los permisos del archivo deben ser propietarios y los permisos son 600 (es decir, solo el administrador tiene permiso); de lo contrario, se informará del siguiente error al sincronizar:

el archivo de contraseña debe ser propiedad de root cuando se ejecuta como root < Br>

Luego cree un lote en cualquier ubicación, el contenido del comando es el siguiente:

cd /d " C: \\ Archivos de programa (x86) \\ cwRsync \\ bin "

rsync - Avz --delete-after --ignore-errors --progress --password-file = " /cygdrive /c /Archivos de programa (x86) /cwRsync/rsync.password" SvcCWRSYNC @ app1_IP :: bbsapp /cygdrive /d /APPSYSTEM /bbs

Invoca este lote en la tarea programada y configúralo en una vez por minuto.

4, detalles del comando del cliente cwRsync:

-v, --verbose Salida de modo detallado

-q, --quiet Modo de salida reducido

-c, --checksum Activa la suma de comprobación para forzar la comprobación de la transferencia del archivo

-a, --archive Archive, lo que significa que el archivo se transfiere recursivamente y mantiene todos los atributos de archivo iguales a -rlptgoD < Br>

-r, --directorios de tratamiento recursivo en modo recursivo

-R, --relativo Usa información relativa a la ruta de acceso

-b, --backup para crear copias de seguridad, también Simplemente cambie el nombre del archivo antiguo a ~ nombre de archivo cuando ya exista el mismo nombre de archivo para ese propósito. Puede utilizar la opción --suffix para especificar un prefijo de archivo de copia de seguridad diferente.

--backup-dir Almacena los archivos de copia de seguridad (como ~ nombre de archivo) en el directorio.

-suffix = SUFFIX Defina el prefijo del archivo de copia de seguridad

-u, --update Solo actualice, es decir, omita todos los archivos que ya existen en DST, y la hora del archivo es posterior a la del archivo que se va a copiar.
(No sobrescriba los archivos actualizados)

-l, --links Retenga los enlaces blandos

-L, --copy-links Trate los enlaces blandos como archivos regulares

- copy-unsafe-links Simplemente copie el enlace al árbol de directorios de la ruta SRC

--safe-links Ignore el enlace al árbol de directorios de la ruta SRC

-H, --hard-links Retener enlaces duros

-p, --perms Mantener los permisos de archivos

-o, --owner Mantener la información del propietario del archivo

-g, --grupar información de grupo de archivos

-D, --dispositivos mantener información de archivos del dispositivo

-t, --veces mantener información de tiempo de archivos

-S, - -sparse Procesamiento especial de archivos dispersos para ahorrar espacio en DST

-n, --dry-run qué archivos se transferirán

-W, --whole-file No realizar detección incremental

-x, --one-file-system No cruzar los límites del sistema de archivos

-B, --block-size = SIZE Verificar el tamaño de bloque usado por el algoritmo, predeterminado Es 700 bytes

-e, --rsh = COMANDO Especifica usar rsh, ssh para la sincronización de datos

--rsync-path = PATH Especifica la ruta del comando rsync en el servidor remoto.

-C, --cvs-exclude Ignorar automáticamente los archivos de la misma manera que CVS, para excluir los archivos que no desea transferir.

--existente Actualice solo los archivos que ya existen en DST, no haga una copia de seguridad de ellos. Archivos recién creados

--delete Borre los archivos que no están disponibles en SRC en DST

--delete-excluded También borre los archivos en el extremo receptor que están excluidos por esta opción

--delete-after Delete después de que finalice la transferencia

--ignore-errors Se eliminó también el error de IO oportuno

--max-delete = NUM ​​Delete hasta NUM files

- parcial conserva los archivos que no se han transferido completamente por cualquier motivo, así que acelere las retransmisiones posteriores

- obliga a eliminar directorios, incluso si no están vacíos

--numeric-ids No haga coincidir el usuario numérico y la identificación del grupo con el nombre de usuario y el nombre del grupo

--timeout = TIME IP timeout en segundos

Copyright © Conocimiento de Windows All Rights Reserved