[Comm] Создание стартовых скриптов
Tsaryuk Maksim
Mad-Max-Traveller на yandex.ru
Ср Авг 26 07:31:01 MSD 2009
Задался задачей запуска сервера TeamSpeak2.
Так как в репозитории такового нет, скачал с сайта разработчиков
ts2_server_rc2_202319.tar.bz2
По мимо конфигов в нем есть бинарный файл - server-linux,
и стартовый скрипт - teamspeak2-server_startscript.
В системе создал юзера teamspeak, запретил ему вход в систему usermod
-s /bin/false teamspeak
Подскажите, как теперь его добавить в автозагрузку. То есть как
добавить его я знаю chkconfig --add, а вот как правильно написать
стартовый скрипт нет.
Создал скрипт по шаблону:
#!/bin/sh
#
# Init file for teampeak service
#
# chkconfig: 345 91 19
# description: teampeak service
# processname: teamspeakd
# config: /home/teamspeak/tss2_rc2/server.ini
# pidfile: /var/run/teamspeak/teamspeak.pid
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/init.d/functions
PIDFILE=/var/run/teamspeak/teamspeak.pid
LOCKFILE=/var/lock/subsys/teamspeak
PROCESSNAME=teamspeakd
RETVAL=0
start()
{
get_status >/dev/null
if [ $RETVAL -eq 1 ]; then
echo "Removing stale pidfile"
rm -f "$PIDFILE"
fi
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE"
--expect-user teamspeak -- teamspeak2
RETVAL=$?
return $RETVAL
}
stop()
{
stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user
teamspeak -- teamspeak2
RETVAL=$?
return $RETVAL
}
restart()
{
stop
sleep 2
start
}
reload()
{
msg_reloading template
stop_daemon --pidfile "$PIDFILE" --expect-user teamspeak -HUP --
teamspeak2
RETVAL=$?
return $RETVAL
}
get_status()
{
status --pidfile "$PIDFILE" --expect-user teamspeak -- teamspeak2
RETVAL=$?
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
condreload)
if [ -e "$LOCKFILE" ]; then
reload
fi
;;
status)
get_status
;;
*)
msg_usage "${0##*/}
{start|stop|reload|restart|condstop|condrestart|condreload|status}"
RETVAL=1
esac
exit $RETVAL
Тут teamspeak2, как я понимаю, ищется в /bin ?
Исходя из этого я создал симлинк на скрипт запуска
/home/teamspeak/tss2_rc2/teamspeak2-server_startscript
При попытке запустить получаю:
# service teamspeak2 start
Starting teamspeak2 service: Error starting daemon. Aborted
[FAILED]
Подскажите, где ошибки, и где почитать о создании и синтаксисе
стартовых скриптов?
Подробная информация о списке рассылки community