日期:2014-05-16  浏览次数:20936 次

简单shell脚本。监控目录中文件的变化
定时1s检测某目录中文件是否有新文件,如有,读出里面的数据。

新文件的定义是:文件名为新出现的,而且5s内没有变化。

谢谢!
------解决方案--------------------
FILE_THIS="/var/tmp/this.txt"
FILE_LAST="/var/tmp/last.txt"
FOLDER="/var/tmp/aaa/"

while :; do
    if [ -e "$FILE_THIS" ]; then
        mv "$FILE_THIS" "$FILE_LAST"
        ls "$FOLDER" > "$FILE_THIS"
        diff "$FILE_THIS" "$FILE_LAST"
        if [ $? == 0 ]; then
            echo Not changed
        else
            echo Changed
        fi
    else
        ls "$FOLDER" > "$FILE_THIS"
    fi
    # 可以通过调整sleep的时间来更改监控频率
    sleep 5
done