So läuft dieses Skript für ein paar Stunden, aber plötzlich hört auf, seine Arbeit zu erledigen. Nach oben läuft es immer noch, aber es scheint nichts mehr zu tun.Bash-Skript scheint nach ein paar Stunden zu funktionieren
WANSTAT=1
LTESTAT=1
tail -f /var/log/messages | grep --line-buffered mwan3 | while read -r INPUT ; do
if [[ "$INPUT" == *"notice mwan3track[]: Interface wan (eth1) is offline" ]]; then
WANSTAT=0
echo "WAN offline"
elif [[ "$INPUT" == *"notice mwan3track[]: Interface lte (3g-lte) is offline" ]]; then
LTESTAT=0
echo "LTE offline"
elif [[ "$INPUT" == *"ifup interface wan (eth1)" ]]; then
WANSTAT=1
elif [[ "$INPUT" == *"ifup interface lte (3g-lte)" ]]; then
LTESTAT=1
fi
if [ $WANSTAT -eq 0 ] && [ $LTESTAT -eq 0 ]; then
echo "All red\n"
elif [ $WANSTAT -eq 0 ]; then
echo "WAN red, LTE green\n"
elif [ $LTESTAT -eq 0 ]; then
echo "LTE red, WAN green\n"
else
echo "All green\n"
fi
done
Wild rate, aber vielleicht ist einer Ihrer Pipe-Puffer voll oder ist entweder an Eingang oder Ausgang blockiert? – ffledgling
/var/log/messages wuchs noch? – Shiping
Dies könnte helfen: [? Wie ein Bash-Skript zu debuggen] (http://unix.stackexchange.com/q/155551/74329) – Cyrus