[gull] Truc et astuces: Utiliser AT pour ne pas se couper l'herbe sous les pieds

Félix Hauri felix at f-hauri.ch
Sat Jan 17 17:12:04 CET 2009


C'est l'histoire du bucheron qui scie la branche sur laquelle il est assi:

Connecté à distance sur une machine que l'on administre, il est parfois
des opérations délicates comme le redémarrage de l'interface réseau ou
du vpn qui constitue le cannal par lequel on est connecté...

Un simple restart aurra pour effet d'interrompre (suspendre) le dialogue
puisque la console ne répond plus et du coup, l'opération ``restart''
reste suspendue en attente du retour de la console pour continuer...

Il existe plusieur moyens de se prémunire contre ce genre de situation,
nohup, redirections ``>/tmp/logfile 2>/tmp/errfile'', mais à mon avis,
le plus élégant est d'utiliser la commande ``AT'', avec comme argument
``now +1 minute''

Exemple:

# echo /etc/init.d/openvpn restart myvpn | at now +1 minute
ou
# echo $'ifdown eth0\nifup eth0' | at now +1 minute

Il n'en reste pas moins qu'avant d'effectuer une pirouette de ce genre,
on doit d'abord s'assurer que la matelas est en place pour la réception.
(que ifup *va* fonctionner, que la config VPN est correcte... ;)

Un autre avantage de la méthode ``at now +1 minute'' par rapport aux
solutions comme nohup ou simples redirections est que la méthode est
systématique et que, à chaque execution, un mail est envoyé à $USER,
contenant STDOUT et SDTERR.

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list