devd(8)
fará o truque. Você precisa configurá-lo para executar uma ação se o evento LINK_UP
ou LINK_DOWN
acontecer em uma interface. Uma amostra de configuração a ser adicionada ao /etc/devd.conf
ou ainda melhor, crie /etc/devd/interface.conf
:
notify 0 {
match "system" "IFNET";
match "subsystem" "(em0|em1)";
match "type" "LINK_DOWN";
action "/usr/local/sbin/notifier.sh $subsystem"
}
A configuração acima assume que você deseja ser notificado quando a interface em0
ou em1
ficar inoperante e invocar o script na ocorrência do evento. Ele também passará o nome da interface (daí $subsystem
) para o script.