2012-04-13 149 views
0

我目前正面临一个奇怪的问题。 我正在使用Linux下的debian squeeze在alix.2d2上运行,我正在使用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 
+0

http://askubuntu.com可能会获得更多的牵引力 – 2012-04-13 17:59:22

回答

0

您应该使用

insserv linknx 

而且不

update-rc.d linknx defaults 

作为Debian的6.0(挤压)的,update-rc.d已被替换为insserv(请参阅here)。为什么?因为6.0引入了一个new boot process,为此您有了标题(脚本顶部的INIT INFO部分)。