PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid stoppen starten in bash mit oberfläche



HeighT
02-01-2002, 09:59
sorry - muss ein neues thema starten -> hatte hier (http://www.linuxinfoserver.de/forums/showthread.php?s=&threadid=13622) nur geantwortet

also ich möchte den squid per telnet administrieren - dies soll recht einfach zu handhaben sein!!!!...also so sollte es ausschaun:
ich gebe z.b. "proxy" in der commandozeile ein...dann kommt ein kleines auswahlmenü:

proxy statusabfrage = 0
proxy starten = 1
proxy stoppen = 2


wenn ich dann eine zahl von beiden auswähle soll dies auch geschehen - halt bei 0 status abfragen, bei 1 starten und bei 2 stoppen!
die befehle sind klar:
rcsquid status
rcsquid restart
rcsquid stop

ich möchte dies auf jedenfall über telnet administrieren (nicht über andere tools!)

aber wie mache ich das - habe keine ahnung davon - THX

mightymike99
02-01-2002, 12:02
also das aha-Erlebnis das selber zu vollbringen möchte ich dir nicht nehmen, darum die Tipps: :p

Endlosschleife: while
Eingabe: read
Auswahl: case

Anleitung in deutsch: http://www.linuxfibel.de/bashprog.htm

Alles klar?
In 5 Minuten ist es bestimmt fertig

Gruß
Tobias

HeighT
02-01-2002, 19:26
für einen nub in sachen programmierung ist das nicht klar?!...der link ist zwar ganz ok, aber versteh ich nix...und finde auch keine eindeutige erklärung zu meinem wunsch!:( :(

geronet
02-01-2002, 21:43
Machs dir einfacher:

hier das script:

---schnipp---
#!/bin/sh

# See how we were called.
case "$1" in
restart)
rcsquid restart
;;
stop)
rcsquid stop
;;
status)
rcsquid status
;;
*)
echo "Usage: proxy {restart|stop|status}"
exit 1
esac

exit 0
---schnapp---

So nun rufst du das script mit

proxy restart
oder
proxy stop
oder proxy status

auf.

Wär doch total bescheuert das Gehirn erst eine Umwandlung von "status" nach "1" machen lassen und diese dann tippen anstatt gleich den Befehl hinzuschreiben.

Gruss, Stefan

HeighT
03-01-2002, 09:29
das ist aber für mich doch schon sehr sinnvoll!!..denn somit ist die bedienung für einen unerfahren sehhhhr einfach zu bedienen - wenn die benutzung wie ich oben erklärt habe realisierbar wäre!!!!

deac
03-01-2002, 11:37
---------------
#!/bin/bash
select type in "start" "stop" "status" ; do
rcsquid "$type"
echo "$?"
done
---------------
mit der 0 ist nichts zu machen. es sind erst alle ziffern ab 1 erlaubt.
also hab ich status nach 3 verfrachtet.
der rückgabe wert von rcquid wird auch zurückgegeben. einfach die echo zeile löschen und der rückgabewert wird nicht mehr angezeigt.

mightymike99
03-01-2002, 12:31
der Aufwand ist schon minimal übertrieben aber na ja...:



1 #!/bin/bash
2 PROG="rcsquid"
3 while true
4 do
5 clear
6 echo Proxyserver-Masterterminal
7 echo ==========================
8 echo " "
9 echo '1) Proxy starten'
10 echo '2) Proxy beenden '
11 echo '3) Proxy neustarten'
12 echo '4) Programm beenden'
13 echo -e "\nAuswahl:\c"
14 read AUSWAHL
15 case $AUSWAHL in
16 1) $PROG start;;
17 2) $PROG stop;;
18 3) $PROG restart;;
19 4) echo Shutting down Terminal...;exit 0 ;;
20 *) echo gib\' gefälligst mal was richtiges ein!
21 esac
22 echo Weiter mit Enter
23 read NIX
24 done

mit chmod u+x das Programm ausführbar machen!
Wenn du sowas öfters vorhast solltest Du Dich mal etwas mit der Shell-Programmierung auseinandersetzen.

Die ersten Fettnäpfchen kannst Du umgehen indem du unsere FAQ liest:
http://www.linuxinfoserver.de/forums/showthread.php?s=&threadid=18709

Gruß
Tobias

deac
03-01-2002, 12:47
das allernötigste:

#!/bin/bash
while true ; do
echo "Squid: Wähle aus:"
select type in "start" "stop"" status" "beenden" ; do
[ "$type" = "beenden" ] && exit 0
rcsquid "$type"
echo "$?"
done
done

HeighT
09-01-2002, 16:23
habe mich für mightymike99 variante entschieden - funzt wunderbar und entspricht genaustens meinen vorstellungen!!...gibt es eigentllich einen weg, dass wenn man über ssh auf linux zugreift das das script sofort ausgeführt wird, ohne erst "bash script" einzugeben

THX