====== at - Programación de tareas ======
** at ** es una herramienta de programación de tareas que permite al mismo tiempo realizar tareas en su sistema. El ** batch ** es como ** at ** pero realiza las tareas de una sola vez cuando la carga del sistema lo permite, todos los comandos y funciones de ** at ** pueden ser replicados por ** batch ** con los mismos argumentos.
===== Comandos relacionados =====
Se incluyen los siguientes comandos para monitorear el comando ** at **:
* ** at **: el programa solía enviar una tarea única.
* ** atq **: el programa utilizado para revisar la cola de trabajos enviados con ** at **
.
* ** atrm **: el programa utilizado para eliminar trabajos de la cola.
===== El uso del comando at =====
El comando ** at ** puede emitirse para permitirle escribir un script personalizado o señalarlo a un script preconstruido. Además, las amplias especificaciones de tiempo permitien aumentar la complejidad.
El argumento // - m // se puede agregar a cualquier comando que le indique al daemon que envíe un correo al usuario en el sistema local para avisarle de la finalización de la tarea.
==== Programación de un script existente ====
Este ejemplo le dirá a la aplicación ** at ** que ejecute el script
///home/user/testscript.sh// a las 4PM de hoy y envíe un correo electrónico al usuario al finalizar.
user@darkstar$ at 16:00 -m -f /home/user/testscript.sh
Como puede ver, el argumento // - f // significa ** archivo ** ya que apunta al archivo que se ejecutará.
==== Programando una nueva acción ====
Como se ve a continuación, cuando no se especifica ningún archivo, la aplicación ** at ** abre una solicitud para que el usuario ingrese el nuevo script.
user@darkstar$ at 19:40 -m
warning: commands will be executed using /bin/sh
at> ping -c 4 www.google.com
at> echo $?
at>
job 4 at Sun Dec 30 19:40:00 2012
El usuario deberá escribir la secuencia de comandos que se emitirán dentro de la solicitud; al finalizar, cierre la solicitud con Ctrl + 'd'
El comando anterior le indicó a ** at ** que haga ping a Google 4 veces a las 7:40 PM, que devuelva el estado de la aplicación y envíe los resultados por correo electrónico al usuario.
Asegúrese de anotar el número de trabajo, es el único identificador visible para el trabajo y debe ser referenciado si desea eliminar el trabajo más adelante.
==== Revisión de tareas en cola ====
El comando ** atq ** enumera los trabajos pendientes del usuario. La salida es Número de trabajo, fecha, hora, cola y nombre de usuario.
user@darkstar$ atq
4 Sun Dec 30 19:40:00 2012 a user
Una vez que se haya anotado el número de tarea, puede revisar los comandos que se incluyen en el trabajo emitiendo el comando // en -c {número de trabajo} //, y el ejemplo se muestra a continuación.
user@darkstar$ at -c 4
#!/bin/sh
# atrun uid=1000 gid=1000
# mail user 1
umask 22
....Environment Details....
cd /home/user || {
echo 'Execution directory inaccessible' >&2
exit 1
}
ping -c 4 www.google.com
echo $?
==== Eliminar tareas en cola ====
El comando ** atrm ** elimina los trabajos de la cola pendiente, no presenta ninguna confirmación de que el trabajo se haya eliminado, por lo que puede ser recomendable ejecutar ** atq ** después de ** atrm ** para confirmar que el trabajo se ha eliminado.
user@darkstar$ atrm 4
====== Further Resources ======
* [[http://unixhelp.ed.ac.uk/CGI/man-cgi?at|at manual page]]
* [[http://www.brunolinux.com/02-The_Terminal/The_at_Command.html|BrunoLinux]]
* [[http://sathyaphoenix.wordpress.com/2009/01/18/using-at-command-to-schedule-jobs-in-linux/]]
====== Fuentes ======
* Originalmente escrito por [[wiki:user:mfillpot | mfillpot]]
* Traducido por [[wiki:user:slackwarespanol | Victor]] 2019/08/27 14:49 (UTC)
{{tag>howtos task_scheduling author_mfillpot}}