2015-11-01 101 views
1

我创建一个启动bash脚本,当我得到了类似的错误:Debian的启动脚本将不会启动

The script is missing LSB tags 

所以我去把一些LSB的标签,但它仍然不启动启动。如果我手动

# /etc/init.d/myscript 

启动它,它是打算在同一文件夹(/etc/init.d/fcgiwrap.pl),以启动一个PERL脚本一个非常简单的脚本,脚本完美的作品。

#!/bin/bash 
### BEGIN INIT INFO 
# Provides:   scriptname 
# Required-Start: $remote_fs $syslog 
# Required-Stop:  $remote_fs $syslog 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: Start daemon at boot time 
# Description:  Enable service provided by daemon. 
### END INIT INFO 
# Carry out specific functions when asked to by the system 
touch /var/lock/fcgiwrap 
case "$1" in 
    start) 
    echo "Starting script /etc/init.d/fcgiwrap.pl" 
    /etc/init.d/fcgiwrap.pl 
    ;; 
    stop) 
    echo "You can't stop this service. Consider deleting it" 
    ;; 
    *) 
    echo "Usage: /etc/init.d/blah {start}" 
    exit 1 
    ;; 
esac 

exit 0 
+0

那么问题是什么?谁/运行脚本以使其“开始”? –

+0

该脚本应该在启动时运行。 –

回答

3

为了使脚本做的事情“启动时,”你需要运行命令(rc.d)为它的规则。否则,它只是一个漂浮在/etc/init.d中的脚本。

有关rc.d的指南,请查看https://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian,并特别注意update-rc.d命令。另外,如果你打算使用LSB风格的头文件,你可能实际上填充了这些值来表示它的含义,而不是保留这些默认值。

+0

谢谢,我可能应该对LSB标签做更多的研究,而不是仅仅复制和粘贴这些标签。 –