zoukankan      html  css  js  c++  java
  • linux定时删除N天前的文件(文件夹)

    近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令

    find 路径 -mtime +天数 -type f -name "文件名" -exec rm -rf {} ;

    find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
    /tmp --设置查找的目录;
    -mtime +30 --设置修改时间为30天前;
    -type f --设置查找的类型为文件;其中f为文件,d则为文件夹
    -name "*" --设置文件名称,可以使用通配符;
    -exec rm -rf --查找完毕后执行删除操作;
     {} \; --固定写法
    

    另外的方法大同小异:

    [hadoop@oyhadoop021 nokia_temp]$#find /tmp -mtime +30 -type f | xargs rm -rf
    
    可以吧这个命令写到脚本里,
    
    cleandata.sh
    
    find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
    
    配置可执行
    
    chmod u+x ./cleandata.sh
    

    配置到crontab

    crontab -e
    0 0 * * *  /home/username/cleandata.sh > /dev/null 2>&1
    每天零点自动执行
    其中:
    第一个*号表示时间中的 分钟  取值范围:0-59
    第二个*号表示时间中的 小时  取值范围:0-23
    第三个*号表示一个月中的第几天,取值范围:1-31
    第四个*号表示一年中的第几个月,取值范围:1-12
    第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天
    

    赞赏码

    非学,无以致疑;非问,无以广识

  • 相关阅读:
    静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)
    SQLLITE
    SQLite数据表和视图
    SQLite
    DELPHI 泛型
    indy10 学习2
    indy10 线程池
    indy
    Indy10 控件的使用(2)TidTCpServer组件学习
    Socket心跳包机制
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452532.html
Copyright © 2011-2022 走看看