[ adaxx @ 04.10.2011. 00:03 ] @
Pozdrav svima,

da li moze neko da mi pomogne kako da napravim skriptu za start stop restart shoutcast servera.
Imam par radio stanica na serveru i zeleo bi da im napravim mali control panel, da mogu da kontrolisu svoj server.

HVALA !
[ Zlatni_bg @ 05.10.2011. 14:24 ] @
Pa pretpostavljam da ih pokreces i zaustavljas preko shell-a, samo napravi u PHP-u da se kada pritisnes neko dugme izvrsi odredjena akcija u shellu i to je to.
[ adaxx @ 05.10.2011. 15:36 ] @
mnogo si mi pomogao :) to znam i ja sto si ti upravo napisao.....
[ dakipro @ 05.10.2011. 15:47 ] @
A kakva ti pomoc tacno treba?
Nisi postavio relevantan kod, nisi opisao dokle si stigao i gde je tacno zapelo, nisi nista objasnio detaljno, tako da odgovor koji si dobio je po meni prilicno na mestu, uzimajuci u obzir pitanje. Sta vise, covek je lepo odvojio vreme zeleci da ti pomogne a u tvom zadnjem odgovoru vidim sarkazam ali ne vidim nigde "hvala"

Ako ti mozda treba neko ko ce da uzme i da ti napise sve to i ugradi u tvoj sajt onda otvori temu u IT berzi poslova ovde http://www.elitesecurity.org/f28-IT-berza-poslova ili mogu ja prebaciti ovu temu.
[ adaxx @ 05.10.2011. 15:59 ] @
...

mislim da sam dovoljno jasno napisao "....da mi pomogne kako da napravim skriptu..." dakle da napravim, nisam pisao da mi pomogne da zavrsim, dakle logicno je da je nisam ni zapoceo ako sam napisao da je napravim a ne da je zavrsim i slicno....
a hvala mogu da mu kazem eto sto se trudio da napise nesto, ali meni nista nije pomogao :)))
[ Zlatni_bg @ 05.10.2011. 16:06 ] @
Pa kako ja da znam kolika ti pomoc treba, i koliko znas PHP? "Da mi pomogne kako da napravim skriptu". To kako je kljucna rec, trazio si kako nesto treba da uradis, to sam ti i rekao.

A posto znas to sto sam ti ja vec rekao, ne znam u cemu je problem da to i napravis?

Evo ti jos jedan hint: http://php.net/manual/en/function.shell-exec.php

Ako ti ni to nije dovoljno, znaci da se nisi ni potrudio da skapiras sta je PHP, vec da samo zelis da ti neko napravi skriptu. Ovaj deo foruma nije namenjen tome, kao sto ti je rekao daki, napisi post u odgovarajucoj sekciji foruma.

To sto mislis da ti ja nisam pomogao, gresis, ti sam sebi ne zelis da pomognes.
[ ColdKeyboard @ 05.10.2011. 16:25 ] @
Ako mozes da izvrsis shell_exec napravi skriptu koja ce listati procese, filtriras postojece shoutcast servere i onda ponudis da se
svaki od tih procesa zaustavi ili pokrene.

(ako su procesi u pitanju, nisam siguran kako shoutcast radi)

Siguran sam da shoutcast ima neki vid API-a kojim mozes da upravljas preko shell komandi. Googlaj i naci ces.
Napisi neki dio koda, provjeri da li radi, ako ne radi postavi ovdje da ti drugi pomognu. Ako hoces gotov kod onda postavi oglas i trazi da ti neko napise
skriptu koja bi to radiala...
[ Jbyn4e @ 05.10.2011. 17:06 ] @
Eh... nisam se ni javljao, jer mislim da je dobio i previse na ovoj temi L:)

Ajmo adaxx malo mucni glavom, zapocni nesto, pa cemo pomoci. Za sve ostalo su ti vec rekli :)
[ Zlatni_bg @ 05.10.2011. 17:56 ] @
... a kad smo kod svega ovoga

http://sourceforge.net/projects/smi/

Verovatno bi vredelo i to pogledati...
[ adaxx @ 05.10.2011. 20:56 ] @
Ok, ajd ovako.... nasao sam nesto... kada startujem sve ok startuje server ali kad hocu STOP nece da ga iskljucim ajd pomoc, gde je greska :)

HVALA !!! :D


index.php
Code:
<html>
<head>
<title>ShoutCast Start/Stop Script</title>
</head>
<body>
<br />
<center><b>
ShoutCast Start/Stop Script
</b><br /><br />
<a href="start.php">Server start</a><br />
<a href="stop.php">Server stop</a></center>
</body>
</html>


start.php
Code:
<html>
<head>
<title>ShoutCast: Start</title>
<meta http-equiv="refresh" content="5; URL=start_done.php">
</head>
<body>
<br />
<center><b>Molimo sacekajte...</b></center>
<? exec("./shoutcast_control.sh start") ?>
</body>
</html>


start_done.php
Code:
<html>
<head>
<title>ShoutCast: Start Done</title>
<meta http-equiv="refresh" content="5; URL=index.php">
</head>
<body>
<br />
<br />
<center><b>Server je online...<br />
Nolimo proverite....</b></center>
</body>
</html>


stop.php
Code:
<html>
<head>
<title>ShoutCast: Stop</title>
<meta http-equiv="refresh" content="5; URL=stop_done.php">
</head>
<body>
<br />
<center><b>Molimo sacekajte...</b></center>
<? exec("./shoutcast_control.sh stop") ?>
</body>
</html>


stop_done.php
Code:
<html>
<head>
<title>ShoutCast: Stop Done</title>
<meta http-equiv="refresh" content="5; URL=index.php">
</head>
<body>
<br />
<br />
<center><b>Server je offline...<br />
Molimo proverite....</b></center>
</body>
</html>


shoutcast_control.sh
Code:
#!/bin/bash
# Startup script for the SHOUTcasting Server
#



stop() {
  echo "Killing old shoutcast servers."
  for oldpid in `ps -A | grep sc_serv | cut -c 0-6`; do
         kill -9 $oldpid
  done
  rm -f /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid
}


start() {
  servcount=`expr 0`
  for cfile in `ls /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/`; do
         echo -n $cfile
         echo -n " -> "
         grep ^RelayServer /etc/shoutcast/$cfile
         # This is the line where we actually run the shoutcast program!
         #sudo -u nobody /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/sc_serv /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/$cfile > /dev/null &
         /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/sc_serv /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/$cfile > /dev/null &
         let servcount=servcount+1
  done
  #Create the pid file...
  ps -A | grep sc_serv | cut -c 0-6 > /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid
  #Done now!
  echo "Started $servcount servers."
}
case "$1" in
  start)
  if [[ ! -e /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid ]]
  then
       start $2

       if [[ -e /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid ]]
       then
               echo "Startup                                           [SUCCESS]"
       fi

  else
       echo "Startup                                           [FAILED]"
  fi
       ;;
  restart)
       stop $2
       sleep 4
       start $2
       if [[ -e /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid ]]
       then
               echo "Startup                                           [SUCCESS]"
       fi
       ;;
  stop)
  if [[ -e /srv/www/vhosts/mojsajt.com/httpdocs/sc/serv/shoutcast.pid ]]
  then
       stop $2
       echo "Shoutcast shutdown                                        [SUCCESS]"
  else
       echo "There are no registered shoutcast servers running right now. Attempting to kill anyways."
       stop $2
  fi
       ;;
  *)
       echo "Usage: shoutcast (start|stop|restart)"
       ;;
esac
[ ColdKeyboard @ 05.10.2011. 22:36 ] @
Koliko ja poznajem *nix sisteme, SUDO komanda zahteva da se ulogujes kao root tj. da prilozis root password nakon sto ukucas sudo.

Zar nije jednostavnije da iz PHP-a pozoves shell komandu i onda da provjeravas povratnu informaciju?

Takodje provjeri da li shoutcast server ima opciju da ga zaustavis ili ugasis? Nesto sto bi mogao da pozoves kao npr "/srv/shoutcast/restart" ili tako nesto.
[ adaxx @ 05.10.2011. 22:47 ] @
Sasa, ja i linux ko moja baba i kompjuter :) takodje PHP ne poznajem, ovo sam nasao na netu negde...

Dakle, startuje ga ali kad hocu stop onda nista, probam preko SSH sa istim userom od sajta da ga kill takodje ne mogu, kaze mi da nemam permisije da to uradim... nego moram kao root da bi ga kill...

Nisam napomenuo, radi se u SUSE linuxu...
[ ColdKeyboard @ 05.10.2011. 23:11 ] @
Pa samim time nece moci ni PHP da ubije proces jer ni on nema root access nego ima svoj php access.

Provjeri u shoutcast documentaciji koji su alternativni nacini da ga zaustavis preko konzole pa probaj to da pozoves kroz shell exec.


U principu imas tri vrlo jednostavne opcije
1. Nauci PHP i osnovne Linux komande, procesljaj dokumentaciju i prouci svoj problem iz svih uglova pa onda vidi koji ti je najbolji nacin da ga rjesis
2. Plati nekome da ti to uradi za sitne pre
3. Koristi neku od vec postojecih skripti za administraciju shoutcast servera. (Zlatni_bg ti je predlozio http://sourceforge.net/projects/smi/)
[ adaxx @ 05.10.2011. 23:21 ] @
Znam za SMI, ne svidja mi se, znas ti ovo da sredis ? Imam ja jos posla, postavio sam na berzu ali nema nikoga da se javi, naravno ne za DZ...
[ ColdKeyboard @ 06.10.2011. 04:05 ] @
Mozda si ponudio malo novaca ili puno trazio :)

Trebalo bi da ovo moze lako da se napravi ali trenutno imam previse obaveza oko drugih projekata.

Ako ti se ne svidja SMI a generalno ti pravi posao onda mozes da nadjes nekoga da ti ga prepravi ili po uzoru na njega
ti napravi svoju skriptu koja bi to radila.
[ adaxx @ 06.10.2011. 06:52 ] @
Citat:
ColdKeyboard: Mozda si ponudio malo novaca ili puno trazio :)

Trebalo bi da ovo moze lako da se napravi ali trenutno imam previse obaveza oko drugih projekata.

Ako ti se ne svidja SMI a generalno ti pravi posao onda mozes da nadjes nekoga da ti ga prepravi ili po uzoru na njega
ti napravi svoju skriptu koja bi to radila.



Ja sam pisao samo da mi treba PHP programer za web aplikaciju,na zalost niko se nije ni javio,tako da nisam nista ponudio niti pisao sta treba da se radi :)
SMI mi se ne svidja jer puca, puca mysql i onda se restartuju svi serveri.... barem tako je bilo kod mene ranije...
[ dakipro @ 06.10.2011. 10:13 ] @
Probaj da u oglasu napises tacno sta ti treba, jer ovo moze i da ne bude posao direktno i iskljucivo za web programera.