Script que no funciona en cron

Imagen de pacomet
0 puntos

Saludos a todos

Este es mi primer mensaje ya que hace poco que he cambiado a Ubuntu.

Tenía un script que funcionaba en Suse programado en el cron. Pero ahora no me funciona en Ubuntu con cron pero sí en línea de comandos. El script convierte unas imágenes de bmp a png y reordena las que ya existían. No entiendo que es lo que no funciona, ¿quizá alguna variable de entorno que falta al ejecutar en cron?

El script es

#!/bin/bash

for image
in e06 ed2 e62
do
case "$image" in
e06)tipo=vis;;
ed2)tipo=inf;;
e62)tipo=vap;;
esac

if [ -e $image.bmp ]
then
/usr/bin/bmptopnm $image.bmp > kk.pnm
/usr/bin/pnmtopng kk.pnm > $tipo.png
rm -f kk.pnm $image.bmp
fi

i=10
if [ -e $tipo.png ]
then
while [ $i -ge 1 ]
do
if [ $i -eq 1 ]
then
mv $tipo.png $tipo$i.png
let i=i-1
else
let j=i-1
imga=$tipo$i.png
imgb=$tipo$j.png
mv $imgb $imga
let i=i-1
fi
done
fi
done

Gracias por vuestra ayuda 

Imagen de cdolz
+1
0
-1

Hola Pacomet.

¿Has revisado que el cron se ejecuta? No hace mucho yo he tenido muchos problemas para ejecutar un script con el cron y finalmente lo hice, no con el crontab -e (que no se ejecutaba), si no editando el fichero /etc/crontab.

 

Saludos. 

+1
0
-1
Imagen de pacomet
+1
0
-1

Hola cdolz

 Hay otras cosas ya funcionando en cron, los nuevos scripts los añado con webmin.

 

Saludos 

+1
0
-1
Imagen de joseluis
+1
0
-1

¿Puede ser que al ejecutarse desde el cron se esté lanzando desde otro directorio distinto al que contiene las imágenes?. Si ese directorio fuera, por ejemplo, /home/pacomet/imagenes prueba a poner cd /home/pacomet/imagenes al principio del script (o lo que corresponda):

#!/bin/bash
cd /home/pacomet/imagenes
for image
  in e06 ed2 e62
do
...


Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

+1
0
-1

Imagen de pacomet
+1
0
-1

Hola Jose Luis

 Las imágenes están en el mismo directorio del script pero parece que con el cron se ejecutaba en algún otro sitio. Le he puesto un cd al directorio y ha funcionado perfectamente las dos últimas veces que debía ejecutarse (lo estoy probando cada cinco minutos).

 Gracias Jose Luis y cdolz

+1
0
-1