Ayer Lunes día 23 de Julio de 2012 fue uno de los días más jodidos desde que estoy trabajando en esta empresa. Estamos en plena "justificación", es decir: "sacar/imprimir/generar miles de informes de toda la actividad de los últimos 12 meses", y todo se necesita "ya".
El pasado Viernes día 20 me avisaron de que "para ayer" deberíamos tener listos los accesos y calificaciones de todos los alumnos que han cursado algún plan formativo con nosotros. Lo de todos los años: ir a Moodle, entrar en el curso, generar informe y asunto zanjado. Nada más lejos de la realidad!
Comienza el "marrón" con la operación descrita en el párrafo anterior y bueno, la verdad es que aunque suene raro, hasta parecía divertirme y todo! Que si un informe por aquí, que si lo guardo por allá, hasta que "0 registros" encontrados para el curso XXXYYYZZZ: "No puede ser!" pensaba en voz baja. "Voy a generar de nuevo el informe", pero nada: 0 registros! Llamo a mi compañero y le comento el problema: "Yo genero los informes cuando termina el curso, pues 'el Moodle' está configurado para eliminar los registros después de 100 días de inactividad", responde. El cielo se vuelve negro y yo comienzo a plantearme seriamente abandonar el país de inmediato, dejarlo todo y comenzar una nueva vida en Cuba vendiendo postales en el Malecón. "Keep calm and carry on!".
"Copias de seguridad, eso es" vuelvo a repetir en voz baja. Descargo vía "scp" los últimos backups de los cursos en cuestión y los intento restaurar en mi máquina local. Imposible! Ni aumentando "timeouts" , ni "tuneando MySQL", nada, ni una sola operación de restauración se realizaba correctamente...Las 16:05. 35ºC en el estudio. No sabía qué hacer. Bajo a tomar algo frío, subo de nuevo al estudio y pienso "puedo descargar toda la bbdd e intentar recuperar los logs de acceso, luego los exporto a XLS y asunto arreglado". No fue tan fácil como pensaba, pero sí, lo logré. Es muy probable que a nadie le interese cómo lo he logrado pero voy a dejarlo escrito por aquí, por que es probable que algún día necesite volver a leer este post.
1.- Restaurar la bbdd.
mysql -u root -p bbdddepruebas < copiabbdd.sql
2.- Ni se os ocurra trabajar con PhpMyAdmin o similar. En mi caso he usado MySQLWorkBench y no he tenido ni un problema. Hablamos de 2.100.000 registros en una sóla tabla.....
3.- Crear una "View" sólo con los registros del curso en cuestión. Sabéis que en Moodle todos los cursos tienen un "id" único, pues bien, yo he creado una "View" para cada curso del que había perdido los logs.
CREATE VIEW idcurso AS SELECT * FROM mdl_log WHERE course = 80
4.- Bien, ahora creamos una consulta sobre la vista pero con dos "INNER JOIN" sobre las tablas mdl_user(para obtener el nombre del usuario a partir del userid) y mdl_resource(para obtener el nombre del recurso/actividad a partir del resource_id).
SELECT
FROM_UNIXTIME(x.time),
x.ip,
CONCAT(u.firstname, ' ', u.lastname) AS NombreAlumno,
x.action as Accion,r.name as Informacion
FROM
idcurso x
INNER JOIN mdl_user u ON x.userid = u.id
INNER JOIN mdl_resource r ON x.info = r.id
LIMIT 0 , 100000
Pasteamos directamente la consulta en MySQLWorkbench, esperamos a que finalice la ejecución y listo! Ya podemos pulsar el botón exportar y generar el informe de acceso.
Así es como pasé el Lunes 23 de Julio de 2012, entre Moodle y sentencias SQL. Lo bueno: he entregado el trabajo a tiempo. Lo malo: era mi día libre.
Salud!
martes, 24 de julio de 2012
jueves, 31 de mayo de 2012
mount.nfs: access denied by server
Sigo bastante rayado con Fedora 17 y esta tarde me he encontrado con un pequeño problema al configurar un servidor nfs y montar los directorios desde un cliente:
La solución es muy sencilla, basta con añadir "nfsvers=3" a la cadena correspondiente en el fichero /etc/fstab, en mi caso:
Ahora intentamos montar los directorios y comprobar que todo está en orden.
Parece que si... :)
root@mabu apermuy#mount -a
mount.nfs: access denied by server while mounting 192.168.20.50:/home/apermuy/Música
La solución es muy sencilla, basta con añadir "nfsvers=3" a la cadena correspondiente en el fichero /etc/fstab, en mi caso:
#Polinico BTMS
192.168.20.50:/home/apermuy/Música /home/apermuy/Desktop/nfs/polinico/Musica nfs nfsvers=3,rsize=8192,wsize=8192,nosuid,soft 0 0
Ahora intentamos montar los directorios y comprobar que todo está en orden.
root@mabu apermuy#mount -a && df -hT
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 78G 8.1G 70G 11% /
devtmpfs devtmpfs 976M 0 976M 0% /dev
tmpfs tmpfs 985M 88K 985M 1% /dev/shm
tmpfs tmpfs 985M 1.3M 984M 1% /run
/dev/sda4 ext4 78G 8.1G 70G 11% /
tmpfs tmpfs 985M 0 985M 0% /sys/fs/cgroup
tmpfs tmpfs 985M 0 985M 0% /media
192.168.20.50:/home/apermuy/Música/ nfs 801G 543G 218G 72% /home/apermuy/Desktop/nfs/polinico/Musica
Parece que si... :)
miércoles, 30 de mayo de 2012
Sublime Text Fedora 17
Dejo un pequeño "tip" para la instalación del editor "Sublime Text" en Fedora 17. Es muy probable que al ejecutar "sublime_text" devuelva este error:
"./sublime_text: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory"
Un simple " ldd sublime_text" devolverá las dependencias de las librerias con las que ha sido compilado el binario. En mi caso:
root@mabu Sublime Text 2#ldd sublime_text
linux-vdso.so.1 => (0x00007fff72dff000)
libgtk-x11-2.0.so.0 => /lib64/libgtk-x11-2.0.so.0 (0x0000003a3b800000)
libgdk-x11-2.0.so.0 => /lib64/libgdk-x11-2.0.so.0 (0x0000003a3c000000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x0000003a3b400000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003a42600000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x0000003a38a00000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x0000003a38e00000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x0000003a37a00000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x0000003a39200000)
libpng12.so.0 => not found
No busqueis el paquete "libpng12.so.0" en Fedora 17 por que no lo encontraréis. La librerías compartidas para libpng 1.2.x se encuentran en el paquete libpng-compat, así que ese el paquete que debemos instalar. Así de simple:
yum install libpng-compat
y en medio minuto tendréis "Sublime Text" funcionando.
"./sublime_text: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory"
Un simple " ldd sublime_text" devolverá las dependencias de las librerias con las que ha sido compilado el binario. En mi caso:
root@mabu Sublime Text 2#ldd sublime_text
linux-vdso.so.1 => (0x00007fff72dff000)
libgtk-x11-2.0.so.0 => /lib64/libgtk-x11-2.0.so.0 (0x0000003a3b800000)
libgdk-x11-2.0.so.0 => /lib64/libgdk-x11-2.0.so.0 (0x0000003a3c000000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x0000003a3b400000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003a42600000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x0000003a38a00000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x0000003a38e00000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x0000003a37a00000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x0000003a39200000)
libpng12.so.0 => not found
No busqueis el paquete "libpng12.so.0" en Fedora 17 por que no lo encontraréis. La librerías compartidas para libpng 1.2.x se encuentran en el paquete libpng-compat, así que ese el paquete que debemos instalar. Así de simple:
yum install libpng-compat
y en medio minuto tendréis "Sublime Text" funcionando.
Etiquetas:
fedora 17,
sublime text
Mis impresiones sobre Fedora 17
Desde hace unas semanas uso Fedora 16( desde ayer Fedora 17 ) tanto el PC de escritorio como el portátil. El cambio no tiene un por qué concreto, simplemente me apetecía cambiar de distrubución y de entorno de escritorio.
Me ha gustado:
- KDE 4. Mucho no, muchísimo. A mi enteder es mucho más sencillo e intuitivo que GNOME3. No voy a entrar en guerras ni afirmaciones absurdas, actualmente me gusta más KDE. Desactivando los efectos el entorno, Dolphin y demás es rapidísimo, desde mi punto de vista, está años luz por encima de GNOME3.
- Kernel 3.3. Indispensable contar con un Kernel actualizado. En esta versión se incluyen mejoras en el driver Nouveau para Nvidia;mejoras en los sistemas de ficheros Btrfs, FUSE, NFSD; mejoras en Netfilter(iptables)...Si queréis ver todas las novedades del Kernel 3.3 os dejo un enlace a los "features".
- Yum. Rapidísmo. Por el momento no echo de menos apt.
- Software: Versiones actualizadas de la mayoría de apps que uso a diario : Firefox, git, vim, Thundebird, K3B...
- Instalación: Si sabes leer puedes instalar Fedora 16 / 17. Sencillo e intuitivo.
- Fedora Spins: Ya he hablado de los Spins en este blog, y vuelvo a insistir, echadle un ojo si no os convence la versión "out of the box" . http://spins.fedoraproject.org/
- Documentación . Aunque la versión 17 está sin traducir, la documentación de Fedora es muy completa. Incluye apartados para: instalación, mantenimiento de paquetes, guía de seguridad. http://docs.fedoraproject.org/es-ES/index.htmlhttp://docs.fedoraproject.org/es-ES/index.html
martes, 10 de abril de 2012
Blogs que deberías seguir
A raíz de la publicación del tweet "MySQL at Twitter" he decidido publicar una lista de blogs de proyectos "grandes" que considero interesantes y podrían ser de vuestro interés.
.- Planet Fedora
.- Planet Debian
.- Planet Gentoo
.- Planet Gnome
.- Planet KDE
.- Android Developers Blog
.- The Chromium Blog
.- Planet Ubuntu
.- Mark Shuttleworth
.- Dropbox blog
.- Twitter Engineering
.- Mozilla Hacks Developers Blog
.- The GitHub Blog
.- The Google Open Source Blog
.- Apache Software Foundation Blogs
.- The Linux Mint Blog
.- Google Webmaster Central Blog
.- MySQL Perfomance Blog
.- OpenVZ Blog
.- Cambrico.net [Drupal]
.- Eríc London's Blog [ Drupal & more ]
Faltan muchos y muy buenos...
.- Planet Fedora
.- Planet Debian
.- Planet Gentoo
.- Planet Gnome
.- Planet KDE
.- Android Developers Blog
.- The Chromium Blog
.- Planet Ubuntu
.- Mark Shuttleworth
.- Dropbox blog
.- Twitter Engineering
.- Mozilla Hacks Developers Blog
.- The GitHub Blog
.- The Google Open Source Blog
.- Apache Software Foundation Blogs
.- The Linux Mint Blog
.- Google Webmaster Central Blog
.- MySQL Perfomance Blog
.- OpenVZ Blog
.- Cambrico.net [Drupal]
.- Eríc London's Blog [ Drupal & more ]
Faltan muchos y muy buenos...
Suscribirse a:
Entradas (Atom)