您现在的位置:首页 > 系统运维 > Linux运维

linux删除前一个月的日志文件-linux日志文件定时清理

以日志文件的修改时间为依据,自动删除redhat(rhel),Centos,Linux前一个月30天的日志文件,使服务器的存储空间定时释放。

1、redhat(rhel),Centos,Linux删除文件命令

find /www/wwwlogs/ -mtime +30 -name "*.log" -exec rm -rf {} \;

 

删除/www/wwwlogs/ 目录下所有30天前以".log"结尾的文件

find:linux的查找命令,用户查找指定条件的文件;

/www/wwwlogs/:想要进行清理的日志文件目录;

-mtime:文件的修改时间(modify time);

+30:查找30天前的文件,这里用数字代表天数;

"*.log":希望查找的数据类型,可以是通配符,如"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件。

-exec:执行后面的命令;

rm -rf:强制删除文件,包括目录和目录里的文件;

{} :接收find的结果; 

\; : exec 结束需要使用\转义

 

2、创建Shell脚本文件 auto-del-30-days-ago-log.sh

touch /www/wwwlogs/auto-del-30-days-ago-log.sh   #创建清理脚本文件
chmod +x /www/wwwlogs/auto-del-30-days-ago-log.sh	 #分配可运行权限
vi /www/wwwlogs/auto-del-30-days-ago-log.sh

auto-del-30-days-ago-log.sh 脚本内容:

#!/bin/sh
find /www/wwwlogs/ -mtime +30 -name "*.log" -exec rm -rf {} \;

 

3、创建Crontab计划任务:

将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,每天自动执行

crontab -e

插入以下内容:

10 03 * * * /www/wwwlogs/auto-del-30-days-ago-log.sh

设置每天凌晨03点10分执行auto-del-30-days-ago-log.sh文件,进行日志文件清理任务。

 

版权所有
侵权必究

上一篇
Redhat\Centos\Linux系统快速查看可用内存
下一篇
Redhat Linux 如何查找大文件? 大于1G的文件