我想编写一个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
你能帮助我改进我的代码吗?
答案 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