Index
- 有一台服务器作为web应用,有一个目录(/data/web/attachment)
- 不定时的会被用户上传新的文件,但是不知道什么时候会上传
- 所以,我们需要没五分钟做一次检测是否有新文件生成
- 写一个shell脚本去完成检测,检测完成后若是有新文件
- 还需要将新文件的列表输出到一个按年,月,日,时,分为名字的日志里
- 思路:每五分钟检测一次,那肯定需要有一个计划任务,每五分钟去执行一次,脚本检测的时候,就是使用find命令查找5分钟内有过更新的文件,若是有更新,那这个命令会输出东西,否则是没有输出的,
#!/bin/bash
##日志文件名,包含年月日时分
d=`date +%Y%m%d%H%M`
basedir=/data/web/attachment
##find找到5分钟之内新产生的文件,并把文件列表写入一个文件中
find $basedir/ -type f -mmin -5 > /tmp/newf.txt
## 如果文件里有内容,把文件改名字,即我们要的文件列表日志文件
if [ -s /tmp/newf.txt ]; then
/bin/mv /tmp/newf.txt /tmp/$d
fi
总结
- find的 -mmin 选项以分钟为时间单位查找
- [ -s filename ] 表示当文件存在,并且文件内容不为空时,条件成立