bash脚本检查网络接口

时间:2014-09-15 15:03:26

标签: bash shell system

我想编写一个shell脚本来检查Linux上的文件,并在文件被修改或更改时通知我。

例如:如果/etc/sysconfig/network-scripts/ifcfg-eth0已更改,脚本应通知我。

这是我的代码,它不起作用,请帮助我:

#!/bin/bash
while true
do
   #ATIME=`stat -c %Z /:path/to/the/file.txt`
   #lmodiff= `stat -c %y /etc/sysconfig/network-scripts/ifcfg-eth0 | sed 's/^\([0-9\-]*\).*/\1/'`
   lmd="2014-09-15"

   cmd=`stat -c %y /etc/sysconfig/network-scripts/ifcfg-eth0 | sed 's/^\([0-9\-]*\).*/\1/'`
   if [[ "$lmd" != "$cmd" ]]
   then
       echo "RUN COMMNAD"
       #LTIME=$ATIME
   else
        echo "equal"
   fi
done

你能帮助我改进我的代码吗?

1 个答案:

答案 0 :(得分:0)

我可能会这样做:

#!/bin/bash

SLEEP=5
FILE=/path/to/file

SUM=$( md5sum $FILE )
while : ; do
    sleep $SLEEP
    NEWSUM=$( md5sum $FILE )
    if [ "$SUM" != "$NEWSUM" ]; then
        echo "RUN COMMAND"
        SUM=$NEWSUM
    else
        echo "equal"
    fi
done