batch (Unix)

De Wikipedia, la enciclopedia libre
(Redirigido desde «At (Unix)»)


Batch (Unix) es una herramienta que permite programar la ejecución de uno o varios programas en un momento futuro.

La sintaxis normal de Batch (Unix) es

Batch (Unix) [hora:minuto [dia.mes.año]]

Las instrucciones a realizar son leídas por la entrada estándar (stdin) y se ejecutan en el momento indicado. Como es habitual, la lista de instrucciones se debe finalizar con el carácter EOF, usualmente Control-D. Si solo se indica la hora/minuto, se ejecutará cuando se alcance ésta (en el día actual o el siguiente). Si se especifica una fecha, necesariamente se especificará una hora.

Los resultados que muestre el programa por la salida estándar (stdout) o la salida de error (stderr) se enviarán por correo electrónico al usuario que invocó at.

La instrucción at -l permite listar las ejecuciones programadas de at. La instrucción at -d permite borrar una o varias. La instrucción at -f fichero hora:minuto ejecutará en el momento programado las instrucciones contenidas en el fichero indicado, en vez de leerlas por la entrada estándar.

Ejemplos[editar]

at 10:15 
> reboot
> ^D

...programará un reinicio del sistema (reboot) a la hora indicada: las 10 horas 15 minutos de la mañana.

La instrucción:

at 12.12.2106 21:23
> /etc/init.d/apache stop
> sleep 600
> /etc/init.d/apache start
> ^D

... se ejecutará el 12 de diciembre de 2106 a las 9 y 23 de la tarde. Parará el servidor web apache, esperará 10 minutos y lo volverá a arrancar.

La instrucción:

at -l

... listará los trabajos programados.

Véase también[editar]

Cron (unix)

Enlaces externos[editar]