首页 文章

启动服务自动失败

提问于
浏览
0

我目前面临一个奇怪的问题 . 我正在使用alix.2d2在linux voyage下使用debian squeeze,并且我想在启动时使用init.d启动一个自制脚本 .

所以要做到这一点,我正在编写一个简单的脚本,将其放入/etc/init.d/(/etc/init.d/linknx)并使用update-rc.d配置启动 .

update-rc.d linknx start 191 12345

在重新启动之前,我正在使用以下方法测试脚本:

service linknx start

它很好用 . 系统重新启动时,不会启动脚本 . 我正在尝试使用update-rc.d更改启动配置

update-rc.d linknx defaults

同样的问题 .

所以在那之后,我正在清理启动配置,并在/etc/rc.local中添加两行 .

> sh -c "logger -p local0.notice [LAUNCHTEST] "rc.local invoking"
> service linknx start

第一行通过,但第二行失败 .

有人可以发现问题吗?

谢谢你的帮助 !问候


剧本:

#!/bin/sh -e1
### BEGIN INIT INFO
# Provides:          linknx
# Required-Start:    $local_fs $remote_fs $network $syslog $nocatsplash
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     false
# Short-Description: Start/stop linknx daemon
# Description: Simnet linknx daemond starter.
### END INIT INFO

now=$(date +"%F %k:%M:%S")
port=3671
ip=192.168.2.10
LD_LIBRARY_PATH=/usr/local/lib
knx_config_file=/etc/linknx.xml
knx_write_file=/etc/linknx.xml

log_tag="[LINKNX]"
log_level="-p local0.notice"

case "$1" in
start)
    logger $log_level -t $log_tag -s "Starting linknx and eibd ..."
    ldconfig -l
    eibd -d -D -S -T -i ipt:$ip:$port
    linknx -d --config=$knx_config_file --write=$knx_write_file
    logger $log_level -t $log_tag -s "Done\n"
;;
stop)
;;
reload|restart|force-reload)
;;
test)
    logger $log_level -t $log_tag -s "[$now] - [TEST] - This is a simple test to check  behavior of the program ..."
;;
*)
   logger $log_level -t $log_tag -s "[$now] - [FATAL] - Unknow command, only available are start|stop|restart|reload|force-reload"
;;
esac

exit 0

1 回答

  • 0

    你应该使用

    insserv linknx
    

    并不是

    update-rc.d linknx defaults
    

    截至Debian 6.0(Squeeze), update-rc.d 已替换为 insserv (参见here) . 为什么?因为6.0引入了new boot process,为此你有 Headers (脚本顶部的INIT INFO部分) .

相关问题