Hi,
also der teil mit dem xdialog( der 1. Aufruf geht nicht der 2. schon) geht nicht.
Der 2 te Aufruf ist eigentlich nur ein echo von dem ersten, somit ist es eigentlich identisch. Denoch geht der erste nicht.
Ich kann, VB, Gambas, PHP, JS, etc., aber bei sh steh ich irgendwie an.
Danke für die Hilfe.
lg Richi
also der teil mit dem xdialog( der 1. Aufruf geht nicht der 2. schon) geht nicht.
Der 2 te Aufruf ist eigentlich nur ein echo von dem ersten, somit ist es eigentlich identisch. Denoch geht der erste nicht.
Ich kann, VB, Gambas, PHP, JS, etc., aber bei sh steh ich irgendwie an.
Code:
#!/bin/sh
servers="richi 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4"
programm=$*
function init () {
ssh-keygen -t dsa
echo "Bitte geben Sie den Hostnamen oder die IP-Adresse des Zielservers an:"
read server
ssh-copy-id -i $HOME/.ssh/id_dsa.pub $USER@$server
}
function select_server () {
menu=""
count=1
for i in $servers
do
count=$(($count+1))
echo $count
ping $i -c 1 -q
#Erreichbar
if [ $? = 0 ]; then
#loadavg=`ssh -f $USER@$i cat /proc/loadavg | awk -F " " '{print "1 Minute: "$1 " 5 Minuten: " $2 " 15 Minuten: " $3}'`
loadavg="blub"
else
loadavg="Error: Server Offline!"
fi
# menu="$menu "\"$i"\" "\"Linux"\""
menu="$menu \"$i\" \"$loadavg Linux\""
done
localhost=`cat /proc/loadavg | awk '{print "1 Minute: "$1 " 5 Minuten: " $2 " 15 Minuten: " $3}'`
menu="\"localhost\" \"$localhost\"$menu"
Xdialog --title "Load Balance Desktop Cluster 0.1" --menu "Bitte wählen Sie einen Server aus \nauf dem das gewünschte Programm gestartet werden soll!\n\nBitte wähle einen Server aus:" 24 51 $count $menu 2> /tmp/menu.tmp.$$
Xdialog --title "Load Balance Desktop Cluster 0.1" --menu "Bitte wählen Sie einen Server aus \nauf dem das gewünschte Programm gestartet werden soll!\n\nBitte wähle einen Server aus:" 24 51 6 "localhost" "1 Minute: 1.71 5 Minuten: 1.65 15 Minuten: 1.78" "richi" "blub Linux" "192.168.0.1" "blub Linux" "192.168.0.2" "Error: Server Offline! Linux" "192.168.0.3" "Error: Server Offline! Linux" "192.168.0.4" "Error: Server Offline! Linux"
retval=$?
server=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$
case $retval in
0)
#Prüfen ob der Server erreichbar ist
ping $server -c 1 -q
#Erreichbar
if [ $? = 0 ]; then
echo "Befehl: ssh -X -f $USER@$server $programm"
ssh -X -f $USER@$server $programm
#Nicht erreichbar
elif [ $? = 1 ]; then
Xdialog --title "Der Server $server ist nicht erreichbar" \
--msgbox "Der Server ist leider nicht erreichbar \nbitte wählen Sie einen anderen Server!" 10 41
case $? in
0)
echo "OK";;
255)
echo "Box closed.";;
esac
#select_server
fi;;
1)
echo "Cancel pressed.";;
255)
echo "Box closed.";;
esac
}
if [ $1 = "--init" ]; then
init
else
select_server
fi
Danke für die Hilfe.
lg Richi