batch
El comando batch trabaja de una forma similar al comando at que hemos visto, pero tiene algunas diferencias, como que las tareas a ejecutar solo pueden darse interactivamente. Además, no se puede especificar una fecha/hora de ejecución, las tareas simplemente se agregan a una cola y se van ejecutando en cuanto la carga promedio del sistema sea inferior a 1.5.
La forma de ejecutar batch es la siguiente:
$ batch
warning: commands will be executed using /bin/sh
at Sun Oct 28 11:45:00 2023
at>
Como se ve, aparece el mismo prompt que con el comando at para introducir las tareas, y para terminar, en una línea en blanco se pulsa ctrl+D.
Como se ha dicho, batch ejecuta las tareas cuando los niveles de carga del sistema lo permiten, y por defecto en Debian, la carga promedio debe estar por debajo de 1.5, pero este valor lo podemos cambiar a nuestro gusto ejecutando el demonio atd con la opción -l. Se suele aconsejar que el factor de carga limitante para un sistema con n CPUs sea de n-1.
# atq -l 0.8
Otra opción de atd relacionada con batch es -b, que se utiliza para especificar el intervalo mínimo en segundos entre el inicio de dos trabajos lanzados con batch. El valor por defecto es de 60 segundos.
# atq -b 120
El control de acceso a batch se hace también a través de los ficheros /etc/at.allow y /etc/at.deny.
Por último, batch es realmente un script que llama al comando at:
$ cat /usr/bin/batch
#! /bin/sh -e
if [ "$#" -gt 0 ]; then
echo batch accepts no parameters
exit 1
fi
prefix=/usr
exec_prefix=${prefix}
exec ${exec_prefix}/bin/at -qb now
Como vemos, las tareas de batch se envían con at a la cola b para su ejecución inmediata, lo cual se hará o se esperará en función de la carga promedio actual del sistema.
NOTA:
Una explicación de lo que significa la carga y la carga promedio de un sistema, está en el comando uptime, que se utiliza entre otras cosas para consultar la carga promedio del sistema.
Obra publicada con Licencia Creative Commons Reconocimiento 4.0