linux如何定时删除N天前的文件(文件夹)

 更新时间:2023年12月12日 15:35:37   作者:wd520521  
这篇文章主要介绍了linux如何定时删除N天前的文件(文件夹)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

在业务中,给定的磁盘容量小,为了避免爆盘,需要定时清除数据,所以总结了一下设置方法:

可以使用find命令

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

还可以把此命令写入脚本中

1、创建脚本cleandata.sh

vim cleandata.sh

2、写入命令

find /tmp -mtime +15 -type d -name "*" -exec rm -rf {} \;

3、保存文件

按Esc键
 
:wq  #保存

4、配置可执行

chmod u+x ./cleandata.sh

 5、配置到crontab

crontab -e
#每天九点十五自动执行
15 9 * * *  /home/test/cleandata.sh > /dev/null 2>&1

*号解释:

  • 第一个*号表示时间中的 分钟  取值范围:0-59
  • 第二个*号表示时间中的 小时  取值范围:0-23
  • 第三个*号表示一个月中的第几天,取值范围:1-31
  • 第四个*号表示一年中的第几个月,取值范围:1-12
  • 第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天

以上已经配置完成,亲测有效 

linux定时删除时间格式文件夹

#!/bin/bash
 
function deletedir(){
    ago_file=$(date -d '30 days ago' +%Y%m%d)
        dir_or_file=$1
        if [ -d $dir_or_file ]
        then
            for element_date in `ls $dir_or_file`
            do
                dir_or_file_date=$dir_or_file"/"$element_date
                if [ -d $dir_or_file_date ]
                then
                        date_file=$(date -d $element_date +%Y%m%d)
                        if [ $date_file -lt $ago_file ]
                        then
                                rm -rf $dir_or_file_date
                        fi
                fi
            done
        fi
}
root_dir="/data0/test"
deletedir $root_dir

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache Shiro 框架简介

    Apache Shiro 框架简介

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,下文给大家带来了Apache Shiro 框架简介,感兴趣的朋友一起看看吧
    2017-09-09
  • Linux利用Shell脚本部署jar包项目的完整步骤

    Linux利用Shell脚本部署jar包项目的完整步骤

    这篇文章主要给大家介绍了关于Linux如何利用Shell脚本部署jar包项目的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 在CentOS 7上给一个网卡分配多个IP地址的方法

    在CentOS 7上给一个网卡分配多个IP地址的方法

    本篇文章主要介绍了在CentOS 7上给一个网卡分配多个IP地址的方法,具有一定的参考价值,有需要的可以了解一下。
    2017-03-03
  • Linux获取当前脚本真实路径的方法

    Linux获取当前脚本真实路径的方法

    今天小编就为大家分享一篇关于Linux获取当前脚本真实路径的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • linux实现对上传文件的定时备份、增量备份的方法

    linux实现对上传文件的定时备份、增量备份的方法

    这篇文章主要介绍了linux实现对上传文件的定时备份、增量备份的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 15分钟并行神器gnu parallel入门指南

    15分钟并行神器gnu parallel入门指南

    GNU Parallel是一个shell工具,为了在一台或多台计算机上并行的执行计算任务,这篇文章主要介绍了15分钟并行神器gnu parallel入门指南,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Ubuntu 14.04下安装和配置redis数据库

    Ubuntu 14.04下安装和配置redis数据库

    安装Redis服务器,会自动地一起安装Redis命令行客户端程序。在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器。
    2016-04-04
  • CentOS 7.2安装Nginx 1.10.2的详细教程

    CentOS 7.2安装Nginx 1.10.2的详细教程

    最近公司要切换VPS,所以打算使用最新的系统进行搭建LNMP,这篇文章是为CentOS 7.2安装Nginx 1.10.2的安装记录,记录下以便下次或者有需要的朋友们参考使用。下面跟着小编来一起学习学习吧。
    2016-11-11
  • linux中普通用户的定时任务详解

    linux中普通用户的定时任务详解

    这篇文章主要给大家介绍了关于linux中普通用户的定时任务的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • linux VPS之间网站数据的备份与恢复(网站迁移教程)

    linux VPS之间网站数据的备份与恢复(网站迁移教程)

    有时候我们需要网站迁移或者网站数据需要备份或恢复,那么就需要一些操作了,linux下操作都是命令下执行的,特分享下,方便需要的朋友
    2014-02-02

最新评论