sh Script via Bowser ausführen

Bash, Shell, PHP, Python, Perl, CGI
[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-04 01:32

HuHu,

wie macht man es möglich ein script auf dem Server zu starten über einen Link im Browser ebenso das Script zu stoppen?


z.B

ein chatserver soll per browser gestartet werden start script liegt in einer

/home/srv/www/startup.sh

der befehl

startup.sh & soll per browser ausgeführt werden auf dem server, wie veranstaltet man das am besten ??

bin dankbar für jeden rat :-)[/b]

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: sh Script via Bowser ausführen

Post by r00ty » 2005-04-04 07:56

wie wärs mit php und system ?
musst allerdings schauen mit welchen Rechten das Teil gestartet und gestoppt wird, das hängt davon ab ob du php_mod oder suPhp/Cgi verwendest.
Oder du lässt es gleich als cgi laufen..... (wobei ich dir da nicht weiterhelfen kann)

[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

Re: sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-04 14:52

gibt es da keine andere möglichkeit ?

als beispiel Counterstrike server, lassen sich doch auch via http neu starten ?!

kennt keiner ein script das es ermöglicht via Browser eine .sh datei zu starten ?



danke

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: sh Script via Bowser ausführen

Post by Joe User » 2005-04-04 15:06

Wozu einen Interpreter über einen anderen Interpreter starten, wenn man den gewünschten Interpreter auch direkt starten kann? Mach aus Deinem Shell-Script ein CGI-Script, statt teure Systemressourcen zu verschwenden...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

Re: sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-04 18:56

und wie schreib ich ne startup.sh in cgi um ? *g*

[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

Re: sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-05 10:34

also ich hab das mal versucht die startup.sh in cgi ausuführen aber das funktioniert nicht. bekomme immer den fehler

Code: Select all

Fehlermeldung: 
Premature end of script headers: startup.cgi 
das script selber sieht so aus

Code: Select all

#!/bin/sh

if [ "$1" = "-h" ]
then
    echo "Usage: $0 [-h] [-r] [file]"
    echo "Start the VolanoChat server.  The default is to start the server"
    echo "once and load its properties from the file "conf/properties.txt"."
    echo "  -h    display this help information."
    echo "  -r    restart the server if it stops."
    echo "  file  the location of the server properties file."
    exit
fi

# Define the Java system properties and class path.
properties="-Dinstall.root=. -Dcatalina.home=."
classpath=.

# Define any settings specific to each operating system.
os=`uname -s`
case $os in

    CYGWIN*)    # Microsoft Windows with Cygwin
        for file in lib/*.jar; do classpath="$classpath;$file"; done
        java=/cygdrive/c/jdk1.3.1_13/bin/java
        options="-server -Xmx256m -Xss128k"
        ;;

    Darwin)     # Apple Mac OS X
        ulimit -n 1024
        for file in lib/*.jar; do classpath="$classpath:$file"; done
        java=/usr/bin/java
        options="-server -Xmx256m -Xss128k"
        ;;

    FreeBSD)    # FreeBSD
        ulimit -n 1024
        for file in lib/*.jar; do classpath="$classpath:$file"; done
        java=/usr/local/j2sdk1.3.1/bin/java
        options="-green -Xmx256m -Xss128k"
        ;;

    Linux)      # GNU/Linux
        ulimit -n 1024
        for file in lib/*.jar; do classpath="$classpath:$file"; done

        # For the Blackdown Java 2 Classic VM, use these variables:
        java=/usr/lib/SunJava2-1.4/bin/java
        # options="-green -Xmx256m -Xss128k"

        # For the Sun Java 2 HotSpot Server VM, use these variables:
        # java=/usr/java/j2sdk1.3.1/bin/java
        options="-server -Xmx256m -Xss128k"
        ;;

    SunOS)      # Sun Solaris
        ulimit -n 1024
        for file in lib/*.jar; do classpath="$classpath:$file"; done
        java=/usr/j2se/bin/java
        options="-server -Xmx256m -Xss128k"
        ;;

    *)          # Unknown operating system
        echo "Unrecognized operating system name: $os"
        exit
        ;;
esac

# Quit if we cannot find the Java executable file.
if [ ! -x "$java" ]
then
    echo "Java virtual machine not found: $java"
    exit
fi

# Print the Java version.
$java $options -version

# Start the VolanoChat server.
# The "-r" option specifies to restart the server if it terminates.
if [ "$1" = "-r" ]
then
    while :
    do
        echo "[`date`] Starting server ..."
        $java $options $properties -cp $classpath COM.volano.Main $2
        code=$?
        echo "[`date`] Server terminated with exit code $code."
        sleep 15
    done
else
    $java $options $properties -cp $classpath COM.volano.Main $1
fi

Ich versteh das aber trozdem nich das man das Script über web ausführen kann und das als CGI dann könnte das jeder tun und mal eben Linux verunstalten. Also was versteh ich da nich ? und wie lässt es sich nun möglich machen diesen Chatserver zu starten per LINK ?

Danke :-)

mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln

falscher header

Post by mc5000 » 2005-04-05 10:47

etwas mehr muss schon noch gemacht werden ...
zuerst den richtigen interpreter wählen.

Ich nehme für sowas immer perl .... weiß aber nicht ob die anderen das meinten ???

Also anstatt

Code: Select all

#!/bin/sh
->

Code: Select all

#!/usr/bin/perl
(oder wo das bei Dir liegt)

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: falscher header

Post by suntzu » 2005-04-05 11:41

mc5000 wrote:etwas mehr muss schon noch gemacht werden ...
zuerst den richtigen interpreter wählen.

Ich nehme für sowas immer perl .... weiß aber nicht ob die anderen das meinten ???

Also anstatt

Code: Select all

#!/bin/sh
->

Code: Select all

#!/usr/bin/perl
(oder wo das bei Dir liegt)
Dann müsste er aber auch sein Skript in Perl schreiben :-) Da es aber schwer nach (ba)sh-Skript aussieht ist der Interpreter schon OK. Aber das Problem hat er bereits im Webserver-Forum erläutert, da steht de fakto auch die Lösung.

[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

Re: sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-05 11:58

Aber das Problem hat er bereits im Webserver-Forum erläutert, da steht de fakto auch die Lösung.
was meinst du damit ? und wo hat wer was erklärt ? *g*

:arrow: :lol:

mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln

refer

Post by mc5000 » 2005-04-05 13:26


[hm]thegateway
Posts: 39
Joined: 2005-03-27 15:46

Re: sh Script via Bowser ausführen

Post by [hm]thegateway » 2005-04-05 19:36

ahh, hast recht, ich hab erst wegen dem script gefragt und danach festgestellt das meine sonstigen cgis auch nich gehen. hatte erst gedacht ich hab mir nun mit dem bash script meine cgis zerschossen liegt aber wie beschrieben an nem anderen problem,

aber nochmal zum nachdenken,

die bash datei (startup.sh) kann als cgi ausgeführt werden ohne probleme ? hab ich das richtig verstandne ?

gruß Andre