NB clusterssh / cssh output logging (updated)

Ну, так нужно, чтобы все сессии из cssh попадали в файл (и мне ничего не нужно делать для этого, потому как “забыл” и “как же так, бл%@#$!!!” где-то очень близко стоят).

UPDATE: небольшой апдейт, надо бы игнорировать существующий сокет скрина и не делать записей лишних в utmp, правильно именовать сессию и название в строчке статуса

UPDATE1: опция -l теперь корректно работает

~/.clusterssh/config

#...
ssh=cssh_invokescreen.bsh
#...

~/.screenrc

...
logfile '/storarray/work/clogs/screen_%H_%m%d%Y_%0c-%t.%n.%S'
...

~/bin/cssh_invokescreen.bsh

#!/bin/bash
[ ! -z $3 ] && CSSH_HOST=$3 || CSSH_HOST=$1
screen -q -r cssh.${CSSH_HOST} || screen -ln -t CSSH.${CSSH_HOST} -S cssh.${CSSH_HOST} -m -T xterm -L ssh $@

Ну да, “грязновато”, но вполне пойдет для работы:

[ilyxa@wombat ~]$ screen -ls
There are screens on:
        2005.cssh.snooky-dev    (Attached)
        2001.cssh.snooky-int    (Attached)
        1997.cssh.snooky-vms    (Attached)
        1992.cssh.snooky        (Attached)
        810.mainterm    (Attached)
5 Sockets in /run/screens/S-ilyxa.

Ну и далее при необходимости screen -x <имя сессии>. Удобно же.

Да, цель достигнута:

[ilyxa@wombat ~]$ ls -la /storarray/work/clogs/screen_wombat_*CSSH*
-rw-r--r-- 1 ilyxa ilyxa 2446 ноя 27 22:55 /storarray/work/clogs/screen_wombat_11272018_22:55-CSSH.snooky.0.cssh.snooky
-rw-r--r-- 1 ilyxa ilyxa 1135 ноя 27 22:55 /storarray/work/clogs/screen_wombat_11272018_22:55-CSSH.snooky-dev.0.cssh.snooky-dev
-rw-r--r-- 1 ilyxa ilyxa 1135 ноя 27 22:55 /storarray/work/clogs/screen_wombat_11272018_22:55-CSSH.snooky-int.0.cssh.snooky-int
-rw-r--r-- 1 ilyxa ilyxa 3214 ноя 27 22:55 /storarray/work/clogs/screen_wombat_11272018_22:55-CSSH.snooky-vms.0.cssh.snooky-vms

Вишенька на тортик, для dwm специально, config.h

 static const Rule rules[] = {
...
     { "Cssh", NULL, NULL, 1 << 4, 1, -1 },
     { NULL, NULL, "CSSH:", 1 << 4, 0, -1 },
...

#cssh #recording #logging #screen

Leave a Reply

Your email address will not be published. Required fields are marked *