《Linux系列》Linux根据时间批量删除文件

《Linux系列》Linux根据时间批量删除文件_第1张图片

Linux根据时间批量删除文件

  当遇到很多日志文件时,想要清理部分日志,但是一个一个清理太过麻烦。所以希望通过从文件时间上做逻辑判断,实现把某一时间之前的文件删除。

1 查看日志总数

ll查看所有的日志信息

wc -l统计数量

[root@zxy_master logs]# ll | wc -l
53

2 查看指定类型的日志

find查找文件命令

-name指定查找文件的名称

[root@zxy_master logs]# find ./ -name 'nifi-app*.log'
./nifi-app_2022-11-16_11.0.log
./nifi-app_2022-09-29_23.0.log
./nifi-app_2022-11-14_04.0.log
......

3 查看指定日期之前的日志

-mtime +n, 查找n天前的文件

[root@zxy_master logs]# find ./ -mtime +50 -name 'nifi-app*.log'
./nifi-app_2022-09-29_23.0.log
./nifi-app_2022-09-30_09.0.log
./nifi-app_2022-10-10_09.0.log
./nifi-app_2022-10-10_10.0.log
./nifi-app_2022-09-30_11.0.log
./nifi-app_2022-09-30_10.0.log
./nifi-app_2022-10-10_11.0.log

4 删除指定日期之前的日志

-exec 执行脚本固定写法

rm -f 删除文件(如果有目录也需要递归删除的话,可以使用rm -rf)

{} \ 固定写法

[root@zxy_master logs]# find ./ -mtime +50 -name 'nifi-app*.log' -exec rm -f {} \;
[root@zxy_master logs]# find ./ -mtime +50 -name 'nifi-app*.log'
[root@zxy_master logs]#

你可能感兴趣的:(Linux,linux,运维,服务器)