miércoles 14 de noviembre de 2007

Guía rápida de uso del comado at (Linux)

Buscando un correo antiguo me he tropezado con uno que envié hace unos meses explicando, de una forma lo más práctica posible, el uso del comando at.

Trata de cómo programar un reinicio de máquina desasistido mediante este comando (Otro día ya hablaré del comando crontab, que me llevará más tiempo, ahora tengo la cena casi a punto).

Versión Linux, copiado y pegado de una Debian. Todavía no he comprobado si vale al 100% para Unix, pero si no es lo mismo seguro que se parece bastante (para el at de Windows seguro que no sirve, seamos serios hombre!):


- Aseguramos que la fecha y hora están bien

nohost:~# date
Wed Feb 8 17:31:04 CET 2006


- Programamos un reinicio a las 13:00

nohost:~# echo "/sbin/reboot" | at 13:00
warning: commands will be executed using /bin/sh
job 6 at 2006-02-09 13:00


- Consultamos la cola at

nohost:~# atq
6 2006-02-09 13:00 a root

El primer número es el identificador de cada job (en este caso sólo hay uno).


- Consultamos el trabajo 6 de la cola at:

nohost:~# at -c 6
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
PWD=/root; export PWD
LS_OPTIONS=--color=auto; export LS_OPTIONS
...
SSH_TTY=/dev/pts/0; export SSH_TTY
cd /root || {
echo 'Execution directory inaccessible' >&2
exit 1
}
/sbin/reboot


- Borramos el trabajo 6 de la cola at

nohost:~# atrm 6


- Comprobamos que el trabajo ya no existe

nohost:~# atq


- Reprogramamos el trabajo

nohost:~# echo "/sbin/reboot" | at 13:00
warning: commands will be executed using /bin/sh
job 7 at 2006-02-09 13:00


- Y nos aseguramos que el trabajo existe

nohost:~# atq
7 2006-02-09 13:00 a root