我在Fedora 18上有一个SysV init脚本。如何在网络准备好后启动它?

时间:2013-04-24 19:45:16

标签: fedora sysv systemd

我在Fedora 18上有一个SysV初始化脚本.Fedora 18使用systemd(显然,没有办法切换回SysV)。

我的脚本要求网络准备就绪。目前,在脚本运行时,网络尚未就绪。如何在网络启动后确保我的SysV init脚本运行?

我的脚本的开头是这样的:

   #!/bin/bash
   #
   # chkconfig: 345 99 01
   # description: starts the xyz boot service

2 个答案:

答案 0 :(得分:1)

好的,在尝试了几件事后,我尝试添加一个LSB​​标头:

### BEGIN INIT INFO
# Required-Start: $network $local_fs $named
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Starts/stops the foo service
# Description: Starts/stops the foo service
### END INIT INFO

这很有效!该脚本现在在网络初始化后运行。我想systemd实现读取LSB头。

答案 1 :(得分:0)

要在网络准备就绪时运行脚本,请在systemd服务文件的[Unit]部分中添加以下内容:

After=network-online.target
Wants=network-online.target

当网络管理软件认为网络已启动时,网络被定义为就绪(通常意味着IP地址已配置且可路由)。对于NetWorkManager,它会查询dbus以获取信息..

<强>参考