![当网络接口出现故障时如何触发脚本](https://linux22.com/image/203142/%E5%BD%93%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E5%87%BA%E7%8E%B0%E6%95%85%E9%9A%9C%E6%97%B6%E5%A6%82%E4%BD%95%E8%A7%A6%E5%8F%91%E8%84%9A%E6%9C%AC.png)
在我的嵌入式 Linux 板上,我使用 systemd-networkd 来管理我的网络接口配置。我需要触发一些一次性脚本,这些脚本将在网络接口启动和关闭时启动/停止我的自定义应用程序。我已经发现网络调度员这符合我的要求,但我不确定它的资源密集程度如何,以及它是否是满足我的需求的最佳解决方案。
有什么替代方案吗?
我知道 systemd-network-wait-online 可用于等待网络启动,但据我所知,systemd 目标依赖项仅限于启动顺序。
答案1
我目前处理该问题的方法是引入我自己的脚本,该脚本在后台运行并观察网络状态和链接状态。当网络离线或恢复在线时,它会启动和停止 systemd 目标。应用程序依赖于这个特定的网络依赖性目标。
答案2
我编写了一个 bash 脚本来帮助解决此问题:https://github.com/waltinator/net-o-matic
它监视连接,当连接断开时,执行用户指定的操作来尝试重新连接。您可以根据您的用例进行调整。