坚持以客户需求至上原则
中国老牌优质服务商

Linux 定期自动删除log crontab计划任务

一些软件在长期运行的过程中会产生一些log或info文件,时间久了会占用很多磁盘空间,可以通过shell脚本+crontab定时任务的方式,定期自动清理这些文件以腾出磁盘空间,脚本如下:

#!/bin/bash
find /log/test_logs/ -mtime +10 -type f -name "*.log" | xargs rm -f

1、脚本说明:

find /log/test_logs/
需要操作的目录
-mtime +10
只保留最近十天,或者操作针对于十天之前的文件,在这就是删除十天之前的文件
-type f
指定操作类型为文件,文件为f,目录为d
-name “*.log”
指定操作的文件是什么,在这里我们仅操作指定目录下以.log结尾的文件,根据具体的需求修改
xargs rm -f
做删除操作

脚本运行之前:

 

 

 

 

 

 

脚本运行之后:

 

 

 

 

 

可以看到,符合要求的10天之前的以.log结尾的文件都会被清理掉,其他文件因为不满足时间限制或者不满足文件名限制,都不会被删掉

2、设置计划任务

脚本写好之后,最好直接设置为计划任务,由系统定期自动执行,如,在每天晚上的1:00自动执行清理脚本

00 01 * * * /root/log_clean.sh

计划任务的设置最好与系统中原存在的计划任务错开一定的时间,避免占用过多的资源或其他冲突,设置计划任务,注意给脚本加权限

赞(27)

更专业 更快速 更方便

华夏名网VIP服务