Strona 4 z 4

: 16 marca 2011, 14:22
autor: Bastian
Sprawdz tak:

Kod: Zaznacz cały

#!/bin/bash
czas=33 #co ile sekund ma sprawdzac czy serwer online
sciezka=/home/serwery/ #sciezka do odpalenia skryptu serwera
skrypt=serwer.sh # nazwa skryptu
screenname=cs16 #nazwa poszukiwanego screena
log=/home/serwery/cs16/logi
while [ true ] ; do # petla nieskonczonosci
status=$(php status.php) #odwolanie do skryptu w php
if [ $status = 1 ]
then
    echo "`date +%d/%m/%Y--%H:%M:%S` Serwer dziala!"
else 
    echo "`date +%d/%m/%Y--%H:%M:%S` Serwer nie dziala! Uruchamianie ponowne"
    pid=`screen -ls |grep $screenname |awk -F . '{print $1}'`
    if [ ! -z ${pid} ]
     for proc in ${pid
[*]}
      do
       kill ${proc}
      done
     fi
    cd $sciezka && sh -c $sciezka$skrypt&
    echo "Serwer zrestartowany o `date +%d/%m/%Y--%H:%M:%S`" >> $log/restarty.txt #logowanie restartu serwera
fi
sleep $czas
done

: 16 marca 2011, 15:09
autor: wenu

Kod: Zaznacz cały

./check.sh: line 20: syntax error near unexpected token `fi'
./check.sh: line 20: `     fi'
Edycja:

Znalazłem błąd popełniony z mojej winy, zaraz dam znać czy poszło.


Dodane:
A jednak nadal to samo.

: 16 marca 2011, 15:45
autor: Bastian
Pokaz:

Kod: Zaznacz cały

ps -A
Usun tą linię:

Kod: Zaznacz cały

cd $sciezka && sh -c $sciezka$skrypt&
No i dlaczego w pliku masz cs16 skoro pewnie chodzi ci o diablo?

: 17 marca 2011, 20:26
autor: czakll
Witam,
jak kolega Bastian zauważył, poszukujesz screena o nazwie cs16, musisz zmienić to na odpowiadające wpisy dla Twoich serwerów. Popraw to a skrypt nie będzie zawodził.
Pozdrawiam.

: 05 sierpnia 2013, 13:43
autor: CdN
Witam bardzo serdecznie.
Bardzo przepraszam za odkopanie tematu lecz jestem tak zielony w tych sprawach ze muszę napisać o pomoc. Mógłby ktoś wytłumaczyć po kolei jak wgrać ten skrypt bo nawet nie wiem jak wziąć się za to. Muszę utworzyć te pliki: check.sh , status.php , counterstrike.php na pulpicie i wgrać je na mojego VPS'a ? Jeśli tak to gdzie? Czy trzeba to zrobić jakoś inaczej? I jeśli chodzi o uruchomienie check.sh to jaką komendą go uruchomić? O coś takiego chodzi ---> screen -A -m -d ./check.sh ?
Bardzo proszę o pomoc.