Авто запуск сервера VPS
#1

Здравствуйте. Я нашел мануал как сделать так чтобы сервер запускался автоматически если он не запущен, https://sampwiki.blast.hk/wiki/Linux_Server_RU сделал все как надо, но не получается нифига. Может кто что нибудь подскажет?
Reply
#2

<режим_телепата>
В мануале нет ни слова про автоматический запуск
</режим_телепата>
Reply
#3

<кэп_рядом>
Он скорее всего имел ввиду автоматическая перезагрузка сервера, если тот по какой-либо причине отключится сам
</кэп_рядом>
Reply
#4

установи ISP, там вроде можно процессы ставить на автозапуск, перезапуск и т.д.
Reply
#5

простенький bash скрипт:

Код:
if ps ax | grep samp03svr | grep -vq grep
then
  echo "Сервер уже запущен"
else
  echo "Идёт запуск сервера..."
  nohup /dir/to/samp03svr > /dev/null &
  echo "Сервер запущен"
fi
Reply
#6

Quote:
Originally Posted by jhonyxakep
Посмотреть сообщение
<режим_телепата>
В мануале нет ни слова про автоматический запуск
</режим_телепата>
Quote:

Поддержка работоспособности сервера

С небольшим количеством опций против выхода сервера из строя (anti-crash options) есть большая вероятность получения ошибок "Segmentation Fault" и любых других ошибок, сгенерированных вашим режимом игры. Это приведет к завершению работы сервера и Вам придется самим его снова запустить. Все, что вам нужно для использования ниже описанной программы, это среда Linux и возможность использования cron'a. Эта программа проверит, запущен ли процесс samp01b, и если это не так, запустит его вновь. Вам нужно уставовить следующий crontab:
*/5 * * * * /путь/к/samp/checksamp.sh

checksamp.sh:
PHP код:
#!/bin/sh
 
 
PROCESS_COUNT=$(ps -fu root grep samp01b grep -v grep wc -l)
 case 
$PROCESS_COUNT in
 0
) /путь/к/samp01b &
 ;;
 
1#OK, программа уже выполняется
 
;;
 *) 
#OK, запущено несколько экземпляров программы
 
;;
 
esac 
Убедитесь, что у вас правльно выставлены все пути, иначе скрипт не будет работать. На данный момент скрипт не может обрабатывать несколько серверов SA-MP на одной машине, зато превосходно работает, когда толкьо один запущен. Требуется с помощью chmod устанвить права/разрешения на файл checksamp.sh в 0755 (+x)!

Вы наверное до конца не прочитали!
Reply
#7

Огромное спасибо! только я сделал по другому и у меня запустилось
Quote:

#!/bin/sh

if ps ax | grep samp03svr | grep -vq grep
then
echo "Server yje started"
else
echo "Idet start servera..."
cd /home/serversamp01/
screen -AmdS SAMP1 ./samp03svr &
echo "Server started!"
fi

Reply
#8

Quote:

Вы наверное до конца не прочитали

я искал реализацию запуска проги при старте системы через rc.d
Reply
#9

ну не совсем понял
Reply
#10

Quote:
Originally Posted by jhonyxakep
Посмотреть сообщение
я искал реализацию запуска проги при старте системы через rc.d
cron + проверка сколько времени работает дедик после последнего перезапуска = успех)
Reply
#11

Лучше пользоваться ISPmgr конечно, с ним легче, имхо. А так в crontab исп. кмд:
crontab -e
Дальше жмешь: 2
Дальше вниз:
*/5 * * * * /путь/к/samp/checksamp.sh
Жмешь CTRL + X, Y, ENTER.
И се, идет проверка, если оффнут включает, если запущен, пропускает
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)