développement

Quelques notes pour répondre à des problématiques rencontrées au travail.

Screen : un gestionnaire de sessions de terminal

Je viens d’installer un Ubuntu Server headless (sans écran ni clavier), dont l’un des buts est de sauvegarder mon NAS. En attendant que tout soit automatique, je contrôle cette machine via SSH depuis un autre ordinateur.

Pour éviter d’avoir à laisser la session SSH ouverte le temps de la sauvegarde, j’utilise Screen. Ce gestionnaire de sessions de terminal me permet de fermer la connexion SSH une fois le script de sauvegarde lancé.

Exécuter une commande dans une session Screen

Lancer Screen sur la machine de sauvegarde :

ssh vince@ubuntu
screen

S’affichent alors quelques explications qui nous invitent à presser la touche Entrée. Une nouvelle session est alors démarrée. C’est depuis cette nouvelle session que j’exécute mon script de sauvegarde. Par exemple :

~/backup.sh ; shutdown now

Sortir d’une session Screen

Passer la session en tâche de fond : CTRL+A puis presser la touche D.

On sort alors de la session et on se retrouve sur celle depuis laquelle on a démarré Screen.

On peut ensuite se déconnecter et revenir plus tard pour reprendre la session, dans laquelle les processus continueront de s’exécuter.

Reprendre une session Screen

Revenir sur la machine de sauvegarde :

ssh vince@ubuntu

Lister les sessions ouvertes en tâche de fond :

screen -ls

Reprendre une session :

screen -r <session>

<session> est l’identifiant de la session, obtenu par la commande précédente.

Publié le 01/05/2016
dans la catégorie développement.

Commentaires

Poster un commentaire

Votre adresse e-mail ne sera pas affichée sur le site.