所以,这个脚本运行了几个小时,但突然停止了它的工作。根据顶部,它仍在运行,但它似乎不再做任何事情。
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
答案 0 :(得分:5)
几个小时后,日志记录系统关闭/var/log/messages
,重命名它,并打开一个名称相同的 new 文件。但是,tail -f
继续观看原始文件,该文件已不再写入。
使用tail -F
来确保您继续观看名为/var/log/messages
的文件,而不管实际上是哪个文件。