Junio 9th, 2009

Sincronizar directorios y copiar solo archivos modificados

Con esto sincronizamos todo el directorio remoto de un equipo en el directorio local que queramos.
Util para que compare los dos directorio y solo compie lo que ha sufrido cambios, respetando los permisos del archivo:

rsync -rvlpz root@<host remoto>:/<directorio remoto>/ /<directorio local>/
los parametros rvlpz son para:

-r = recursivo – procesa sub-directorios y archivos encontrado el la ubicación del fuente o SRC.
-v es utilizado para aumentar la verbosidad desplegado. Después, cuando estamos seguro que esta respaldando lo que deseamos, puede quitar el ‘v’. Sigue incluido en este ejemplo porque el proceso esta ejecutado desde una tarea ‘cron’, y prefiero ‘ver’ lo que hizo. Es por cada individuo a decidir.
-l = links (acoplamientos) – cuando los acoplamientos simbólicas (symlinks) se encuentro, recrearlo en el sistema destinaría.
-p = permisos – dice a rsync a fijar los permisos en el destinaría igual que el fuente (SRC).
-z se utiliza para comprimir los datos que serán transferido o copiado, con el resulto que el proceso de copiado se realizo más rápido, porque los datos siendo transferido es más pequeño que el tamaño verdadero.

Junio 3rd, 2009

Unir tablas sin + SQL

La mayoría de los proyectos en los que he trabajado, siempre han tenido bases de datos mysql o oracle en su defecto, pero ultimamente estoy trabajando con PostgreSQL. Esta tiene ventajas como Triggers, herencias y demás que son motivos de por si solas para un nuevo artículo. Lo que voy a comentar en este, es que en oracle tenía la posibilidad de hacer una unión externa con el simbolo (+) en los elementos seleccionados.  Así consigo seleccionar los elementos que no tienen un reciproco en otra tabla. Mi duda era como hacer esto tanto en mysql como en postgreSQL aquí la respuesta

SELECT d.departamento, e.empleado
FROM   dept d
LEFT   JOIN emp e ON e.departamento = d.departamento

Lo que se hace, es invertir las para que la de la “izquierda” (LEFT join) se convierta en la más importante. También, la claúsula WHERE se encuentra eliminada y ahora el criterio de unión está en la claúsula “ON” del LEFT JOIN.