Hallo Boardies,
Ich möchte euch um eure Mithilfe bitten, da ich ein sehr merkwürdiges Problem habe, mit einem Script.
Ich habe ein Webinterface für den SC_Trans und habe 2 Server zu administrieren. Meinen, und noch von einem befreundeten Menschen.
Auf meinem Server ist OpenSuse in der Version 10.3 - 64 bit installiert, und auf dem anderen Server OpenSuse in der Version 11.1 - 64 bit Version.
Auf beiden Servern ist das Script installiert.
Auf beiden Servern ist Save-Mode aus.
Auf beiden Servern lässt sich das Script komplett starten, jedoch nur auf meinem! stoppen, während der andere Server dieses verweigert, heisst, er stoppt das nicht.
Server meiner : Server4You
Server Freund : Strato
Hier der Auszug des Scriptes:
Das steht in der Bash :
Beide Server haben die selben Rechte, und wie geschrieben auf meinem Server funktioniert das einwandfrei, auf dem anderen nicht.
Ich würde mich Freuen, wenn ihr mir helfen könntet
Ich möchte euch um eure Mithilfe bitten, da ich ein sehr merkwürdiges Problem habe, mit einem Script.
Ich habe ein Webinterface für den SC_Trans und habe 2 Server zu administrieren. Meinen, und noch von einem befreundeten Menschen.
Auf meinem Server ist OpenSuse in der Version 10.3 - 64 bit installiert, und auf dem anderen Server OpenSuse in der Version 11.1 - 64 bit Version.
Auf beiden Servern ist das Script installiert.
Auf beiden Servern ist Save-Mode aus.
Auf beiden Servern lässt sich das Script komplett starten, jedoch nur auf meinem! stoppen, während der andere Server dieses verweigert, heisst, er stoppt das nicht.
Server meiner : Server4You
Server Freund : Strato
Hier der Auszug des Scriptes:
PHP-Code:
$action = getRequestVar('action');
if ($action == "")
{
unset($action);
}
if (isset($action))
{
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if ($action == "stop")
{
//if($sc_proc_id != 0){
shell_exec($soundbase."/sc_trans stop");
//}
//else {
//echo "SC_TRANS_LINUX killed";
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
//}
}
elseif($action == "restart")
{
shell_exec($soundbase."/sc_trans stop");
shell_exec($soundbase."/sc_trans start");
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
}
elseif($action == "reload")
{
$sc_proc_id = shell_exec("ps -A | grep sc_trans_linux | cut -c 0-6;");
shell_exec("kill -s USR1 ".$sc_proc_id);
//header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
}
elseif($action == "next")
{
$sc_proc_id = shell_exec("ps -A | grep sc_trans_linux | cut -c 0-6;");
shell_exec("kill -s WINCH ".$sc_proc_id);
//header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
}
elseif($action == "start")
{
$file = $soundbase."/sc_trans.conf";
$filehandle = fopen ($file, "r+");
$contents = fread($filehandle, filesize($file));
fclose($filehandle);
$pos = strpos($contents, "LogFile=") ;
$contents = substr($contents, $pos+8);
$Logfile = strtok($contents, "\n");
if($sc_proc_id == 0){
shell_exec("rm ".$soundbase."/".$Logfile);
shell_exec("touch ".$soundbase."/".$Logfile);
shell_exec($soundbase."/sc_trans start");
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
}
elseif($action == "config")
{
echo (' <SCRIPT LANGUAGE="javascript">
window.open ("editconf.php")
</SCRIPT> ');
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
}
}
PHP-Code:
#!/bin/bash
#!/usr/bin/php -q
# To start the script automatically at bootup type the following command
# update-rc.d sc_trans defaults 99
USER=rt
MYDIR=`dirname $0`/
case $1 in
start)
#display to user that what is being started
echo “Starting sc_trans_linux”
#start the process and record record it’s pid
cd $MYDIR ; screen -AmdS stream ./sc_trans_linux;
sleep 2
ps -A | grep sc_trans_linux | cut -c 0-6 > /var/run/sctrans.pid
#output failure or success
#info on how to interact with the torrent
#echo “To interact with the torrent client”
#echo “screen -r torrent”
if [[ $? -eq 0 ]]; then
echo “The process started successfully”
else
echo “The process failed to start”
fi
;;
stop)
#First we want to kill the original servers, so we don't get errors.
echo "Killing old shoutcast streams."
for oldpid in `ps -A | grep sc_trans_linux | cut -c 0-6`; do
kill -9 $oldpid
done
rm -f $pid
;;
*)
# show the options
echo “Usage: {start|stop}”
exit 1
;;
esac
exit 0
Ich würde mich Freuen, wenn ihr mir helfen könntet
Kommentar