File x2gopgwrapper_net of Package x2go
#!/bin/bash
cd ~
#use only with sudo !!
SERVER=$1
UNAME=$SUDO_USER
case "$2" in
getdisplays)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select '|'||display||'|' from sessions;\"|psql -t x2go_sessions"
;;
getports)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select '|'||port||'|' from used_ports;\"|psql -t x2go_sessions"
;;
getservers)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select server,count(*) from sessions where status != 'F' group by server;\"|psql -t x2go_sessions"
;;
listsessions)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid, session_id, display, server, status,\
to_char(init_time,'DD.MM.YY*HH24:MI:SS'),cookie,client,gr_port,\
sound_port,to_char(last_time,'DD.MM.YY*HH24:MI:SS'),uname,\
to_char(now()-init_time,'SSSS'),fs_port from sessions \
where status !='F' and server='$3' and uname='$UNAME' order by status desc;\"|psql -t x2go_sessions"
;;
listsessions_all)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid, session_id, display, server, status,\
to_char(init_time,'DD.MM.YY*HH24:MI:SS'),cookie,client,gr_port,\
sound_port,to_char(last_time,'DD.MM.YY*HH24:MI:SS'),uname,\
to_char(now()-init_time,'SSSS'),fs_port from sessions \
where status !='F' and uname='$UNAME' order by status desc;\"|psql -t x2go_sessions"
;;
listsessionsroot)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid, session_id, display, server, status,\
to_char(init_time,'DD.MM.YY*HH24:MI:SS'),cookie,client,gr_port,\
sound_port,to_char(last_time,'DD.MM.YY*HH24:MI:SS'),uname,\
to_char(now()-init_time,'SSSS'),fs_port from sessions \
where server='$3' order by status desc;\"|psql -t x2go_sessions"
;;
listsessionsroot_all)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid, session_id, display, server, status,\
to_char(init_time,'DD.MM.YY*HH24:MI:SS'),cookie,client,gr_port,\
sound_port,to_char(last_time,'DD.MM.YY*HH24:MI:SS'),uname,\
to_char(now()-init_time,'SSSS'),fs_port from sessions \
order by status desc;\"|psql -t x2go_sessions"
;;
listsusp)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select session_id, display, uname, server,extract( day from now()-last_time)*24*60+extract(hour from now()-last_time)*60+extract(minute from now()-last_time)\
from sessions where server='$3' and status='S';\"|psql -t x2go_sessions"
;;
listallrunning)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid, session_id, display, server, status,\
to_char(init_time,'DD.MM.YY*HH24:MI:SS'),cookie,client,gr_port,\
sound_port,to_char(last_time,'DD.MM.YY*HH24:MI:SS'),uname,\
to_char(now()-init_time,'SSSS'),fs_port from sessions \
where status='R';\"|psql -t x2go_sessions"
;;
listmails)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select user_messages.mess_id,sessions.session_id,\
sessions.uname,sessions.display from sessions,user_messages,\
messages where sessions.uname=user_messages.uname and sessions.status!='F'\
and messages.mess_id=user_messages.mess_id and sessions.server='$3';\"|psql -t x2go_sessions"
;;
getmail)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select message\
from messages where mess_id='$3';\"|psql -t x2go_sessions"
;;
rmmail)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"delete from \
user_messages where mess_id='$3' and uname='$4';\"|psql -t x2go_sessions"
;;
rmsessionsroot)
if [ "$UNAME" != "root" ]
then
echo "$UNAME, You have not permission to do this job!"
exit
fi
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"delete from sessions \
where session_id='$3' ;\"|psql -t x2go_sessions"
;;
getagent)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select agent_pid from sessions where session_id = '$3';\"|psql -t x2go_sessions"
;;
getdisplay)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select display from sessions where session_id = '$3';\"|psql -t x2go_sessions"
;;
changestatus)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"update sessions set last_time=now(),status='$3' where session_id = '$4' and uname='$UNAME';\"|psql -t x2go_sessions"
;;
resume)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"update sessions set last_time=now(),status='R',client='$3' where session_id = '$4' and uname='$UNAME';\"|psql -t x2go_sessions"
;;
insertsession)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"insert into sessions (display,server,uname,session_id) values \
('$3','$4','$UNAME','$5');\"|psql x2go_sessions"
;;
createsession)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"update sessions set status='R',last_time=now(),cookie='$3',agent_pid='$4',\
client='$5',gr_port='$6',sound_port='$7',fs_port='$8' where session_id='$9' and uname='$UNAME';\"|psql x2go_sessions"
;;
insertport)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"insert into used_ports (server,session_id,port) values \
('$3','$4','$5');\"|psql x2go_sessions"
;;
insertmount)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"insert into mounts (session_id,path,client) values \
('$3','$4','$5');\"|psql x2go_sessions"
;;
deletemount)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"delete from mounts where session_id='$3' and path='$4';\"|psql x2go_sessions"
;;
getmounts)
ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@$SERVER "echo \"select client,path from mounts where session_id = '$3';\"|psql -t x2go_sessions"
;;
*)
echo "$2: wrong argument"
;;
esac