Init.d 启动脚本不适用于 No-IP

Init.d 启动脚本不适用于 No-IP

我刚刚在全新的 Ubuntu 12.04 上安装了 No-IP。当我从 CLI 启动该程序时,它启动正常,但如果我尝试使此启动脚本工作,它就不会启动。

我从他们的安装说明中获得了这个脚本:

#! /bin/sh
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
case "$1" in
    start)
    echo "Starting noip2."
    /usr/local/bin/noip2
    ;;
    stop)
    echo -n "Shutting down noip2."
    killall -TERM /usr/local/bin/noip2
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0

CL 是正确的,因为如果我运行/usr/local/bin/noip2它,它就会启动。但脚本本身不会启动它。

我哪里做错了?该脚本是可执行的:

-rwxrwxrwx   1 root root   299 Jan 12 13:28 noip*

编辑

如果我尝试 Init.d 脚本,它也能起作用:

sudo /etc/init.d/noip start

这样它就可以顺利启动,没有任何故障。

答案1

您应该运行这个(如果您还没有这样做的话):

sudo update-rc.d noip2 defaults

答案2

这很简单,我在 root crontab 中创建了一行:

@reboot /usr/local/bin/noip2

当我打开或重新启动机器时,守护进程会自动启动

答案3

除了:

 sudo update-rc.d noip2 defaults

您还应该设置以下权限:

chmod 755 /etc/init.d/noip

然后你应该能够启动和停止。在 Ubuntu 14.04 LTS 上测试

遵循以下指示:
如何在 Ubuntu 12.04 LTS 上安装 No-ip2 以便在动态 IP 地址上托管服务器

答案4

您是否从任何 /etc/rc?.d 目录符号链接到 /etc/init.d 脚本?我有

/etc/rc0.d/K10no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc1.d/K10no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc2.d/S90no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc3.d/S90no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc4.d/S90no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc5.d/S90no-ip.com -> ../init.d/no-ip.com.sh*
/etc/rc6.d/K10no-ip.com -> ../init.d/no-ip.com.sh*

相关内容