Debianを実行しているSBCでネットワーク状態の変化を検出するためにinotifyを使用しますか?

Debianを実行しているSBCでネットワーク状態の変化を検出するためにinotifyを使用しますか?

私は小さなSBC(産業用Raspberry Piフォームファクタに似ています)でDebian 10を実行しています。私はinotify機能を利用するいくつかのPythonプログラムを実行しています。照明を切り替えるためにネットワークの状態が変わる時期を検出したいと思います。 /sys/class/net/eth1などでいくつかのファイルを見つけて、通知を介して変更を観察する必要がありますか?そしてどういうわけか、そのディレクトリの内容から状態を計算できますか?それともポーリングを含まずにこれを行うより良い方法はありますか?

私はmqttクライアント接続状態からこれを推論しようとしましたが、応答がなく、時にはあいまいです。

systemd / networkdがこれを達成するためにいくつかのフックを提供することは可能ですか?

答え1

以下を追加しpost-uppost-downセクションを指定してください。

iface eth0 inet .....
    post-up   /path/to/my/super/up-script.sh
    post-down /path/to/my/super/down-script.sh

関連情報