zoukankan      html  css  js  c++  java
  • 阿铭每日一题 day 7 20180117

    方法一:

    1 #!/bin/bash
    2 while true
    3 do
    4 find /data/web/attachment/ -type f -mmin -5 -exec echo $(date +%Y/%m/%d %H:%M:%S) {} ; >> /tmp/day7.log
    5 sleep 5
    6 done
    day7=参考答案=~ps.不是唯一答案哦
    解析
    1、不要想的太复杂,核心命令只有一个:find /data/web/attachment/ -type f - mmin -5
    2、每5分钟检测一次,需要有一个计划任务,每隔5分钟执行一次。脚本检测的时候,使用find命令查找5分钟内有过更新的文件,若是有更新,那这个命令会输出东西,否则是没有输出的。固,可以把输出结果的行数作为比较对象,看看它是否大于0。
    3、当然大家还可以用find命令执行后,看$?的返回值是否是0。
     
    【参考答案】

     1 #!/bin/bash
     2 
     3 d=`date -d " -5 min" +%Y\%m\%d\%H\%M`
     4 basedir="/data/web/attachment"
     5 
     6 find $basedir -type f -mmin -5 > /tmp/newf.txt
     7 n=`wc -l /tmp/newf.txt|awk '{print $1}'`
     8 if [ $n -gt 0 ]
     9 then
    10   /usr/bin/mv /tmp/newf.txt /tmp/$d
    11 fi
    crond计划任务

    1 */5 * * * * /bin/bash /root/scripts/day7_20180117.sh
  • 相关阅读:
    进程与线程的区别与联系
    c 指针兼容性问题
    柔性数组
    Makefile之wildcard
    shell编程笔记1
    linux下gcc编译的参数详细说明
    的理解
    URL与URI的区别
    Log4J积累
    linux 查看磁盘、文件夹、文件大小(df du)
  • 原文地址:https://www.cnblogs.com/ivan-yang/p/8323563.html
Copyright © 2011-2022 走看看