Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Letzte Überarbeitung | |||
— | anwenderwiki:linbo-remote [2015/02/14 19:11] – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> linbo-remote screen sessions session überwachen script bash}} | ||
+ | |||
+ | |||
+ | |||
+ | ====== linbo-remote: | ||
+ | |||
+ | Wenn man einen Raum synchronisiert und **viele** screen-Sessions per | ||
+ | linbo-remote laufen, ist es wünschenswert, | ||
+ | nachsehen kann, wie weit die Übertragungen im einzelnen bereits | ||
+ | fortgeschritten sind; oder auch einfach nur, was die Clients gerade tun | ||
+ | bzw. nicht tun. | ||
+ | |||
+ | Das musste man bisher mit " | ||
+ | |||
+ | Dieses Script automatisiert diesen Prozess, indem es alle laufenden screen-Sessions | ||
+ | ausliest und ein " | ||
+ | entsprechende Session " | ||
+ | In Moment werden jedoch //auch// die Sessions der laufenden Bittorrent-Screens mit angezeigt! | ||
+ | |||
+ | Das Script nennt sich " | ||
+ | aber auch unabhängig davon funktionieren (ungetestet). | ||
+ | |||
+ | **Vorgehensweise: | ||
+ | * Script herunterladen und unter dem Dateinamen // | ||
+ | * //chmod +x screen-manager.sh// | ||
+ | * // | ||
+ | |||
+ | Wie üblich kommt man mit < | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # screen-manager.sh | ||
+ | # Geeignet für linuxmuster 6.x | ||
+ | # von Michael Hagedorn | ||
+ | # nach einer Vorlage von | ||
+ | # http:// | ||
+ | |||
+ | VER=1.1 | ||
+ | |||
+ | # Wieviele Sessions laufen? | ||
+ | lines=$(screen -ls | grep -F Detached |wc -l); | ||
+ | # echo $lines; | ||
+ | for((j=1; | ||
+ | # Welche zugehörigen Namen der screens? (werden in Datei geschrieben) | ||
+ | | ||
+ | # Die Optionen für das " | ||
+ | # (" | ||
+ | echo $NAME /off >>/ | ||
+ | done | ||
+ | |||
+ | i=1 | ||
+ | while read line | ||
+ | do | ||
+ | # Welche PIDs gehören zu den Namen? (werden ebenfalls in Datei geschrieben) | ||
+ | PID=$(screen -ls | grep -F Detached |awk -F\ ' | ||
+ | echo $PID $line >>/ | ||
+ | i=`expr $i + 1` | ||
+ | done </ | ||
+ | OPTIONS=`cat / | ||
+ | |||
+ | | ||
+ | rm -f / | ||
+ | rm -f / | ||
+ | rm -f /tmp/ans.$$ | ||
+ | } | ||
+ | |||
+ | # Hauptmenu erzeugen: | ||
+ | | ||
+ | dialog --backtitle " | ||
+ | | ||
+ | # Abbruch-Bedingung: | ||
+ | opt=${?} | ||
+ | if [ $opt != 0 ]; then echo " | ||
+ | # Auswahl merken: | ||
+ | result=`cat / | ||
+ | |||
+ | if [ $result ] | ||
+ | then | ||
+ | | ||
+ | else echo "Keine Auswahl getroffen! Nochmal..."; | ||
+ | fi | ||
+ | | ||
+ | } | ||
+ | |||
+ | while true; do | ||
+ | main_menu | ||
+ | done | ||
+ | #EOF | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Das Script kann bei Bedarf sehr leicht abgewandelt und zu einem völlig anderen Zweck benutzt werden. Die entsprechenden Zeilen mit den // | ||
+ | </ | ||