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

Félix Hauri felix at f-hauri.ch
Fri Jan 23 12:17:31 CET 2009


On Thu, Jan 22, 2009 at 06:59:08PM +0100, Cyril Jaquier wrote:
> 
> >Je ne pense pas qu'il y a une réelle différence, seulement que comme
> >d'hab il y a cinquante façons de faire et chacun choisit celle qui lui
> >convient au moment.
Juste! La commande ``normale'' fonctionne égallement très bien,
c'est juste un poil plus rapide (quoique) et surtout la force de
l'habitude (d'une manière générale, je préfère piper mes ordres
vers une commande qu'utiliser son interactivité)

> Personnellement, je ne jure que par "screen". Du coup, même pas besoin 
> de penser à "piper" une commande vers "at" par exemple. Si la connexion 
> coupe (temporairement bien entendu) c'est pas grave, on retrouve sa 
> session plus tard sans problème. Pratique pour faire une mise à jour de 
> Gentoo sur un serveur distant par exemple.
Tu prêche un convaincu!
J'utilise abondament screen, même en local pour ne pas risquer de perdre
ma console si le serveur X tombe...

Mais quand tu te retrouves avec trois sessions de ``ssh + screen'' imbriquées,
alors entre ``~~.'', ``~~~~.'' et ``~~~~~~~~.'' pour tuer une session ssh
donnée et des ``^A A ^A A'' et autres ``^A A A'' selon que tu veuille envoyer
en Ctrl-A à ta 3è session imbriquée ou changer d'écran dans ta 3è session
imbriquée, tu as de quoi te prendre la tête.

De plus, si ta commande se déroule mal (bug dans ton script ou dans un
des outils que tu utilise) et que la machine est redémarée de force,
ton screen disparait *avec* tous les logs et erreurs.
At génère un mail.

Enfin, il arrive que screen ne soit pas installé, tandis qu'atd l'est
presque systématiquement.

> Je l'utilise aussi parfois pour faire du dépannage interactif à distance 
> grâce à l'option "-x".
``-x'' permet d'avoir plusieur affichages simultanés,

Je préfère lancer ``screen -D -R ; logout || exit'' pour n'avoir
qu'une session et un affichage. La séquence ``^A d'' détache screen
de la console et du coup ferme la console, mais n'est pas nécessaire
(la console peut être fermée de force ou laissée en plan) pour être
récupérée ultérieurement à distance. (l'option -D force la console
ouverte à détacher screen. La console initiale sera alors fermée)

Cas de figure classique**: changement de disque sur une machine de backup
(sans écran, j'y accède avec un cable série croisé ``null-modem'').
Me loggue en root et lance ``screen -D -R ; logout''.
Dans ma console screen, je m'assure que tout à correctement démarré,
partitionne le nvo disque, déclare les partitions au raids concernée,
lance monitoring et vérifs.
``^A d'', débranche tout et retour au bureau.
``xterm -T TheBackup -exec sh -c 'ssh -t root at TheBackup screen -D -R' ''

Et hop, j'ai une console dédiée avec mes jobs en train de progresser...
(** Classique par oposition à ``moderne'', j'ai égallement des serveur
 full-hot-plug, sinon il m'arrive parfois de le faire en wifi;)

> Si certains d'entre vous ne connaissent pas cette utilitaire, je vous 
> conseille vivement d'y jeter un coup d'oeil.
J'abonde!

Sans compter les autres utilisations, comme p. ex:
 - l'argument ``-x'' qui est idéal pour l'écollage:
   On peut très bien être à deux (ou plus) sur la même console.
 - la séquence ``^A S'' (s majuscule!) qui split la console en 2,
   suivie de ``^A Tab'' pour changer de section et ``^A c'' pour
   créer un nouveau shell dans la 2è section...
 - Et des trucs comme:
   sh -c 'while :;do
       printf "\ek%s - %s\e\\" $HOSTNAME "$(uptime|tr -d \\n)" >/dev/stdout || exit;
       sleep 3;
       done' &
 - ATTENTION: si vous avec tapé ``^A s'' (minuscule), cela correspond
   à un ^S dans la sous-console screen, càd cela bloque l'affichage!
   un ``^A q'' débloque la situation.
 - Attention bis, on peut égallement laisser des trous de sécurité
   béants sur une console screen! Utilisateur sans mot de passe qui
   ouvre une console screen pour y faire un ssh sur une machine
   protégée fait prendre un très gros risque à ladite machine.

TryIT!

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



More information about the gull mailing list