今日小练题目📢
有一台服务器作为web应用,有一个目录(/data/web/attachment) 不定时地会被用户上传新的文件,但是不知道什么时候会上传。 所以,需要我们每5分钟做一次检测是否有新文件生成。 写一个shell脚本去完成检测。检测完成后若是有新文件, 还需要将新文件的列表输出到一个按年、月、日、时、分为名字的日志里。 思路: 每5分钟检测一次,那肯定需要有一个计划任务,每5分钟去执行一次。 脚本检测的时候,就是使用find命令查找5分钟内有过更新的文件, 若是有更新,那这个命令会输出东西,否则是没有输出的。我们可以把输出结果的行数作为比较对象,看看它是否大于0。
优秀作业🤌🏻
#!/bin/sh
#author:xYLiuuuuuu
#date:2024-11-19
d=`date +%Y%m%d%H%M`
basedir=/data/web/attachment
find $basedir/ -type f -mmin -5 > /tmp/newf.txt
if [ -s /tmp/newf.txt ]; then
/bin/mv /tmp/newf.txt /tmp/$d
fi
敲黑板📝
- if [xxx]; then 或者 if [xxx]换行then
- [ -s filename ] 表示当文件存在,并且文件内容不为空时,条件成立
- find的 -mmin 选项以分钟为时间单位查找
- mkdir加-p参数递归创建目录