sh. Scripte ansprechen und auslesen/ausführen


Headymaster

Erfahrenes Mitglied
Hallo,
ich habe eine MySQL Tablle in der der sshuser und sein pw plus die Directory des ts servers jeweils drinstehen.

Alles soll immer an dieses sh.script geschickt werden:

Code:
#! /bin/bash
# Copyright (c) 2004 TeamSpeak team   All rights reserved.
#
# Author: pwk.linuxfan 2004
#
##### Bitte Pfad anpassen zum TS verzeichnis
PATH1=/home/htdocs/web1/ts
#####

cd $PATH1

case "$1" in
	start)
		if [ -e tsserver2.pid ]; then
			echo "tsserver2.pid already exists...server already started ?";
			echo "If you are sure the server is not running, delete tsserver2.pid"
			exit 1
		else
			if [ "$UID" = "0" ]; then
				echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
				for c in $(/usr/bin/seq 1 10); do
					echo -n "!"
					sleep 1
				done
				echo !
			fi
			echo "starting the teamspeak2 server"
			if [ -e server_linux ]; then
				if [ ! -x server_linux ]; then
					echo "server_linux is not executable, trying to set it"
					chmod u+x server_linux
				fi
				if [ -x server_linux ]; then
					screen -A -m -d -S TS1 ./server_linux -PID=tsserver2.pid
				else
					echo "server_linux is not executable, fix this"
					exit 4
				fi
			else
				echo "Couldnt find server_linux"
				exit 5
			fi
		fi
	;;
    stop)
		if [ -e tsserver2.pid ]; then
			echo -n "stopping the teamspeak2 server"
			if ( kill -TERM `/bin/cat tsserver2.pid` ); then
				for c in $(/usr/bin/seq 1 300); do
					if [ -e tsserver2.pid ]; then
						echo -n "."
						sleep 1
					fi
				done
			fi
			if [ -e tsserver2.pid ]; then
				echo "server does not shutdown cleanly - killing"
				kill -KILL `cat tsserver2.pid`
				rm tsserver2.pid
				sleep 5
			else
				echo "done"
			fi
		else
			echo "tsserver2.pid is missing, no started server ?"
			exit 7
		fi
	;;
	restart)
		$0 stop && $0 start || exit 1
	;;
	status)
		if [ -e tsserver2.pid ]; then
			echo "the server seems to be running"
			exit 0
		else
			echo "the server seems to be stopped"
			exit 3
		fi
	;;
	passwords)
		if [ -e server.log ]; then
			date=$(cat server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/")
			spass=$(cat server.log | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/")
			pass=$(cat server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/")
			echo "Following passwords were generated on $date"
			echo "superadmin = \"$spass\""
			echo "admin      = \"$pass\""
		else
			echo "server.log not found, maybe you did not start the server yet ?"
			exit 1
		fi
	;;
	*)
		echo "Usage: $0 {start|stop|restart|status|passwords}"
		exit 2
esac
exit 0


Nun ist die Frage, wie kann ich dieses sh.Script mit einer php Datei ansprechen und es auslesen, das heißt zum Beispiel Status oder auch halt restart usw. durchführen

Außerdem soll ja oben in der sh. Datei die Dir angegeben werden.
Kann man es auch so machen, dass die Dir die man in die SQL Datenbank eingelesen hat, auch gleich wieder für die sh.datei weitergeben kann

Bite helft mir, wäre super nett.

MFG Headymaster