Город Мастеров
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, 09:34
Сообщение #2


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

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



CODE

#!/bin/sh
LOGFILE=$HOME/nwnrun.log
# бесконечный цикл
while [ true ]; do
# запуск файла arena с полным путём (этот файл у тебя именно там?)
/usr/compat/linux/usr/games/nwn/arena
# если вдруг произошёл выход из arena, то удаляем файл отладки (coredump)
rm *.core
# в ТЕКУЩЕМ каталоге пытаемся запустить скрипт arena.sh
./arena.sh
# запись в лог
date >> $LOGFILE
echo "NWN ARENA NWNX2 started" >> $LOGFILE
# 15 секунд скрипт отдыхает
sleep 15
# конец цикла (с уходом в бэкграунд)
done &


Что в файле arena.sh? Есть ли он в том же каталоге, откуда запускается приведённый скрипт?
/usr/compat/linux/usr/games/nwn/arena - по этому пути у тебя существует?

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

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


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

 



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