jueves, 16 de septiembre de 2010

Acuerdense, no hagan como yo: si personalizan los nombres de los archivos log de apache (ó cualquier otro programa que genere registros a un archivo) ó si simplemente quieren periódicamente rotar un documento personal cuando llegue a XX megas tienen que actualizar la configuración de logrotate. Este programa, cada dia, examina los archivos indicados y cuando cumplen unas condiciones dadas (edad ó tamaño) los elimina (rota), los enviar por correo, los guarda ó los borra definitivamente.

En Opensuse, en el directorio /etc/logrotate.d teneis una lista de archivos con el nombre de aplicaciones que habitualmente se instalan un GNU/Linux y que generan archivos que deben ser rotados. Cada uno de estos archivos incluye en su interior uno ó más archivos que deben ser rotados y las condiciones que esta rotación, algo como:
/ruta/completa/mi_archivo.txt {
compress
dateext
maxage 365
rotate 12
size=+4096k
notifempty
missingok
create 644 root root
postrotate
/etc/init.d/apache2 reload
endscript
}

Las opciones más habituales que puedes incluir:
compress, la copia de seguridad generada debe ser una archivo comprimido (gzip)
dataext, añadir al archivo comprimido la fecha actual (por defecto YYYYMMDD)
maxage 365, tiempo máximo que se debe conservar un archivo rotado. Mas antiguos se eliminarán.
rotate 12, número máximo de archivos rotados a conservar
size=+4096k, tamaño que debe tener un archivo para rotarlo
notifempty, si está vacio lo ignoras
missingok, si no existe el archivo no pasa nada
create 644 root root, crea un archivo rotado con estos permisos de lectura+escritura
postrotate /etc/init.d/apache2 reload, despues de rotar un archivo ejecuta esto (recargar apache).
endscript, fin de las opciones

miércoles, 8 de septiembre de 2010

Se lo leí el otro día a Rinzewind, de alguién en Reddit que se había hecho un script que genera una nueva imagen combinando un PNG de Calvin&Hobbs con la imagen de temática astronómica que a diario la NASA publica en su sitio.

El script original estaba hecho en Ruby, alguien lo rehizo despues en bash y recientemente he hecho una versión en PHP que permite insertalo facilmente en la web. Para ello he incorporado algunas opciones más que podeis leer más abajo.

La idea original era hacer el script PHP para subirlo al hosting gratuito que tengo en Tripod.es (Lycos) y así poder linkarlo todo el que quiera usarlo en su web, fondo de escritorio, etc… si que la descarga de imágenes de gran tamaño le diera a este servidor más trabajo del que tiene. El problema es que parece que dichos hosting tiene capadas muchas funciones que impiden que funcione correctamente. Asi es que, de forma temporal, lo cuelgo en este dominio y en versión de imagen pequeña, ya que como digo, las imágenes que es capaz de producir a partir de las gigantes que se publican en esa web (+3000 pixels) producirian un trabajo extra a este servidor que no tengo ganas de asumir.

Si alguien se anima a subirlo a su propio dominio solo necesita soporte PHP5 y disponer de las librerias gráficas (GD, bastante habitual en servidores web «normales»).
Del mismo modo, si alguien quiere utilizarlo para otra funcion similar que le interesa, pues aqui debajo cuento como funciona, como se descarga y como se instala. Sigue leyendo…

lunes, 30 de agosto de 2010

Nota: Observa que después de este apunte escribí otro sobre operaciones con decimales en Bash utilizando otro método mucho más «elegante». Puedes leerlo aquí.

Necesitaba realizar unas comparaciones de números con decimales, positivos y negativos para unos pequeños scripts que informan sobre el estado del clima (posa el ratón un segundo sobre la imagen de «cielo sobre Cartagena» para leerlo. En la columna de la derecha).

Problema

Si en un script hacemosecho "scale=2; 12.5 - 12.2 | bc -l" nos dará como resultado .3 (sin cero delante).
Para producir un número «entero» (con el cero delante), podemos hacer lo siguientea=12.5; b=12.2;\
echo "scale=6; resta = $a -$b; if (resta < 1 && 0 <= resta ) { print "0" }; print resta" |\
bc -l

Que imprimiría 0.3, PERO si la resta es negativa nos mostrará 0-.3 (cero menos coma tres)

Además ninguna de las formas anteriores es admitida por IF que solo compara números enteros:a=0.3; if [ $a -gt 0.1 ]; then echo "A es mayor que B"; else echo "A es menor que B"; fi
DICE que -->bash: [: 0.3: se esperaba una expresión entera

Solución

Al final una solución de casa de mi abuela: multiplicar todo por 1000 (o cualquier otro factor suficientemente grande como para convertir tus operaciones en números enteros) y a tomar viento. Algo así:#hacemos la operacion que nos producía un decimal negativo
resta=`factor=1000; a=12.2; b=12.5; \
echo "( $a*$factor ) - ( $b*$factor )" | bc`
#$resta es -300.0
#quitamos los decimales
resta=`${resta/.*/}
#$resta es -300
#hacemos comparacion
comparador=`factor=1000; \
echo "$factor * 0.1" | bc`
#$comparador=100.0
#quitamos los decimales
comparador=${comparador/.*/}
#hacemos la comparacion
if [ $resta -gt $comparador ]; then echo "A es mayor que B"; else echo "A es menor que B"; fi
A es menor que B

jueves, 26 de agosto de 2010

Añadiendo esta linea al final del wp-config.php (justo antes de la orden require_once(ABSPATH . ‘wp-settings.php’); )
define('WP_POST_REVISIONS', false);

Desactivas la creación de revisiones de tus apuntes en tu WordPress, es decir, no se genera un nuevo registro cada 5 minutos de edición ó cada vez que pulsas «Guardar borrador» y que había llevado mi tabla de apuntes a pesar 26Mg.. cuando una vez limpia de revisiones pesa 5Mg.

martes, 24 de agosto de 2010

La tipica chorrada que te pone nervioso: entras al panel de WordPress y venga cartelitos de «Nueva version de ..» , «Actualiza ahora«, «Atención…» … y eso que tengo cuatro plugins instalados, pero es que como cada vez más soy del club de «Si-funciona-para-que-lo-quieres-actualizar-?«, pues me he dedicido a hacer desaparecer dichos mensajitos, y para hacerlo lo mas sencillo es editar el archivo PHP del plugins en cuestión y en las primera lineas, donde pone:
/*
...
Version: 1.2.1 <-- antes
Version: 100.2.1 <-- ahora
Author: Michael Zehrer
Author URI: http://zepan.org
*/

Ale, avisame cuando llegues a la version 100.2.2

jueves, 19 de agosto de 2010

No sé que hice el otro día probando las KDE4 que me sobreescribí mi querido Kflickr de KDE3 con la versión de KDE4. Asi es que me tocó, descargar de nuevo, modificar de nuevo y recompilar. Para que no me vuelva a pasar he creado un rpm con las modificaciones que tenía mi anterior instalación y (sobretodo) un par de arreglos en la traducción (lo de «ancho de banda del upload» y «autentique un nuevo usuario» me estaban matando).

Este instalador no es más que el Kflickr 0.9.1 para KDE3.5 (descargable desde aqui) pero:

  • Asume un tamaño de envio «Grande» por defecto, de 2048 pixels
  • Asume una licencia Creative commons «Attribution Non Commercial Share Alike«

Si alguien tiene interes en descargarlo e instalarlo lo tiene aqui: kflickr.0.9.1-trebola.rpm

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons