wifi接口上线后启动自定义脚本

wifi接口上线后启动自定义脚本

在 Debian 构建中,我有一个自定义init.d脚本。我还修改了我的network,以便在后台完成 WiFi 连接。

如何启动自定义脚本(例如custom.sh在启动期间),但在网络启动并连接后立即运行?

目前,我正在考虑每 x 秒循环一次,并每次检查网络是否正常。一旦完成,你就跳出循环。

答案1

在 Debian 上,所有启动和停止网络连接的方法都在/etc/network.这记录在interfaces(5)手册页。它是 ifupdown 包的一部分,但即使界面是由 NetworkManager 等框架而不是由ifup和命令启动或关闭的,脚本也会被执行ifdown

因此,将您的脚本放入/etc/network/if-up.d.确保它包括检查您想要的接口是否已启动 - 特别是,您不希望在环回接口启动后立即执行脚本。您可以直接使用环境变量检查接口的名称IFACE,也可以通过调用诸如 之类的命令来检查接口的名称ifconfigroute或者ip检查其特征(IP 地址、网关等)。或者,您可以独立于接口进行检查,例如测试某些主机是否可访问。

请注意,脚本是按字典顺序执行的。如果您的脚本需要某些其他功能(例如 DNS)可用,请确保它晚于设置此功能的脚本。

相关内容