martes, 24 de abril de 2012

Linux: redimensionar imágenes desde CLI con imagemagick


¿No habéis pensado que sería una pasada poder redimensionar una serie de imágenes de una sola vez sin tener que editarlas una por una? Bueno, a mí sí que me ha pasado, y debo decir que esto me ha salvado más de una vez de una hora de aburrimiento, cuando menos...

La suite ImageMagick trae una serie de programas para la manipulación de imágenes, y es lo que yo suelo utilizar. Tiene muchas opciones y la verdad es que es muy versátil, con lo que me podría extender mucho y no es el caso. Os voy a explicar cómo hago yo para redimensionar imágenes, y las opciones que suelo utilizar para ello. Además, si os interesa, se puede llegar a automatizar e incluirlo en un script que os haga 'el trabajo sucio'. La imaginación al poder!

Casi 1: Voy a redimensionar una carpeta llena de imágenes, todas con el formato 'NOMBRE.JPG', y las quiero al 50% de su resolución actual. Fácil. Desde la línea de comandos y en el directorio donde están las imágenes ejecuto:

for file in `ls -1`; do
   convert $file -resize 50% mod_$file
done


Caso 2
: Ahora tengo muchas imágenes, cada una de su padre y de su madre, diferentes tipos de imágenes (JPG, BMP, PNG, etc) y con resoluciones más o menos diferentes, pero las necesito con una resolución de 800x600. Fácil también. Ejecuto

for file in `ls -1`; do
   convert $file -resize 800x600 mod_$file
done

Caso 3: Algo un poco más complicado. Necesito las muestras de las imágenes para hacer una galería (thumbnails). Sigue siendo sencillo. Ejecuto:

for file in `ls -1`; do
   convert $file thumbnail mod_$file
done

Para más opciones, consultar la página man del programa convert, y os haréis una idea de la potencia del mismo.

Para más información, haz click aquí

lunes, 23 de abril de 2012

"Exec format error" SNMP

Hoy me he han pasado un enlace interesante para monitorizar scripts ejecutados en forma local a través de SNMP, utilizando un ID propio. No es muy complicado y muy interesante, la verdad, así que prometo hacer una entrada de cómo monitorizar estos scripts para que podáis hacerlo si es necesario.

Una vez configurado, al hacer la consulta SNMP desde otro equipo, la consulta me devolvía:


servidor:~# snmpwalk -Ovq -v2c -c COMUNITY IP .1.3.6.1.4.1.2021.8.1.101.1
/etc/snmp/scripts/snmp_mon_cola_postfix.sh: Exec format error




Rebuscando el error por internet, he visto que el problema ha sido no poner el
#!/bin/sh
al principio de mi script. Lo he puesto, y ha sido mano de santo!!!


Ya me contaréis qué tal ;)