Volver al manual de instalación de Regente en Windows

Manual de instalación de Rsync


Cambiar los nombres siguientes archivos de tal manera que no tengan el mismo nombre que el distribuidor:

Windows:

  • C:\proyectos\regente\_ent\nomsuc.ini
    • Acomodar (suscriptornomsuc.php)
    • Acomodar (indexmnomsuc.html)
  • C:\proyectos\regente\suscriptornomsuc.php
    • Acomodar (suscriptor.bat)
  • C:\proyectos\regente\indexnomsuc.html
    • Acomodar (http.conf)

Linux:

  • /var/www/html/regente/_ent/nomsuc.ini
    • Acomodar (suscriptornomsuc.php)
    • Acomodar (indexmnomsuc.html)
  • /var/www/html/replicacion/tareas/suscriptornomsuc.php
    • Acomodar (suscriptornomsuc.php)
  • /var/www/html/regente/indexnomsuc.html
    • Acomodar (http.conf)

Luego copiar nomsuc.ini en el directorio /var/www/html/regente/_ent del Distribuidor y el archivo indexnomsuc.html en el directorio /var/www/html/regente/.

Pasos para conectarse al Distribuidor sin contraseña


Windows:

Descargar Rsync http://www.bircherasociados.com.ar/soft/cwRsync_5.4.1_x86_Free.zip y descomprimirlo en la carpeta C:\cwRsync.

  • Agregar en el PATH de Windows:

  • En Windows a través de una consola (cmd) chequear con el comando set que figure el PATH que acabamos de agregar.

Luego crear el directorio C:\home\sistemas\ en donde se guardarán los siguientes archivos:

  • PASO 1) En cada servidor suscriptor generar el par de clave pública y privada.

En el servidor de la sucursal (suscriptor) como root o administrador (Windows) ejecutar el comando ssh-keygen. Luego de ejecutarlo dar tres enter para dejar las respuestas por defecto.
De esta manera se generaron dos archivos: uno la clave pública y otro la clave privada. Estos son:

Linux:
/root/.ssh/id_rsa (clave privada)
/root/.ssh/id_rsa.pub (clave pública)

Windows:
C:\home\sistemas\id_rsa (clave privada)
C:\home\sistemas\id_rsa.pub (clave pública)

  • PASO 2) Desde cada servidor suscriptor copiar la clave pública que se acaba de generar al servidor distribuidor:

Linux:
scp -Cp -P 5900 /root/.ssh/id_rsa.pub root@ip_servidor_vpn:/root/.ssh/id_rsa_nomsuc.pub.

Windows:
Copiar con WinSCP.

Sobre id_rsa_nomsuc.pub: nomsuc es el nombre de la sucursal suscriptora.

  • PASO 3) En el distribuidor agregar al archivo /root/.ssh/authorized_keys la clave pública recientemente copiada desde el suscriptor.


cat /root/.ssh/id_rsa_nomsuc.pub >> /root/.ssh/authorized_keys.
Probar desde el servidor suscriptor con ssh, scp, rsync, etc. y no deberá pedir contraseña para el usuario root.

Probar la conexión con:
ssh -p 5900 ip_servidor_vpn -l root y tiene que conectarse al Distribuidor sin pedir contraseña.
En Linux: ssh -p 5900 ip_servidor_vpn

Crear el .bat y la tarea programa para que actualice:

A diferencia de los linux se creó el archivo rsincronizar.bat en la carpeta C:\proyectos\replicacion\tareas y se creó una tarea programada para que se ejecute cada 1 hora todos los días. Otra diferencia es que no se lee el flag_rsync.txt (en la práctica nunca lo usamos).
Contenido del bat:

rsync -arq -e "ssh -p 5900" --exclude "regente/_tmp" root@ip_servidor_vpn:/var/www/html/ /cygdrive/c/proyectos/

Windows:
Desde una cmd con permisos de administrador ejecutamos lo siguiente para crear la tarea programa:

schtasks /create /tn rsincronizar /sc MINUTE /tr c:\proyectos\replicacion\tareas\rsincronizar.bat.

Ir a Propiedades de la tarea rsincronizar y dejando como están en las siguientes imágenes:

IMPORTANTE:

Antes de ejecutar la tarea programada, probar manualmente desde un cmd con la siguiente línea:

rsync -arv -e "ssh -p 5900" --exclude "regente/_tmp" root@ip_servidor_vpn:/var/www/html/ /cygdrive/c/proyectos/

Tiene que mostrar la actualización en curso (por lo general ésta es la mas grande, ya que es la primer vez que se ejecuta)
Controlar en el Distribuidor que no haya ningún .exe, .zip, .dmp o .backup para que no actualice demás.

Linux:

Agregar la tarea rsynccond.job en el crontab del root

crontab -e

#Sincronizar servidores con rsync
0 * * * * /var/www/html/replicacion/tareas/rsynccond.job

En el editor ESC+:wq para guardar y salir

Crear la tarea rsynccond.job
pico /var/www/html/replicacion/tareas/rsynccond.job

scp -Cp -P 5900 root@ip_del_distribuidor:/var/www/html/replicacion/tareas/flag_rsync.txt /var/www/html/replicacion/tareas/
/var/www/html/replicacion/tareas/rsincronizar

Crear la tarea rsincronizar
pico /var/www/html/replicacion/tareas/rsincronizar

#!/bin/bash
read var1 < /var/www/html/replicacion/tareas/flag_rsync.txt
if [ "$var1" -eq 1 ]
then
rsync -arq --exclude="regente/_tmp" -e "ssh -p 5900" root@ip_del_distribuidor:/var/www/html/ /var/www/html
else echo "flag_rsync.txt igual a $var1"
fi

cd /var/www/html/replicacion/tareas/
chmod 775 rsynccond.job
chmod 775 rsincronizar

Agregarle el valor 1 al archivo flag_rsync.txt y guardar
pico /var/www/html/replicacion/tareas/flag_rsync.txt

IMPORTANTE:

Antes de ejecutar la tarea programada, probar manualmente la siguiente línea:

rsync -arv --exclude="regente/_tmp" -e "ssh -p 5900" root@ip_del_distribuidor:/var/www/html/ /var/www/html

Tiene que mostrar la actualización en curso (por lo general ésta es la mas grande, ya que es la primer vez que se ejecuta)
Controlar en el Distribuidor que no haya ningún .exe, .zip, .dmp o .backup para que no actualice demás.

Volver al manual de instalación de Regente en Windows

Attachments