我在 Fedora 18 上有一个 SysV 初始化脚本。如何让它在网络准备就绪后启动?

我在 Fedora 18 上有一个 SysV 初始化脚本。如何让它在网络准备就绪后启动?

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

我的脚本要求网络准备就绪。

<编辑>也就是说,运行此脚本时我必须能够通过 ping 到达网络上的另一台主机。</编辑>

目前,在脚本运行时,网络尚未准备好。如何确保我的 SysV init 脚本运行网络正常吗?

我的脚本的开头如下所示:

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

答案1

“首先,抓住你的野兔……”

首先,您必须定义“网络已准备就绪”的含义。 这并不简单,你的定义可能与其他人的定义截然不同。 当然,您的问题根本没有表明您对于“网络已准备就绪”的具体想法是什么。

当你定义了它之后,剩下的就是编写一个单元文件来替换旧的 System V shell 脚本的简单问题,这无论如何都是一个好主意,并添加必要的After=任何(并且可能Wants=任何以及)到单位。困难的部分是任何,这取决于您认为“网络已启动”是什么意思。

当您编写完单元文件后,您可能会愿意将其捐赠给世界,从而减少一个需要世界编写的单元文件。

相关内容