将“10 分钟”替换为任意值。基本上我只想在文件不再增长时移动该文件。如何在命令行或 bash 脚本上执行此操作?
首选易于解决的解决方案cron
。
细节:
- 操作系统:CentOS
- 到目前为止我已经尝试过:什么都没有,因为我不知道从哪里开始
- 什么样的文件:目录中的任何文件
答案1
这里一行命令:
find /path/to/dir1 -type f ! -mmin -10 -exec mv {} /path/to/dir2 \;
替换-10
成你想要的任何内容,规则是:
+n for greater than n,
-n for less than n,
n for exactly n.
答案2
有很多方法。
使用查找:
if find some_directory -mmin +10 | grep "^filename$" ; then
mv filename somewhere_else
fi
另一种方法是计算 md5sum 并进行比较
touch .filename.md5
prev_md5=$(cat .filename.md5)
new_md5=$(md5sum filename)
if [ "$prev_md5" = "$new_md5" ] ; then
mv filename somewhere_else
fi
echo "$new_md5" > .filename.md5
每 10 分钟运行一次。