近期突然有台服务器报磁盘空间不足,进去一查日志文件夹里竟然占了近百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 {} \;
本脚本适合各类服务日志,通吃!
注:因采用先复制在清空的方法,所以请务必保证两倍量的日志文件夹空间。
评论列表:
collegepaper.org
评论于2018-07-03 18:38:21
感谢楼主的分享 - 回复该评论
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
相关文章
txt字符串指定长度换行2023-05-13
根据PayPal通知要求,让CentOS下的Nginx支持TLS 1.22018-05-08
截取指定时间段内svn的访问日志2016-12-09
Nginx rewrite 参数和例子2014-09-23
Nginx配置SSL安全证书避免启动输入Enter PEM pass phrase2014-06-21
利用mysql二进制日志进行mysql数据库的恢复2014-03-25
CentOS 6.4下搭建WEB服务环境2013-12-24