Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 7 de noviembre de 2014

Ubuntu 14.10 y MySQL Workbench 6.2 No muestra resultados de la consulta (query)

MySQL Workbench es una herramienta visual de diseño de bases de datos que integra desarrollo de software, Administración de bases de datos, diseño de bases de datos, creación y mantenimiento para el sistema de base de datos MySQL. Es el sucesor de DBDesigner 4 de fabFORCE.net, y reemplaza el anterior conjunto de software, MySQL GUI Tools Bundle.



(Fuente Wikipedia)


Para los que desarrollamos software y usamos MySQL estamos familiarizados con MySQL Workbench. El problema que yo he tenido es que al actualizar a Ubuntu 14.10 me dejó de funcionar bien el MySQL Workbench, ya que cuando hacia una consulta (query) el resultado no se me mostraba. Es un bug reconocido (ver bug). Miré de actualizar el paquete descargandomelo de Oracle directamente pero nada. Esperé un tiempo prudencial a ver si sacaban parche los de Canonical.. pero no puedo estar mucho tiempo sin herramientas de desarrollo así que busque la manera de tener MySQL Workbench funcionando en Ubuntu 14.10:


Te descargas las fuentes de mysql-workbench de la página oficial y:

tar xvf mysql-workbench-community-6.2.3-src.tar.gz
cd mysql-workbench-community-6.2.3-src
wget -O patch-glib.diff http://bugs.mysql.com/file.php?id=21874&bug_id=74147
patch -p0 < patch-glib.diff
sudo apt-get build-dep mysql-workbench
sudo apt-get install libgdal-dev
cd build
cmake .. -DBUILD_CONFIG=mysql_release
make
sudo make install

(Fuente StackOverflow)

Con esto me funcionó a la primera. Sin errores. 

jueves, 6 de noviembre de 2014

Crontab para ejecutarse el primer domingo de algunos meses

En el sistema operativo Unixcron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. El nombre cron viene del griego chronos (χρόνος) que significa "tiempo".
(Fuente Wikipedia)


Ahora me planteé como hacer que un script se ejecute el primer domingo de cada mes. Lo primero que se me vino a la cabeza es hacer esto:

0 19 1-7 * 0

Pero no funcionó como esperaba. Parece ser que la lógica que usa es la siguiente:
A las 19:00 se ejecuta los siete primeros días (del 1 al 7) y cada Domingo. 

Yo esperaba que se ejecutara solamente cuando se cumplieran ambas condiciones, no en las dos condiciones.  Así pues que lo que me queda es hacer un condicional en el mismo cron (eso o hacerlo en el script):

00 02 * 1,4,7,10 7 [ $(date -R | cut -f2 -d" ") -lt 8 ] &&  MiScript.sh

Esta linea lo que hará es que ejecutará a las 02:00 de los domingos de los meses enero, mayo, julio y octubre que el día del mes sea menor a 8, es decir, la primera semana del mes.



That u don't know what you've got 'til it's gone