Skip to main content

Redimensionar imagenes mayores que 1280x960px en batch - ssh

Alejo Sotelo - Developer
Alejo A. Sotelo - @alejoasotelo
Publicado el 01 Diciembre 2016

Una vez mas como comentaba en el post me encontre con que un usuario habia subido imagenes de gran tamaño por lo tanto cuando el Zoo (Joomla) intentaba redimensionar daba error de exceso de memoria. Se me vinieron 2 soluciones inmediatamente a la mente:

  • 1. Aumentar la memoria ram de la cuenta.
  • 2. Redimensionar las imagenes

Sin dudar por se un servidor que comparten varias cuentas, fui por la segunda opción. Cómo lo hice? Busqué algun comando que redimensione imagenes que sean mayores a un ancho mayor que 1280px (elegí este ancho porque era lo maximo que se mostraba en la web, podria haber sido 800px, 2000px, etc.). El comando que encontre fue:

# mogrify -resize '1280x960>' *.jpg

El comando anterior redimensiona (manteniendo la relacion de aspeco) las imagenes que tengan un ancho mayor que 1280px o 960px de alto a un ancho de 1280px o a un alto de 960px.

Con este comando ya podia solucionar mi problema, pero seguia teniendo otro inconveniente. Las imagenes no estaban todas en la misma ruta, si no que estaban en subcarpetas. Cómo lo resolví? con el comando "find" de la siguiente manera. Ya dentro de la ruta del usuario con el problema:

# cd /mijoomla/images/
# tar -czvf zoo.tar.gz zoo/
# cd zoo
# find ./ -name "*.jpg" -exec mogrify -resize '1280x960>' -quality 100 {} \;

Con el comando "cd /mijoomla/images/" me ubique en la carpeta de las imagenes. Con el comando "tar -czvf zoo.tar.gz zoo" hice un backup de la carpeta zoo. Luego con "cd zoo" me ubiqué dentro de la carpeta zoo donde estaban las imagenes en cuestion. Por último con el comando "find ./ -name "*.jpg" -exec mogrify -resize '1280x960>' -quality 100 {} \;" ejecuté el script que redimensionó las imagenes. Con find busque las imagenes en formato .jpg recursivamente (en subcarpetas) y luego con mogrify si la imagen tenia una resolucion mayor que 1280x960 la redimensioné a 1280x960 (manteniendo la relacion de aspeco de la imagen original).

Con estos comandos, le ahorre a mi cliente tener que descargar las imagenes, redimensionarlas a una resolucion mas chica y tener que subirlas una por una. En 10 minutos como maximo, le resolvi el problema a mi cliente que si lo tendria que hacer "manualmente" hubiese tardado 1 hora o mas.

Espero que les sirva a ustedes y no se olviden siempre de hacer un backup por las dudas.

Más artículos de Alejo A Sotelo - Desarrollo Web

28 Abril 2026
Desarrollé SA MCP Server, un componente open source para Joomla 3 y 4 que implementa el protocolo MCP (Model Context Protocol) y permite que asistentes de inteligencia artificial como Claude gestionen el contenido de tu sitio dir…
23 Abril 2026
Hace poco recibí el contacto de una persona cuyo sitio web en Joomla no es gestionado por mi equipo. Me contactó con urgencia: su página estaba funcionando mal, aparecían archivos extraños y temía que los datos de sus clientes es…
19 Abril 2026
Un sitio que tarda más de 3 segundos en cargar pierde el 53% de sus visitantes antes de mostrar una sola línea de contenido. Si estás en Joomla y notás que tarda, este artículo es para vos. Cuando un…
13 Junio 2025
Si tu sitio Joomla se ve sin estilos o los archivos Javscript no funcionan correctamente al usar OpenLiteSpeed por mala codificación, probablemente se deba a una doble compresión de archivos CSS y JS. Esto ocurre porque OpenLiteS…