Bash脚本似乎在几个小时后停止工作
所以,这个脚本运行了几个小时,但突然停止了它的工作。据top称,它仍在运行,但似乎不再起任何作用Bash脚本似乎在几个小时后停止工作,bash,Bash,所以,这个脚本运行了几个小时,但突然停止了它的工作。据top称,它仍在运行,但似乎不再起任何作用 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
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
几小时后,日志系统关闭
/var/log/messages
,重命名它,并打开一个同名的新文件<但是,code>tail-f会继续监视不再写入的原始文件
使用
tail-F
来确保您继续查看名为/var/log/messages
的文件,而不管该文件实际上是哪个文件。几小时后,日志系统关闭/var/log/messages
,重命名它,并打开一个同名的新文件<但是,code>tail-f会继续监视不再写入的原始文件
使用
tail-F
来确保继续查看名为/var/log/messages
的文件,而不管该文件实际上是哪个文件。Wild guess,但是可能您的某个管道缓冲区已满或在输入或输出上被阻塞?/var/log/messages仍在增长?这可能会有所帮助:使用strace-o-p.1观察系统调用。可能2.对3.我现在正在这么做。非常感谢。4.如果Cyrus的建议不起作用,我会试试。胡乱猜测,但可能您的某个管道缓冲区已满或在输入或输出上被阻塞?/var/log/messages仍在增长?这可能会有帮助:使用strace-o-p.1观察系统调用。可能2.对3.我现在正在这么做。非常感谢。4.如果塞勒斯的建议不起作用,我会试试。我会试试这个,如果它起作用,我会把它标记为答案。谢谢我会试试这个,如果结果有效,我会把它标记为答案。谢谢