当前位置: 技术问答>linux和unix
linux如何监控某个文件内容的变化并
来源: 互联网 发布时间:2016-06-25
本文导语: log文件会不定时的更新,请问,如何实现,当监测到log文件有内容更新时,能自动实现“echo yes"到指定的文本内 | 你可以这样做,写一个小程序,每隔几秒钟或者一个指定时间段,去探测一...
log文件会不定时的更新,请问,如何实现,当监测到log文件有内容更新时,能自动实现“echo yes"到指定的文本内
|
你可以这样做,写一个小程序,每隔几秒钟或者一个指定时间段,去探测一下文件的大小,最后修改时间,以及文件最后几行的变化,如果不一样,此时打印出相应的信息,或者根据自己的需要改动即可。这个程序用shell就可以实现。核心代码可以这样:
cp file.log file.log.old
while :
do
sleep 10
change=`diff file.log.old file.log |wc -l`
if [ $change -gt 0 ]
then
echo "yes" >>result.txt
fi
done
cp file.log file.log.old
while :
do
sleep 10
change=`diff file.log.old file.log |wc -l`
if [ $change -gt 0 ]
then
echo "yes" >>result.txt
fi
done