/etc/init.d/rsyslog {start | stop | restart} :需要这个才能工作

/etc/init.d/rsyslog {start | stop | restart} :需要这个才能工作

我已阅读该帖子的答案/评论 /etc/init.d/ssh start 和 service ssh start 的区别

但我需要这个/etc/init.d方法有效。我有一些自动生成的脚本,它们/etc/init.d只调用方法。您能否为我提供一些修复/解决方法?

答案1

最后一个答案是解决defense4all安装时出现“无法启动 rsyslog 服务”问题的方法。该问题是由 rsyslog 的错误引起的(可能是我在其他网站上发现的),您可以使用service rsyslog而不是,因此您可以在代码文件/etc/init.d/rsyslog中编辑文件来解决这个问题。defense4all

在文件中:

../defense4all/dfapp.aggregate/src/install/config_rsyslog.bash

修改最后几句:

/etc/init.d/rsyslog stop > /dev/null 

到:

service rsyslog stop

和:

/etc/init.d/rsyslog stop > /dev/null   

到:

service rsyslog start

然后重建项目以创建.deb 或.rpm 文件。希望这对您有所帮助。

答案2

您遇到此问题是因为较新的 Ubuntu 中的 rsyslog 脚本是由 upstart 而不是传统的 init 守护进程处理的。

我在上面的评论中看到了您的修复。另一种允许您的自动化脚本继续使用的解决方法/etc/init.d/rsyslog start|stop是 -

编辑文件/etc/init.d/rsyslog,注释/删除以下代码块的所有实例 -

if init_is_upstart; then
    exit 1 (or exit 0)
fi

现在

/etc/init.d/rsyslog start|stop

应该管用。

有关详细信息,请参阅For more information, see

相关内容