いくつかのネットワークイベントに応答してスクリプトを実行したいと思います。これを行うには、次のコマンドを使用してネットワークパスを監視しています。
ip monitor route dev enp3s0
ip monitor
イベントを待ってからイベントが発生した場合に印刷します。
これらのイベントは他のスクリプトをトリガーしたいと思います。
私はおおよその解決策だと思います。
ip monitor route dev enp3s0 > /var/log/ipmon.log
それから
while inotifywait /var/log/ipmon.log; do something;done;
しかし、どのようにdo something
それを使用しないことができますかinotifywait
?
答え1
出力をシェル(または他の言語)ループに供給します。
ip monitor route dev enp3s0 | while read event; do
case "$event" in
'Deleted default'*)
...
;;
'local '*)
...
;;
...)
...
;;
...
esac
done