En utilisant les commandes who -u
et w
, nous pouvons déterminer quelles sessions SSH sont inactives pendant combien de temps. Mais ces commandes ne capturent pas x2go sessions; x2go fonctionne sur ssh cependant.
Je cherche un équivalent de 'who u
' pour x2go sessions, de sorte que les sessions inactives puissent être terminées après une période spécifiée.
Merci
Voir x2golistsessions_root
voici un script que j'ai écrit:
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