Blogs

excluir un directorio de rsync

Rsync es una herramienta perfecta para hacer copias de seguridad, incluso de un directorio a otro dentro de la propia máquina. Con Drupal, por ejemplo, o con wordpress, te ahorra muchos quebraderos de cabeza, y te permite tener una copia de seguridad totalmente actualizada e incluso sincronizada via cron (en el caso de servidores linux o *ix en general).

La idea es tener un directorio en un disco montado fuera del sistema, por ejemplo en /mnt/discobackups, y hacer el rsync desde él:

rsync -avz /var/www/dominio.com/httpdocs/ /mnt/discobackups

Facil, verdad? Ahora bien, cuando empezamos a recibir tráfico es importante usar una herramienta o un plugin de cache, como boost en Drupal o su alternativa en Joomla, wordpress y demás. Esto deja mucha basura que no vamos a querer copiarnos a nuestra carpeta de backup, y que de hecho tendríamos que estar sincronizando casi al minuto. Pues bien, la solución es bien fácil, excluimos la carpeta donde el sistema esté escribiendo los datos de "caching". En drupal esta carpeta suele estar almacenada en /RUTA-A-DRUPAL/sites/cache o directamente en /RUTA-A-DRUPAL/cache.

Haremos la magia con la directiva --exclude, de la siguiente forma:

rsync -avz --exclude 'sites/cache' /var/www/dominio.com/httpdocs/ /mnt/discobackups

donde la ruta 'sites/cache' es relativa al directorio que estemos sincronizando, en este caso

/var/www/dominio.com/httpdocs/

Syntax highlight (coloreado de sintaxis) en drupal

Nada más sencillo, y necesario en un blog sobre programacion web que se precie, que un sistema de coloreado de sintaxis para mostrar el código en un formato amigable o user friendly.

De todas las opciones que he probado, la que más me ha gustado por su sencillez de instalación y flexibilidad de uso en Geshi filter. Para usarlo:

  1. lo descargaremos desde su web en drupal.org, 
  2. lo descomprimimos en sites/all/modules y activamos en admin/build/modules
  3. vamos a la página de configuración y "sazonamos al gusto" desde admin/settings/geshifilter
  4. por último, lo activamos para el tipo de contenido en el que queramos usarlo. Por ejemplo, en mi caso blog type: admin/content/node-type/blog
  5. y lo habilitamos en el editor de texto que usemos, como wysiwyg, tinymce o derivados. En wysiwyg vamos a admin/settings/wysiwyg

Para comenzar a usarlo a mi me gusta este módulo porque tenemos control absoluto sobre el código y tenemos que añadir a mano la región y el tipo de lenguaje que vamos a usar a continuación. Como ventaja, soporta mayor cantidad de formatos que el resto, como bash, rails, sql, robots.txt, ada, mIRC Scripting, ...

Un ejemplo, comenzamos un trozo de código, usamos <code type="LENGUAJE"></code> donde LENGUAJE es el lenguaje que vamos a querer resaltar. Por ejemplo:

 

  <code language="java">

  for (int i; i<10; ++i) {

    dothisdothat(i);

  }

  </code>

se vería de esta forma:

for (int i; i<10; ++i) { dothisdothat(i); }

 

Programador web de bajo coste

ProgramadoresWeb es una iniciativa, casi una necesidad, de poder plasmar toda la información con la que me pego a diario trabajando como Programador Web, y que habitualmente almaceno en sitios como diigo, delicious o incluso en una agenda de desarrollo propio y que me acompaña a diario en mi pequeño Mac Book Air.

Soy experto, con perdón, en desarrollo en Drupal y, en menor grado de "experto" en Ruby on Rails. Esto tiene su explicación ya que la mayoría de proyectos a los que me enfrento a diario pueden afrontarse haciendo pequeñas modificaciones, programando unas pequeñas líneas de código sobre Drupal en lugar de levantar un software completo en Rails o en cualquier otro lenguaje, por muy sencillo que sea.

Por tanto, si buscas un programador web a bajo coste estás en el sitio adecuado :-)