[wiki:manual_regente_windows Volver al manual de instalación de Regente en Windows] [[BR]] == Manual de instalación de Rsync == [[BR]] Cambiar los nombres siguientes archivos de tal manera que no tengan el mismo nombre que el distribuidor: [[BR]] == Windows: == * C:\proyectos\regente\_ent\'''nomsuc.ini''' [[BR]] * Acomodar (suscriptornomsuc.php) [[BR]] * Acomodar (indexmnomsuc.html) [[BR]] * C:\proyectos\regente\'''suscriptornomsuc.php''' [[BR]] * Acomodar (suscriptor.bat) [[BR]] * C:\proyectos\regente\'''indexnomsuc.html''' [[BR]] * Acomodar (http.conf) [[BR]] == Linux: == * /var/www/html/regente/_ent/'''nomsuc.ini''' [[BR]] * Acomodar (suscriptornomsuc.php) [[BR]] * Acomodar (indexmnomsuc.html) [[BR]] * /var/www/html/replicacion/tareas/'''suscriptornomsuc.php''' [[BR]] * Acomodar (suscriptornomsuc.php) [[BR]] * /var/www/html/regente/'''indexnomsuc.html''' [[BR]] * Acomodar (http.conf) [[BR]] 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/'''. [[BR]] [[BR]] == Pasos para conectarse al Distribuidor sin contraseña == [[BR]] == Windows: == Descargar Rsync http://www.bircherasociados.com.ar/soft/cwRsync_5.4.1_x86_Free.zip y descomprimirlo en la carpeta '''C:\cwRsync'''. [[BR]] * Agregar en el PATH de Windows: [[BR]] {{{ #!div style="border: 0pt solid; text-align: center" [[Image(Path_Rsync.png)]] }}} * En Windows a través de una consola '''(cmd)''' chequear con el comando '''set''' que figure el PATH que acabamos de agregar. [[BR]] {{{ #!div style="border: 0pt solid; text-align: center" [[Image(cmd1.png)]] }}} Luego crear el directorio '''C:\home\sistemas\''' en donde se guardarán los siguientes archivos: [[BR]] * PASO 1) En cada servidor suscriptor generar el par de clave pública y privada. [[BR]] 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. [[BR]] De esta manera se generaron dos archivos: uno la '''clave pública''' y otro la '''clave privada'''. Estos son: [[BR]] '''Linux:''' [[BR]] '''/root/.ssh/id_rsa''' (clave privada) [[BR]] '''/root/.ssh/id_rsa.pub''' (clave pública) [[BR]] '''Windows:''' [[BR]] '''C:\home\sistemas\id_rsa''' (clave privada) [[BR]] '''C:\home\sistemas\id_rsa.pub''' (clave pública) [[BR]] {{{ #!div style="border: 0pt solid; text-align: center" [[Image(cmd2.png)]] }}} * PASO 2) Desde cada servidor suscriptor copiar la clave pública que se acaba de generar al servidor distribuidor: [[BR]] '''Linux:''' [[BR]] '''scp -Cp -P 5900 /root/.ssh/id_rsa.pub root@ip_servidor_vpn:/root/.ssh/id_rsa_nomsuc.pub'''. [[BR]] '''Windows:''' [[BR]] Copiar con '''WinSCP'''. [[BR]] '''Sobre id_rsa_nomsuc.pub: nomsuc es el nombre de la sucursal suscriptora'''. [[BR]] * PASO 3) En el distribuidor agregar al archivo '''/root/.ssh/authorized_keys''' la clave pública recientemente copiada desde el suscriptor. [[BR]] [[BR]] '''cat /root/.ssh/id_rsa_nomsuc.pub >> /root/.ssh/authorized_keys'''. [[BR]] Probar desde el servidor suscriptor con ssh, scp, rsync, etc. y no deberá pedir contraseña para el usuario root. [[BR]] [[BR]] Probar la conexión con: [[BR]] '''ssh -p 5900 ip_servidor_vpn -l root''' y tiene que conectarse al Distribuidor sin pedir contraseña. [[BR]] En Linux: '''ssh -p 5900 ip_servidor_vpn''' [[BR]] [[BR]] Crear el .bat y la tarea programa para que actualice: [[BR]] [[BR]] 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). [[BR]] Contenido del bat: [[BR]] {{{ rsync -arq -e "ssh -p 5900" --exclude "regente/_tmp" root@ip_servidor_vpn:/var/www/html/ /cygdrive/c/proyectos/ }}} Windows: [[BR]] Desde una cmd con permisos de administrador ejecutamos lo siguiente para crear la tarea programa: [[BR]] [[BR]] '''schtasks /create /tn rsincronizar /sc MINUTE /tr c:\proyectos\replicacion\tareas\rsincronizar.bat'''. [[BR]] [[BR]] Ir a Propiedades de la tarea '''rsincronizar''' y dejando como están en las siguientes imágenes: [[BR]] {{{ #!div style="border: 0pt solid; text-align: center" [[Image(rsincronizar1.png)]] }}} {{{ #!div style="border: 0pt solid; text-align: center" [[Image(rsincronizar2a.png)]] }}} {{{ #!div style="border: 0pt solid; text-align: center" [[Image(rsincronizar3.png)]] }}} {{{ #!div style="border: 0pt solid; text-align: center" [[Image(rsincronizar4.png)]] }}} == IMPORTANTE: == Antes de ejecutar la tarea programada, probar manualmente desde un cmd con la siguiente línea: [[BR]] {{{ 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) [[BR]] Controlar en el Distribuidor que no haya ningún .exe, .zip, .dmp o .backup para que no actualice demás. [[BR]] == Linux: == Agregar la tarea '''rsynccond.job''' en el crontab del root [[BR]] '''crontab -e''' {{{ #Sincronizar servidores con rsync 0 * * * * /var/www/html/replicacion/tareas/rsynccond.job }}} En el editor '''ESC'''+''':wq''' para guardar y salir [[BR]] Crear la tarea '''rsynccond.job''' [[BR]] '''pico /var/www/html/replicacion/tareas/rsynccond.job''' [[BR]] {{{ 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''' [[BR]] '''pico /var/www/html/replicacion/tareas/rsincronizar''' [[BR]] {{{ #!/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/''' [[BR]] '''chmod 775 rsynccond.job''' [[BR]] '''chmod 775 rsincronizar''' [[BR]] Agregarle el valor 1 al archivo '''flag_rsync.txt''' y guardar [[BR]] '''pico /var/www/html/replicacion/tareas/flag_rsync.txt''' [[BR]] == IMPORTANTE: == Antes de ejecutar la tarea programada, probar manualmente la siguiente línea: [[BR]] {{{ 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) [[BR]] Controlar en el Distribuidor que no haya ningún .exe, .zip, .dmp o .backup para que no actualice demás. [[BR]] [wiki:manual_regente_windows Volver al manual de instalación de Regente en Windows] [[BR]]