Показать сообщение отдельно
Непрочитано 04.08.2009, 11:19   #50
Аватар для Voltage
Пользователь

По умолчанию Ответ: Установка сервера на *Nix

в арче все демоны лежат в /etc/rc.d, там же лежит файлик functions
автостарт демонов настраивается в /etc/rc.conf добавлением имени демона в массив DAEMONS.
Код:
# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#

DAEMONS=(syslog-ng network netfs crond xinetd sshd hal mysqld cherokee lserverd)
в других дистро по другому, так что адаптация все равно потребуется.

я создавал симлинки на GameServer_loop.sh и LoginServer_loop.sh
Код:
sudo ln -sf /usr/bin/lsloop /opt/lserver/loginserver/LoginServer_loop.sh 
sudo ln -sf /usr/bin/gsloop /opt/lserver/gameserver/GameServer_loop.sh
собственно, содержимое файла /etc/rc.d/lserverd
изменяем login на имя пользователя, от которого запускается сервер
Код:
#!/bin/bash

# general config (правим для своего дистро)
. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
    start)
        stat_busy "Starting lineage2 servers"
		sudo -u login /usr/bin/lsloop &
		sudo -u login /usr/bin/gsloop &
	if [ $? -gt 0 ]; then
		stat_fail
	else
		add_daemon lserverd
		stat_done
	fi
        ;;
    stop)
	stat_busy "Stopping lineage2 servers"
	killall -KILL LoginServer_loop.sh
	killall -KILL GameServer_loop.sh
	killall -TERM java
	if [ $? -gt 0 ]; then
		stat_fail
	else
		rm_daemon lserverd
		stat_done
	fi
	;;
    restart)
        $0 stop
	sleep 1
        $0 start
        ;;
    *)
        echo "usage: $0 {start|stop|restart}"
	;;
esac
exit 0
соответственно, после ребута будут автоматически запускаться сервера и принудительно останавливаться при завершении работы. я даже убрал авторестарт в таблице global_tasks и поставил ребут по крону в 3.50 утра.

админам: просьба добавить в тег SOURCE подсветку синтаксиса shell
__________________

Последний раз редактировалось Voltage; 04.08.2009 в 11:47.
Voltage вне форума Ответить с цитированием
Сказали спасибо: