我需要编写一个脚本来反复轮询目录树,找到所有新修改的文件,并对每个这样的文件执行命令(例如,加密,存档等)
我所说的"新修改的文件"是指自上次轮询以来修改的文件。
我指定了"bash"标签,但它可以是任何shell(在Cygwin下运行)。
我想我可以重命名已经处理过的文件; 但我想知道是否有更干净的解决方案。
dirname="/home/me/xxx"
lockfile="/tmp/me.lockfile.$$"
find $dirname -type f | xargs command
touch $lockfile
while true
do
find $dirname -type f -newer $lockfile | xargs command
touch $lockfile
sleep 1
done
请注意,此解决方案存在问题 - 调用查找和触摸锁定文件之间存在争用条件,但这对于大多数实际目的来说可能已经足够了。
如果金钱或生命受到威胁,你需要想出更强大的东西。