day6、Linux下如何找出7天以前的文件删除

时间:2022-04-24
本文章向大家介绍day6、Linux下如何找出7天以前的文件删除,主要内容包括方法一、方法二、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

有些时候,由于系统产生的日志文件,使服务器的磁盘空间紧张,所以怎么删除7天以前的日志文件及让系统只保留7天以内的日志文件

方法一

使用命令:find + |xargs + ls

命令方法:find /app/logs/ -type f -name "*.log" -mtime +7|xargs ls -l   这里是使用的ls 找出来, 找出来之后看一下对  换成rm 就可以了

[root@lo-01 logs]# find /app/logs/ -type f -name "*.log" -mtime +7|xargs ls -l

-rw-r--r--. 1 root root 0 May  1 00:00 /app/logs/access_www_2017-05-01.log

-rw-r--r--. 1 root root 0 May  2 00:00 /app/logs/access_www_2017-05-02.log

-rw-r--r--. 1 root root 0 May  3 00:00 /app/logs/access_www_2017-05-03.log

-rw-r--r--. 1 root root 0 May  4 00:00 /app/logs/access_www_2017-05-04.log

-rw-r--r--. 1 root root 0 May  5 00:00 /app/logs/access_www_2017-05-05.log

-rw-r--r--. 1 root root 0 May  6 00:00 /app/logs/access_www_2017-05-06.log

-rw-r--r--. 1 root root 0 May  7 00:00 /app/logs/access_www_2017-05-07.log

-rw-r--r--. 1 root root 0 May  8 00:00 /app/logs/access_www_2017-05-08.log

-rw-r--r--. 1 root root 0 May  9 00:00 /app/logs/access_www_2017-05-09.log

-rw-r--r--. 1 root root 0 May 10 00:00 /app/logs/access_www_2017-05-10.log

-rw-r--r--. 1 root root 0 May 11 00:00 /app/logs/access_www_2017-05-11.log

-rw-r--r--. 1 root root 0 May 12 00:00 /app/logs/access_www_2017-05-12.log

方法二

使用命令:ls  find

命令格式:ls -l $(find /app/logs/ -type f -name "*.log" -mtime +7)

ls -l `find /app/logs/ -type f -name "*.log" -mtime +7`    这里也是使用的ls  查找出来 对就换成rm命令

[root@lo-01 logs]# ls -l `find /app/logs/ -type f -name "*.log" -mtime +7`

-rw-r--r--. 1 root root 0 May  1 00:00 /app/logs/access_www_2017-05-01.log

-rw-r--r--. 1 root root 0 May  2 00:00 /app/logs/access_www_2017-05-02.log

-rw-r--r--. 1 root root 0 May  3 00:00 /app/logs/access_www_2017-05-03.log

-rw-r--r--. 1 root root 0 May  4 00:00 /app/logs/access_www_2017-05-04.log

-rw-r--r--. 1 root root 0 May  5 00:00 /app/logs/access_www_2017-05-05.log

-rw-r--r--. 1 root root 0 May  6 00:00 /app/logs/access_www_2017-05-06.log

-rw-r--r--. 1 root root 0 May  7 00:00 /app/logs/access_www_2017-05-07.log

-rw-r--r--. 1 root root 0 May  8 00:00 /app/logs/access_www_2017-05-08.log

-rw-r--r--. 1 root root 0 May  9 00:00 /app/logs/access_www_2017-05-09.log

-rw-r--r--. 1 root root 0 May 10 00:00 /app/logs/access_www_2017-05-10.log

-rw-r--r--. 1 root root 0 May 11 00:00 /app/logs/access_www_2017-05-11.log

-rw-r--r--. 1 root root 0 May 12 00:00 /app/logs/access_www_2017-05-12.log

方法三

使用命令:find ls

命令格式:find /app/logs/ -type f -name "*.log" -mtime +7 -exec ls -l {} ;

[root@lo-01 logs]# find /app/logs/ -type f -name "*.log" -mtime +7 -exec ls -l {} ;

-rw-r--r--. 1 root root 0 May  3 00:00 /app/logs/access_www_2017-05-03.log

-rw-r--r--. 1 root root 0 May  5 00:00 /app/logs/access_www_2017-05-05.log

-rw-r--r--. 1 root root 0 May 12 00:00 /app/logs/access_www_2017-05-12.log

-rw-r--r--. 1 root root 0 May  6 00:00 /app/logs/access_www_2017-05-06.log

-rw-r--r--. 1 root root 0 May  7 00:00 /app/logs/access_www_2017-05-07.log

-rw-r--r--. 1 root root 0 May  9 00:00 /app/logs/access_www_2017-05-09.log

-rw-r--r--. 1 root root 0 May  4 00:00 /app/logs/access_www_2017-05-04.log

-rw-r--r--. 1 root root 0 May  2 00:00 /app/logs/access_www_2017-05-02.log

-rw-r--r--. 1 root root 0 May 10 00:00 /app/logs/access_www_2017-05-10.log

-rw-r--r--. 1 root root 0 May  1 00:00 /app/logs/access_www_2017-05-01.log

-rw-r--r--. 1 root root 0 May 11 00:00 /app/logs/access_www_2017-05-11.log

-rw-r--r--. 1 root root 0 May  8 00:00 /app/logs/access_www_2017-05-08.log

如果不想这么麻烦想要自动清理,写到定时任务即可,注意定时任务格式及命令要使用绝对路径