Networking

網路介面關閉時如何觸發腳本

  • April 5, 2022

在我的嵌入式 linux 板上,我使用 systemd-networkd 來管理我的網路介面配置。我需要觸發一些一次性腳本,這些腳本將在網路介面啟動和關閉時啟動/停止我的自定義應用程序。我找到了網路調度程序,它可以滿足我的需求,但我不確定它的資源密集程度如何,它是否是滿足我需求的最佳解決方案。

有沒有其他選擇?

我知道 systemd-network-wait-online 可用於等待網路啟動,但據我所知,systemd 目標依賴僅限於啟動順序。

我目前處理問題的方法是引入我自己的腳本,該腳本在後台執行並觀察網路狀態和連結狀態。當網路離線或重新聯機時,它會啟動和停止 systemd 目標。應用程序依賴於這個特定的網路依賴目標。

我編寫了一個 bash 腳本來幫助解決這個問題:https://github.com/waltinator/net-o-matic它監視連接,當連接斷開時,執行使用者指定的操作以嘗試重新連接。您可以根據您的案例對其進行調整。

引用自:https://unix.stackexchange.com/questions/694612