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