Linux/Unix Shell Scripting - at command

 
Vista:

at command

Publicado por Teresa (1 intervención) el 21/03/2007 14:20:07
Hola
Estoy intentando hacer un script (script2.sh) para ejecutar otro (script1.sh) cada 60 minutos. Lo he intentado con cron y con at. Con cron lo he dado por imposible porque aunque modifico la crontab no se ejecuta nada. Con at no consigo los resultados que quiero

Lo que yo hago es:

for i in `seq 0 23`;
do
at now + $i hour << EoF
HORA=$(date +%H:%M)
script1.sh $HORA
EoF
done

Los problemas que tengo son:
- Cuando script2 intenta ejecutar script1 no puede I obtengo un mensaje de permiso denegado, Como puedo especificar el usuario a usar cuando se ejecute el script1 ( yo )
-La varible HORA tiene el mismo valor en todas las ejecuciones porque es subtituida al principio, ¿como puedo evitar esto?.
-Y por ultimo es que los resultados los recibos por mail y no en la salida estandar.

Muchas gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:at command

Publicado por Tom (361 intervenciones) el 21/03/2007 20:45:07
Empieza mirándote la documentación de crontab, porque no funciona así.

$ echo "0 * * * * /path/al/fichero/script1.sh" > tmp
$ crontab tmp

Tanto cron como at envían el resultado por mail. No pueden sacar nada por la salida standard porque no la tienen.

Insisto, léete el manual, lo que yo te pueda contar, está mejor explicado ahí.

Lo que tú intentas hacer se haría:

$ for i in `seq 0 23`;
> do
> HORA=$(date +%H:%M)
> script1.sh $HORA
> sleep 60m
> done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:at command

Publicado por Fernando Cerezal (1 intervención) el 03/02/2008 16:53:31
Para hacer cosas cada X tiempo, mejor usa cron.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar