使用who -u
和w
命令,我们可以找出哪些 ssh 会话处于空闲状态,持续时间为多少。但这些命令不会捕获x2go会话;但是 x2go 可以通过 ssh 工作。
我正在寻找' who u
'的等价物x2go会话,以便可以在指定的一段时间后终止空闲会话。
谢谢
答案1
参见 x2golistsessions_root
这是我写的脚本:
LIMIT_DAYS=12
for ll in `x2golistsessions_root`; do
#Get the date of last use of the session
lastd=`echo $ll | awk -F \| '{print $11}' | awk -F T '{print $1}';`
#Date in seconds
lastsec=`date -d "$lastd" +%s`
#Current date in seconds
now=`date +%s`
days=`echo $(( ($now - $lastsec) /60/60/24 ))`
if [[ $days -gt $LIMIT_DAYS ]]; then
sid=`echo $ll | awk -F \| '{print $2}'`
echo "terminating session: $sid, $days days old, lastd: $lastd, lastsec: $lastsec, now: $now"
x2goterminate-session $sid
fi
done