当前位置: 首页 > news >正文

【shell脚本编程】-7 寻找到在5分钟内改动的文件

文章目录

    • 1、脚本要求
    • 2、脚本编写
    • 3、脚本解释
    • 4、脚本总结

1、脚本要求

  • 有一台服务器作为web应用,有一个目录自定义
  • 不定时地会被用户上传新的文件,但是不知道什么时候会上传
  • 所以需要每五分钟检测一次是否有新文件生成
  • 写一个shell脚本完成检测
  • 检测完成之后若是有新文件,需要将新文件地列表输出到一个按年、月、日、时、分为名字的日志里
  • 注意每隔五分钟检测一次

2、脚本编写

#!/bin/bashd=`date +%y%m%d%H%M`
basedir=/data/web/attachementfind $basedir/ -type f -mmin -5 > /tmp/newf.txtif [ -s /tmp/newf.txt  ];then/bin/mv  /tmp/newf.txt /tmp/$d
fi

编写完成之后再加上定期执行任务的工具

3、脚本解释

#!/bin/bashd=$(date +%y%m%d%H%M)
#使用date命令获取当前时间,并按照%y%m%d%H%M格式(两位年份 + 月份 + 日期 + 小时 + 分钟,例如2508201645代表 2025 年 8 月 20 日 16 点 45 分)格式化。basedir=/data/web/attachement
#定义变量basedir,指定要查找文件的根目录为/data/web/attachement。
find $basedir/ -type f -mmin -5 > /tmp/newf.txt
#使用find命令在$basedir目录下查找文件:
#-type f:只查找普通文件(排除目录、链接等)。
#-mmin -5:只匹配最近 5 分钟内修改过的文件(-mmin表示按分钟计算修改时间,-5表示 5 分钟以内)。
#将查找结果(符合条件的文件路径)通过>重定向到/tmp/newf.txt临时文件中。
if [ -s /tmp/newf.txt ];then
#条件判断:-s /tmp/newf.txt检查/tmp/newf.txt是否存在且不为空(即是否找到了符合条件的文件)。
#如果条件成立(文件非空),则执行then后的命令。
#/bin/mv /tmp/newf.txt /tmp/$d
#当/tmp/newf.txt非空时,使用mv命令将其移动(重命名)到/tmp目录下,新文件名为变量d的值(即步骤 2 中获取的时间字符串)。
#目的是用时间戳保存这次查找的结果,避免被下次执行覆盖

4、脚本总结

这个脚本的作用是定期检查/data/web/attachement目录下最近 5 分钟内有更新的文件,若存在此类文件,则用当前时间命名并保存文件列表到/tmp目录,方便后续查看最近更新的文件记录。

http://www.xdnf.cn/news/1331731.html

相关文章:

  • 【C++】基础:C++11-14-17常用新特性介绍
  • 【Obsidian插件】HiNote
  • ansible playbook 实战案例roles | 实现db2自动安装
  • spring第9课,spring对DAO的支持
  • 【C++】模版(初阶)
  • 【STM32】HAL库中的实现(六):DAC (数模转换)
  • wpf之ComboBox
  • uniapp学习【上手篇】
  • Ubuntu 重连usb设备(断电和不断电方案)亲测可行
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • SQL面试题及详细答案150道(41-60) --- 条件查询与分组篇
  • 【报错】Please do not run this script with sudo bash
  • 开源大模型如何选择?GPT-OSS综合评估
  • IDEA切换分支时,提示:Git Checkout Problem
  • 4位量化:常规的线性层被替换成了4位线性层(48)
  • 服务器硬件电路设计之 SPI 问答(二):SPI 与 I2C 的特性博弈及多从机设计之道
  • 基于单片机环境火灾安全检测
  • 27.语言模型
  • 3D max制作蝴蝶结详细步骤(新手可跟)♥️
  • Angular入门教程
  • Angular由一个bug说起之十八:伴随框架升级而升级ESLint遇到的问题与思考
  • 【机器学习】什么是损失景观(Loss Landscape)?
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持
  • 大数据毕业设计选题推荐-基于大数据的1688商品类目关系分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 新手向:使用STM32通过RS485通信接口控制步进电机
  • 实验8.20
  • Feign - 降级选 fallback 还是 fallbackFactory
  • HTTP/1.1 与 HTTP/2 全面对比:性能革命的深度解析
  • Final Cut Pro X Mac fcpx音视频剪辑编辑
  • MacBook Pro M1升级Burp Suite2025.8