Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

> Скрипт автоподнятия НВН сервера, Linux
Richard
сообщение May 6 2005, 08:21
Сообщение #1


Level 9
***

Класс: Клерик
Характер: Chaotic Evil
Раса: Человек



Собственно, вот сам скрипт.

CODE

#!/bin/sh
LOGFILE=$HOME/nwnrun.log
while :; do

cd /games/nwn/arena
rm *.core

./arena.sh

date >> $LOGFILE
echo "NWN ARENA NWNX2 started" >> $LOGFILE

sleep 15

done &



Затем, создаешь файл arena.sh в котором прописываешь строчку автоподнятия сервера. Интересно только есть ли разница если сервер работает в screen?

Вобщем, переработал я скрипт вроде как и вот что получилось:


CODE

#!/bin/sh
LOGFILE=$HOME/nwnrun.log
while :; do

/usr/compat/linux/usr/games/nwn/arena
rm *.core

./arena.sh

date >> $LOGFILE
echo "NWN ARENA NWNX2 started" >> $LOGFILE

sleep 15

done &




В файле arena.sh прописал команду поднятия...

Залил все это на фтп... обозвал файл со скриптом server.txt и сделал его исполняемым командой chmod a+x server.txt

Вроде все правильно, но скрипт не работает...
Подскажите пожалуйста в чем ошибка? :xz:


Добавлено в [mergetime]1115360297[/mergetime]
Но с другой стороны, я почему то думал что скрипт автозапуска, это скрипт проверяющий наличие процесса сервера, и в случае его отсутсвия запускающий его снова. Нельзя ли откомментить строки скрипта? Я вижу что он протоколирует в лог файл дату и строчку "NWN ARENA NWNX2 started" , и в процессе работы запустит скрипт arena.sh, перед этим удалив файлы *.core (для чего?). Но вот при каком условии тело цикла запустится я так и не понял.

while :; do
Между while и do должно быть условие, а :; это что?

Сообщение отредактировал Richard - May 6 2005, 09:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
slavaz
сообщение May 6 2005, 11:58
Сообщение #2


Пингвиноид
Иконки Групп

Класс: Обыватель
Характер: True Neutral
Раса: Человек



Я вообще-то NWN-сервак под Линуксом не пускал. Но примерно по имеющимся данным попробую написать скрипт запуска:

CODE
#!/bin/sh

LOGFILE=/var/log/nwnrun.log
(
NWN_EXE=/usr/compat/linux/usr/games/nwn/arena
echo `date`": Script started"
cd `dirname $NWN_EXE`
while [ true ]; do
$NWN_EXE
echo `date`": Ops!.. NWN-server crashed. Restart"
rm -f *.core
done
) >>$LOGFILE 2>&1 &


ВНИМАНИЕ! Под Windows нельзя создавать скрипты для Linux! Либо можно редакторами, которые не добавляют <LF> в конец строки

В скрипте две переменные, которые надо изменить:
LOGFILE - путь к лог-файлу
NWN_EXE - путь к исполняемому файлу сервера NWN

Если что не так - сразу пиши (по возможности с описанием ошибок), будем разбираться...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17th June 2025 - 09:30