Importación para i.golfalia.net

Publicado en 9 marzo, 2015

i.golfalia.net es la dirección que servirá las imágenes de golfinspain a partir de ahora. El mismo dominio acabado en .org funciona exactamente igual, pero los enlaces y redirecciones irán al .net para estandarizarlo. Las rutas van a cambiar hacia algo similar a Picasa, pero el proceso es el mismo.

CONFIGURACIÓN

El programa que hará la sincronización es lsyncd, actualmente en vhome (192.168.0.100) y puesto para el arranque. Habrá que instalarlo en las maquinas donde se quiera monitorizar alguna carpeta, como la nueva de debian 64. Tengo también una alerta en el system and server status la cual si el lsyncd dejara de funcionar se enviaría un correo y se reiniciaría.

La carpeta a monitorizar es: /home/smb/serverGIS/docsbackend/GISGALERIAS.

La carpeta de destino en box: /home/webs/golfinspain.com/galerias_tagr (puesta aquí dado que galerías también estaba en esta ruta).

Una vez se han hecho cambios en la carpeta de origen se ejecuta el lsyncd, que hace una sincronización por rsync y ejecuta un comando posterior. La configuración está en: /etc/lsyncd/lsyncd.conf.lua, el log del lsyncd en /var/log/lsyncd, donde también se encuentra el del propio rsync. Podemos también editar la configuración generica del lsyncd en: /etc/init.d/lsyncd. Solo va a existir un proceso de lsyncd y en este se acumulan cambios de 10 segundos antes de ejecutarse.

COMANDO POSTERIOR

El comando posterior, ejecutado en f13 es: /usr/local/bin/update2tagr.sh.

Lo primero que hace, una vez hecho el rsync, es traer el log del rsync de vhome y eliminarlo de origen, para siempre traer únicamente los cambios del último rsync. Esto puede cambiarse en breve a que rote el log de origen en cada rsync, manteniendo los últimos 5.

Luego con un vzctl exec 100 llamamos a /usr/local/bin/phtagr_lsyncd.sh pasándole como parámetros la ruta de galerias_tagr y la del rsync_log, que lo hemos copiado en la misma carpeta que las imágenes.

PHTAGR_LSYNCD.SH

Lo primero es generar una cookie mediante Python, ya que el sistema requiere autentificación. Requerimos del python 2.7 para instalar python-requests.

Hacemos una petición cURL a http://i.golfalia.net/browser/lsyncd pasandole estos dos parámetros como $data[‘folder_root’] y $data[‘lsynclog’] por el metodo _POST.

I.GOLFALIA.NET/BROWSER/LSYNCD

Esta función comprueba el lsynclog y encontrará lineas así:

2015/03/09 11:01:57 [9731] *deleting   gispack351_1/DORM 2 - copia.jpg

Dividimos por espacios hasta un máximo de 5, quedando así:

2015/03/09
11:01:57
[9731]
*deleting
gispack351_1/DORM 2 - copia.jpg

Quedándonos con el cuarto $[3] y el quinto $[4]. Dependiendo del $[3] haremos una acción u otra. Si es «*deleting» llamaremos a _lsyncdelete pasándole la ruta completa, mientras que si es «<f+++++++++» (archivo nuevo) o «<f.sT……» (modificado) llamaremos a la función _lsyncimport, que hace el mismo proceso que import pero adaptado al lsyncd y a la importación por consola.


Sin respuestas to "Importación para i.golfalia.net"


    ¿Algo que comentar?