网络连接正常时运行脚本

网络连接正常时运行脚本

我正在运行一组基于 Debian Jessie 的服务器,需要一种可靠的方法来在建立网络链接时上传其本地网络 IP 地址。我编写了一个执行此操作的脚本并将其注册为 systemd 服务:

[Unit]
Description=Server Registration
Requires=network.target network-online.target
After=network.target network-online.target

[Service]
ExecStart=<script-location>
Type=simple
Restart=on-failure
WatchdogSec=21600

[Install]
WantedBy=multi-user.target

唉,如果这能按预期工作,那么 SO 上就不会有这个问题了。该脚本使用命令route来确定默认使用的网络设备,但由于网络尚未启动而导致路由退出,因此无法运行。此外,系统可能会在没有网络连接的情况下启动,并且只会在稍后连接,因此需要在网络启动时触发该脚本。

使用 systemd-networkd 设置网络。

我如何确保我的脚本在网络连通时运行,而不是在此之前运行?

相关内容