]dd []direct[
] должен обходить кэш (хоста) и заставлять ввод/вывод отправляться на диск:[
dd if=/dev/sda bs=4096 count=1 of=/dev/null iflag=direct
^^^^^^^^^^^^
]
[]Тестирование на моей машине, это определенно заставляет мигать индикатор активности диска. Он не мигает (по крайней мере, второй раз) без флага []iflag[
].[
Мои многопользовательские маршрутизаторы DRAYTEK могут использовать либо Ping, либо ARP для мониторинга Monity aive at avernet по ссылкам Ethernet и VPN. (Очевидно, что для XDSL есть лучшие альтернативы.) SSH и OpenVPN могут быть настроены для генерации внутренних Keepalives. Я не знаю ни о каком другом стандартном подходе.
Что-то вроде этого (непроверенного):
ROUTE1=up LINK1=up COUNT1=3
ROUTE2=up LINK2=up COUNT2=3
SHOUT=once
while sleep 5
do
if ping {destination_via1}
then
LINK1_UP=up COUNT1=3
else
[[ 0 -lt $COUNT1 ]] && COUNT1=$((COUNT1 - 1))
[[ 0 -ge $COUNT1 ]] && LINK1=down
fi
if ping {destination_via2}
then
LINK2_UP=up COUNT2=3
else
[[ 0 -lt $COUNT2 ]] && COUNT2=$((COUNT2 - 1))
[[ 0 -ge $COUNT2 ]] && LINK2=down
fi
if [[ down = $LINK1 -a up = $ROUTE1 ]]
then
# add code here to remove route via LINK1 #
ROUTE1=down
elif [[ up = $LINK1 -a down = $ROUTE1 ]]
# add code here to add route via LINK1 #
ROUTE1=up
SHOUT=once
fi
if [[ down = $LINK2 -a up = $ROUTE2 ]]
then
# add code here to remove route via LINK2 #
ROUTE2=down
elif [[ up = $LINK2 -a down = $ROUTE2 ]]
# add code here to add route via LINK2 #
ROUTE2=up
SHOUT=once
fi
if [[ once = $SHOUT -a down = $ROUTE1 -a down = $ROUTE2 ]]
then
# add code here to shout that both routes are down #
SHOUT=no
fi
done