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

linux实现按天生成日志文件并自动清理

2017-07-21 00:00 465 查看

linux实现按天生成日志文件并自动清理

前篇文章中讲到如何在Linux crontab创建每秒执行的方法,高人可能早意识到日志文件没做处理,假如没人工处理久了日后越来越大肯定会出现问题,当然人工处理也不现实。为了解决这个问题,所以有了这篇文章,此文章所描述的方法肯定不是最好的。



1、按照天数输出日志文件

之前任务队列轮循输出的内容都默认写在一个文件里,现在改成每天生成一个日志文件。
act_wdraw_accesslog_rds_list.sh


for (( i=0; i<60; i=(i+step) )); do
$($phpexec -c $phpini -f $index_file weightDraw/Stat logAccess/30 >> /tmp/act_wdraw_access_log/`date +%Y-%m-%d`.log 2>&1)
sleep $step
done
exit 0

2、自动删除N天前的日志文件

日志文件虽然按天分开了,但其实还是没有解决占用磁盘越来越大的问题,所以需要加入自动删除计划任务,一般日志保存不会很久,我这里默认删除30天前的日志文件。

新建自动清理shell脚本 act_wdraw_accesslog_cleaner.sh

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

添加crontab计划任务。每天凌晨3点15分执行该清理日志脚本

15 3 * * * /apps/sh/act_wdraw_accesslog_cleaner.sh > /dev/null 2>&1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: