1. > 生活百科 >

find删除30天前的文件(find删除5天前)

在Linux中如何删除指定日期之前的一些文件?

假如在一个目录中保留最近30天的文件,30天前的文件自动删除;

#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} ;/tmp _设置查找的目录;

1、mtime +30 _设置时间为30天前;

2、type f _设置查找的类型为文件;

3、name *.sh[ab] _设置文件名称中包含sha或者shb;

4、exec rm -f _查找完毕后执行删除操作;

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

另外的方法大同小异:#find /tmp -mtime +30 -type f | xargs rm -rf。

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

磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:

可以使用find命令

另外的方法大同小异:

可以吧这个命令写到脚本里,

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都表示星期天

如何自动删除指定文件夹中30天以前的文件?

您好,茫茫人海之中,能为君排忧解难实属朕的荣幸,在下拙见,若有错误,还望见谅!。1

2

3

4

5

6

7

8

9

10

11

12

13

::删除与批处bai理在同一目录du里的30天前zhi的文件夹,dao日期的判断以文件夹的版创建日期为准。权

>dstdate.vbs echo LastDate=date()-30

>>dstdate.vbs echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)

>>dstdate.vbs echo wscript.echo FmtDate

::获取30天前的日期

for /f %%a in ('cscript /nologo dstdate.vbs') do set "dstdate=%%a"

::格式化日期为年/月/日

set dstdate=%dstdate:~0,4%^/%dstdate:~4,2%^/%dstdate:~6,2%

del dstdate.vbs /f /q >nul

for /f "skip=1 tokens=1-4 delims= " %%a in ('dir /tc /ad ^| find ":"') do (

if %%a lss %dstdate% rd "%%d" /s /q

)

pause非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

如何根据时间删除或查找文件

使用find命令按时间筛选

find 参数说明

-amin -n: 最后一次访问发生在 n分钟 之内-amin n: 最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟-amin +n: 最后一次访问发生在 (n+1)分钟 之外

-atime -n: 最后一次访问发生在 n天 之内-atime n: 最后一次访问发生在 n天 至 (n+1)天 -atime +n: 最后一次访问发生在 (n+1)天 之外

-cmin -n: 最后一次文件状态修改发生在 n分钟 之内-cmin n: 最后一次文件状态修改发生在 n分钟 至 (n+1)分钟-cmin +n: 最后一次文件状态修改发生在 (n+1)分钟 之外

-ctime -n: 最后一次文件状态修改发生在 n天 之内-ctime n: 最后一次文件状态修改发生在 n天 至 (n+1) 天-ctime +n: 最后一次文件状态修改发生在 (n+1)天 之外

-mmin -n: 最后一次文件内容修改发生在 n分钟 之内-mmin n: 最后一次文件内容修改发生在 n分钟 至 (n+1)分钟-mmin +n: 最后一次文件内容修改发生在 (n+1)分钟 之外

-mtime -n: 最后一次文件内容修改发生在 n天 之内-mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外

#查找文件内容修改发生在2天之内的文件find/var/log/hive/ -name"*"-mtime -2

执行删除

#删除5天前的文件 # -exec参数,如果查找有返回,可在exec参数后加上需要操作的命令,查找结果用{}来代替find /var/log/hive/ -name"*"-mtime +5 -exec rm -rfv {} \;

【Linux】使用find命令清理指定时间之前的文件

说明:

find 后面紧跟的 /root/logs 是要查找的目录,. 表示当前目录

-type f :指定查找对象为文件

-name "*" :指定查找对象名称为任意

-mtime +7 :查找7天以前的老文件

-exec rm -f {} \; :执行删除命令,后面有个 {} \; 是必须的

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

你的意思是删除某天之前的所有文件对吧?比如21号之前的文件,就是你所说的20日之前的文件,以及20日当天的文件。我没理解错吧?

我像你们一样,首先,通过find查找文件。

然后计算,文件修改日期是否在限定的日期之前,如果是,那么删除文件。

我把命令写到了bash脚本里面。

使用方法:

chmod +x ./del_file_before_that_day.sh#给文件添加执行权限

./del_file_before_that_day.sh "2013-8-21"

回车,

拖动要处理的文件夹到终端,即可完成处理。

楼主,你可以参考一下。顺便说一下,我把rm命令注释掉了,等你测试好脚本,再去除注释吧,以免因为执行环境不同,结果出偏差,给你带来损失。

shell脚本删除30天之前日志

1、新建sh文件

删除30天以前的文件

#!/bin/bash

find /home/sdu/server/node1/logs/ -mtime +30 -print | xargs rm -rf

//注释-mtime是距离上一次修改时间 -print是只显示文件 xargs是获取find查找的结果在通过rm命令删除

2、部署服务器

3、设置crontab定时任务

打开定时任务配置文件:crontab -e

find删除30天前的文件(find删除5天前)find删除30天前的文件(find删除5天前)


定时调用test.sh:* * * * * /home/test.sh

保存退出:按键ESC,输入:wq

第一个* 一小时当中的第几分钟 0-59

第二个* 一天当中的第几小时 0-23

第三个* 一个月当中的第几天 1-31

find删除30天前的文件(find删除5天前)find删除30天前的文件(find删除5天前)


第四个* 一年当中的第几月 1-12

第五个* 一周当中的星期几 0-7(0和7都代表周日)

* 代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行

, 代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行

- 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行

*/n 代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次

例子:

45 22 * * *

在22点45分执行

0 17 * * 1

在每周1的17点0分执行

0 5 1,15 * *

在每月1号和15号的凌晨5点0分执行

40 4 * * 1-5

在每周一到周五的凌晨4点40分执行

*/10 4 * * *

在每天的凌晨4点,每隔10分钟执行一次

0 0 1,15 * 1

每月1号和15号,每周1的0点0分都会执行

注意:星期几和几号最好不要同时出现,他们的意义都是天,容易混淆

4、查看目前都有那些定时任务

crontab -l

5、备注:

find删除30天前的文件(find删除5天前)find删除30天前的文件(find删除5天前)


定时任务需要crond服务的支持

1.启动方法 service crond restart

2.该服务默认是开机启动的

取消定时任务

1.全部取消 crontab -r

2.取消某个 crontab -e 配置文件,删除要取消的哪一行配置

若定时任务存在,编辑shell脚本后,不用做任何操作,不放心的话可以启动脚本看下是否报错 sh 脚本名字

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息