[+] automatyczne uruchamianie procesów na serwerze

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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
wenu
Posty: 57
Rejestracja: 04 grudnia 2009, 15:15

Post 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.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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?
czakll
Posty: 90
Rejestracja: 22 listopada 2008, 18:57

Post 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.
CdN
Posty: 1
Rejestracja: 05 sierpnia 2013, 13:21

Post 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.
ODPOWIEDZ