您的位置:首页 > 运维架构 > Linux

linux日志定时删除

2017-10-20 12:45 253 查看
服务器存储占用过大可从两个方面进行排查原因:

一,系统生成日志占用过大;

二,废弃的服务没有被kill也有所影响;

下面是删除日志的步骤整理

1,查找超大文件

可使用命令查找:

find . -type f -size +800M  -print0 | xargs -0 du -hm | sort -nr


通过该命令可以找到大文件;

也可以使用命令查找大文件夹:

du -hm --max-depth=2 | sort -nr | head -12


找到大文件夹后可以定位到对应的日志文件夹;

然后可以使用命令查看各个日志文件大小:

du -sh ./*
找到大文件日志文件,确定了占用空间过大的源头;

可以使用定时任务对日志进行定时清理;

2,定时清理日志脚本

可以通过linux的crontab定时任务管理调用清理日志脚本进行定时清理日志;

新建文件夹:

mkdir /home/work/cleanlog
新建脚本:

touch /home/work/cleanlog/dellogutil.sh
编辑脚本:

vi /home/work/cleanlog/delutil.sh
这里清理日志脚本比较简单,实现可以配置文件地址,清理掉超10天过期日志

#!/bin/sh
#删除输入路径下的修改时间在30天以前的日志文件
find $1 -mtime +10 -name "*log*" -exec rm -f {} \;
再新建一个清理任务调用delutil.sh脚本

#!/bin/bash
/home/work/cleanlog/dellogutil.sh "/opt/log/xx"
3,启动定时任务

可使用命令编辑linux定时任务

crontab -e
编辑定时任务,凌晨0点10分调用清理日志脚本

10 0 * * * /home/work/cleanlog/dellogs.sh
然后开启定时任务(不同环境下命令可能不同)

service crond start


4,注意点:

(1)写完脚本应该立即使用进行检查,看看能不能删

(2)注意文件位置可能出错

(3)crontab的cron配置跟平时其他系统不太一样,注意区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: