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

Re: crontab -e



El día 16 de enero de 2011 13:19, Camaleón <noelamac@gmail.com> escribió:
> El Sun, 16 Jan 2011 12:23:17 -0600, rantis cares escribió:
>
>> El día 13 de enero de 2011 06:24, Camaleón escribió:
>
> (...)
>
>>>>> gnokii --getsms IN 1
>>>>
>>>> No me sale ningun error, de hecho antes de comenzar a hacer el script,
>>>> lo utilizaba asi. Despues use solo el script y lo ejecutaba cuando lo
>>>> necesitaba. Solo despues hice que cron lo ejecutara y ahi es donde "la
>>>> puerca torcio el rabo".
>>>
>>> Haz una pruebas más. Ejecuta el script desde la línea de comandos pero
>>> forzando un cambio de locale:
>>>
>>> LANG=POSIX; sh tuscript.sh
>>>
>>> ¿Te aparece el error?
>>
>> Si, el error me sigue apareciendo...
>
> ¿Ah, síiii? >:-DDD
>
> (no lo tomes a mal, no es que me alegre del error, es que es "bueno" que
> hayas podido reproducirlo fuera de cron porque eso querría decir que al
> script *sí* le afecta la configuración del "locale" con el que se
> ejecuta).
>
>> GNOKII Version 0.6.26
>> iconv: Invalid or incomplete multibyte or wide character
>> iconv: Invalid or incomplete multibyte or wide character
>
> Recapitulemos, no vaya a ser que me haya alegrado sin motivo.
>
> Has ejecutado directamente desde la línea de comandos (_no_ desde cron)
> "LANG=POSIX; sh tuscript.sh" y te aparece el mensaje de error ¿sí? :-)
>
> Vale, pues ahora haz lo mismo pero con el "locale" que debe tener:
>
> LANG=es_ES.UTF-8; sh tuscript.sh
>

Ahora ejecute esto que me dices, pero en la consola (no se que es el
"locale") pero me sigue apareciendo el mismo error.

LANG=es_ES.UTF-8; sh .sms

GNOKII Version 0.6.26
iconv: Invalid or incomplete multibyte or wide character
iconv: Invalid or incomplete multibyte or wide character


> ¿Sigue saliendo el error?
>
>>> Se trata de reproducir el mismo error que te aparece cuando quien
>>> ejecuta el script es "cron" y lo único que se me ocurre que pueda
>>> causar ese mensaje de error es que cron no tome alguna variable de
>>> entorno que necesita para el script...
>>
>> Bueno, me gustaria que entender que es "alguna variable de entorno" (lo
>> buscare en google, pero si me lo puedes explicar mejor, te lo agradecere
>> camaleon.
>
> Sí, explico.
>
> Cuando ejecutas una tarea que has creado desde crontab, ésta se ejecuta
> con algunas variables de entorno preestablecidas, como por ejemplo (según
> indica el manual "man 5 crontab"):
>
> $SHELL: pasa a tomar el valor de "/bin/sh", mientras que cuando ejecutas
> el script desde consola, esa variable es "/bin/bash".
>
> $LOGNAME: esta toma el valor del usuario para el que se haya creado la
> tarea y que está definido en el archivo "/etc/passwd", por lo que en este
> caso no cambia.
>
> $HOME: a esta le pasa lo mismo que a $LOGNAME, así que no cambia.
>
> $PATH: se define a "/usr/bin:/bin"
>
> Si eso lo comparas con las variables de entorno que tiene tu usuario:
>
> sm01@stt008:~$  echo $SHELL $LOGNAME $HOME $PATH
> /bin/bash sm01 /home/sm01 /usr/local/bin:/usr/bin:/bin:/usr/games
>
> Verás que algunas cambian.
>
> ¿Y qué sucede con la variable de entorno $LANG cuando el script lo
> ejecuta crontab? Pues que se define a "LANG=POSIX" (creo... que alguien
> me corrija si es otro) así que para evitar que se genere ese mensaje de
> error que te envía por correo el crontab cada vez que se ejecuta la
> rutina, tendrías que definir la variable "LANG=es_ES.UTF-8" (que es la
> que usa tu usuario habitual y por eso cuando ejecutas el script desde una
> terminal no te aparece ningún mensaje de error) dentro de la rutina del
> crontab y debería funcionar... lo que se me escapa es por qué no está
> funcionando en este caso, quizá haya que definirla en otro lado :-?

Creo que ya voy entendiendo las variables de entorno... Magistral la
explicacion.

Solo que como respondi en la parte de arriba, ejecute lo siguiente...

LANG=es_ES.UTF-8; sh tuscript.sh

LANG=es_ES.UTF-8; sh .sms
GNOKII Version 0.6.26
iconv: Invalid or incomplete multibyte or wide character
iconv: Invalid or incomplete multibyte or wide character

No se ni por donde darle
Ya recibi mas de 50 mil mensajes del sistema que me indica esto, lo
peor es que los permisos se estan cambiando, (luego explico eso)


Reply to: