[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Control de fallos mv



O Mércores 28 Maio 2008 10:45, Javier Terceiro escribiu:
> Hola,
>
> tengo un script que hace uso de los comandos find y mv. En caso de que
> el comando mv de un fallo a la hora de realizar el movimiento de un
> archivo, se envía un correo de advertencia y se cancela el proceso. Me
> gustaría ahora que dicho correo llevase más información. Básicamente
> el tipo de error que se produjo, para saber que pasó.
> la forma de comprobar que fallo es sabiendo el valor devuelto a la variable
> $?
>
> mv $i /archive/ 2> /dev/null
> if [ $? != 0 ]
> then
>    (echo -e
> "--------------------------------------------------------------------------
>--" ;\
>    echo "Se ha producido un error al intentar mover el directorio $i
> de $(hostname -f)"
>    echo -e
> "--------------------------------------------------------------------------
>--\n")
>
> |\
>
>    mail $destinatario -s "Fail to move $i directory"
> fi
>
> La idea es que ese email vaya con más información del error. Alguien
> sabe como puedo sacar la información del error sin ser con $? o cómo
> con $? puedo posteriormente saber que tipo de error sucedió.
>
> Muchas gracias desde ya.
>
> --
> Un saludo,
>
> Javier.

En lugar de desviar el error a /dev/null puedes desviarlo a un tarchivo 
temporal (puedes usar mktemp) y luego enviar el contenido por mail.
TMP_FILE=`mktemp`
mv $i /archive/ 2> $TMP_FILE
mail $destinatario -S "Fail to move $i directory: `cat $TMP_FILE`"


Reply to: