linux 删除指定日期之前的文件

两种方法:

1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。

find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \;

/email/v1_bak --设置查找的目录;
-mtime +92 --设置时间为91天前;
-type f --设置查找的类型为文件;
-name *.mail[12] --设置文件名称中包含mail1或者mail2;
-exec rm -f --查找完毕后执行删除操作;

将此命令写入crontab后即可自动完成查找并删除的工作了。

2. 或者用:find . -ctime +40 -type f | xargs rm -rf

1、编写清理日志脚本clear.sh

#!/bin/sh
   find /opt/bak -mtime +6 -name "*.log" -exec rm {} \;
   find /opt/bak -mtime +6 -name "*.dmp" -exec rm {} \;

2、给脚本授权

chmod +x clear.sh

3、加入定时执行任务

vi /etc/crontab

在最后加入:00 2 * * *  root /opt/sh/clear.sh

4、重启crontab服务

service crond restart

时间: 2024-11-10 03:51:51

linux 删除指定日期之前的文件的相关文章

按创建日期删除指定日期之前的文件夹及文件夹下的所有子目录

转载void CTestDlg::DeleteDirectory(CString strDir) { if(strDir.IsEmpty()) return; //首先删除文件及子文件夹 CFileFind ff; BOOL bFound = ff.FindFile(strDir+"\\*", 0); while(bFound) { bFound = ff.FindNextFile(); CString filename = ff.GetFileName(); if(filename=

删除指定日期的文件

参考链接:Linux命令删除指定日期的文件 #清理当前目录90天前以.log结尾的文件 find -name "*.log" -mtime +90 -exec rm {} \; 示例 #查找文件内容修改发生在2天之内的文件 find /var/log/hive/ -name "*" -mtime -2 #删除5天前的文件 # -exec参数,如果查找有返回,可在exec参数后加上需要操作的命令,查找结果用{}来代替 find /var/log/hive/ -name

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

利用任务计划自动删除指定日期的SQLServer备份文件

利用任务计划自动删除指定日期的SQLServer备份文件 命令FORFILES [/P pathname] [/M searchmask] [/S]         [/C command] [/D [+ | -] {yyyy-MM-dd | dd}] 方法1:描述:可以删除7天以前的后缀名为log的日志文件.如今天是6.29,那么会删除6.22号以前创建的文件.不会删除到回收站.指定路径为要删除的文件夹路径,该批处理可以放在任意文件夹下.forfiles /p D:\aizzw\LOG /m

【linux】find删除指定时间之前的文件

今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 find . -type f -name *.log -mtime +180 -exec rm {} \; 解析: find 后面紧跟的是要查找的目录,. 表示当前目录 -type f:指定查找对象为文件 -name *.log:指定查找对象名称以.log结尾 -mtime +180: 查找180天以前的老文件 -exec r

outlook寻找/删除指定日期范围内的邮件

总是收到很多系统预警邮件,时间久了攒了好多垃圾邮件.实际上只需保存近期预警邮件,之前的完全可以删除. 上网找了一圈也没找到方法,然后自己想到了一种,步骤如下: 使用outlook规则,将指定日期范围内的邮件放入指定文件夹: 对该文件夹种的邮件进行最终确认,并删除: 其实最主要的就是找到指定日期范围内的邮件,找到邮件之后,怎么操作就随意了. 具体使用outlook的规则配置如下: 原文地址:https://www.cnblogs.com/buwuliao/p/11252111.html

Jquery配合Asp.Net无刷新删除指定服务器上的文件!

前台单击文件,jQuery删除后台相应真实的文件,包含了2个页面,一个是显示图片的页面,一个是传递文件名,然后删除真实图片的页面.具体的代码如下: ShowPics.htm: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&quo

删除指定目录下过期文件并打印日志

肯定会遇到这样的事,有一个文件夹,每天都在生成文件,那么如何去删除那些过期的文件呢.废话不多说,直接上代码: import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat; public class DeleteFileImpl { //这三个变量也可以在配置文件里面配置,但是需要用到@

linux删除指定文件夹中某个文件除外的其他文件

# shopt -s extglob # rm -fr !(file1) 如果是多个要排除的,可以这样: # rm -rf !(file1|file2) 首先科普下shopt -s extglob Bash Shell有个extglob选项,开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便. 开启方法很简单,使用shopt命令:shopt -s extglob 关闭,,使用shopt命令:shopt -u extglob 开启之后,以下5个模式匹配操作符将被识别: ?(p