batch (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
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.