[eside-ghost] Script que no funciona con cron

Alberto M.S. nohadonja en hotmail.com
Vie Jul 27 12:00:41 CEST 2012


Prueba, pero tiene todas las papeletas de que no funcionará. Como te dije,
cron utiliza un entorno limpio (incluyendo las variables declaradas en
.bashrc). Es un efecto similar a lanzar el script con "env -i <ruta del
script>", que puedes probar en cualquier momento.

Saludete.

El 27 de julio de 2012 11:02, Jorge García - Bardok <bardok en gmail.com>escribió:

> Buenas!
>
> Parece ser que el tema iba por ahí... el tema es que en ese NAS el
> shell por defecto es 'sh', y yo el script lo estaba lanzando con
> 'bash'. En 'bash' el path no incluye /opt/bin y /opt/sbin, en los que,
> casualidad, están incluidos los comandos 'stat' y 'bc', que son los
> que ejecuto para asignar los valores a las variables.
>
> Lo que he hecho ha sido editar el .bashrc y meterlos en el path. El
> martes que viene se lanza el script, a ver si me borra sólo lo que
> tiene más de un mes de antigüedad, que es lo que tiene que hacer  :)
>
> Un abrazo y gracias!
>
> --
> Jorge García (aka Bardok)
> ---
> Sending A Message To All
> Sending A Message To God
> We Must Bring Light To The Darkness
> In Time We Will Rise Above
>   "Ark - Heal The Waters"
>
>
> 2012/7/25 Jorge García - Bardok <bardok en gmail.com>:
> > Gracias a los dos!
> >
> > Mañana me voy a pasar por el curro (a pesar de tener vacaciones), y
> > haré la prueba.
> >
> > Si funciona comento.
> >
> > Un abrazo!
> >
> > --
> > Jorge García (aka Bardok)
> > ---
> > Sending A Message To All
> > Sending A Message To God
> > We Must Bring Light To The Darkness
> > In Time We Will Rise Above
> >   "Ark - Heal The Waters"
> >
> >
> > 2012/7/24 Alberto M.S. <nohadonja en hotmail.com>:
> >> Cron crea un entorno limpio para ejecutarse, así que tienes dos formas
> de
> >> arreglarlo (que yo haya usado y comprobado que funcionan):
> >>
> >> - Puedes ejecutar un script con el comando env, con la forma
> >> env <variable>=<valor> [<variable>=<valor>...] <comando>
> >> En tu caso quedaría como "env PATH=... <ruta del script>
> >>
> >> - En el script creas una variable PATH con declare -x o directamente
> >> asignando (PATH=....).
> >>
> >> Recuerda que si quieres tener el mismo PATH en Cron que como tu sesión
> de
> >> usuario puedes consultar su valor con el comando env sin parámetros.
> >>
> >> o/
> >>
> >> El 24 de julio de 2012 19:04, Jon Valdés <juanval en gmail.com> escribió:
> >>
> >>> El otro día me pasó algo parecido en un Mac, y era porque el shell que
> >>> lanza cron no tenía definido el PATH correctamente, y las llamadas que
> >>> hacía a ciertos binarios no las pillaba bien.
> >>> Al final tuve que llamar directamente a /usr/local/sbin/<loquesea>, en
> >>> lugar de usar el nombre original.
> >>>
> >>> No sé si será lo mismo en tu caso, pero podría ser...
> >>>
> >>> 2012/7/24 Jorge García - Bardok <bardok en gmail.com>:
> >>> > Buenas!
> >>> >
> >>> > Tengo un script que ejecuto todas las semanas para borrar copias de
> >>> > seguridad antiguas. Si lo ejecuto a mano, funciona, pero si se
> ejecuta
> >>> > desde cron, falla. El trozo de la discordia es:
> >>> >
> >>> >     # Remove old backups
> >>> >     for folder in $DST/*
> >>> >     do
> >>> >       if [ -d "$folder" ]
> >>> >       then
> >>> >         let CREATIONSECS=`stat -c %Y $folder`
> >>> >         echo "creation: $CREATIONSECS - limit: $LIMITSECS"
> >>> >         if [ $LIMITSECS -ge $CREATIONSECS ]
> >>> >         then
> >>> >           echo "delete $folder"
> >>> >           rm -r "$folder"
> >>> >         fi
> >>> >       fi
> >>> >     done
> >>> >
> >>> > Las variables CREATIONSECS y LIMITSECS están siempre vacías al
> >>> > ejecutar el script desde cron, y me borra siempre los backups viejos
> >>> > (LIMITSECS se asigna antes del bucle, pero a todos los efectos, es
> >>> > algo similar a como se asigna CREATIONSECS).
> >>> >
> >>> > ¿Alguien tiene alguna idea de qué puede pasar?
> >>> >
> >>> > Un abrazo y gracias!
> >>> >
> >>> > --
> >>> > Jorge García (aka Bardok)
> >>> > ---
> >>> > Sending A Message To All
> >>> > Sending A Message To God
> >>> > We Must Bring Light To The Darkness
> >>> > In Time We Will Rise Above
> >>> >   "Ark - Heal The Waters"
> >>> > _______________________________________________
> >>> > eside-ghost mailing list
> >>> > eside-ghost en listas.deusto.es
> >>> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >>> _______________________________________________
> >>> eside-ghost mailing list
> >>> eside-ghost en listas.deusto.es
> >>> https://listas.deusto.es/mailman/listinfo/eside-ghost
> >>>
> >>
> >>
> >> _______________________________________________
> >> eside-ghost mailing list
> >> eside-ghost en listas.deusto.es
> >> https://listas.deusto.es/mailman/listinfo/eside-ghost
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://listas.deusto.es/mailman/private/eside-ghost/attachments/20120727/c07a962a/attachment.html>


Más información sobre la lista de distribución eside-ghost