Nginx日志按天分割并定时清理脚本(无需重启Nginx)

2018-04-16 浏览:349
Nginx日志按天分割并定时清理脚本(无需重启Nginx)
评论:(1)复制地址

近期突然有台服务器报磁盘空间不足,进去一查日志文件夹里竟然占了近百G,唉……,以前偷的懒总是要还的。

网上的Nginx日志分割脚本基本就两种,一种需要重启Nginx,还有一种需要修改Nginx源码。莫名感觉不爽,还得自己动手丰衣足食啊

logperday.sh

#!/bin/bash
#by zpblog.cn
#此脚本用于自动分割指定目录的日志,包括access_log和error_log
#每天00:00执行此脚本 将前一天的access_log拷贝为access_log-xxxx-xx-xx格式,并清空已拷贝的日志文件
#日志目录
LOG_PATH=/home/logs
#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#分割日志
for a in ` find  ${LOG_PATH} -name "*.access_log" `;do cp $a $a-${YESTERDAY};echo ""  >$a;done
for e in ` find  ${LOG_PATH} -name "*.error_log" `;do cp $e $e-${YESTERDAY};echo ""  >$e;done
#删除7天前日志
find ${LOG_PATH} -mtime +7 -type f -name "*_log-*" -exec rm -f {} \;

本脚本适合各类服务日志,通吃!

注:因采用先复制在清空的方法,所以请务必保证两倍量的日志文件夹空间。

评论:(1)复制地址
发布:zpblog | 分类:Linux | Tags:nginx 日志

评论列表:

collegepaper.org

评论于2018-07-03 18:38:21
感谢楼主的分享 - 回复该评论

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。