博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用cronolog切割nginx访问日志,定时清理旧日志
阅读量:7038 次
发布时间:2019-06-28

本文共 755 字,大约阅读时间需要 2 分钟。

准备工作

安装cronolog

brew instal cronolog

如果遇到这个错误

clipboard.png

执行

sudo chown -Rwhoami:admin /usr/local/sbin
如果没有/usr/local/sbin这个文件夹先执行
mkdir /usr/local/sbin

使用cronolog切割日志

创建日志源管道文件

mkfifo /usr/local/etc/nginx/access.log.pipe

配置nginx访问日志

access_log /usr/local/etc/nginx/access.log.pipe main;

启动cronolog,当access.log.pipe产生数据时,使用cronolog将access.log.pipe中的数据转移到access.log.%Y-%m-%d

nohup cat /usr/local/etc/nginx/logs/access.log.pipe | nohup /usr/local/sbin/cronolog /usr/local/etc/nginx/logs/access.log.%Y-%m-%d &

启动或重启nginx

nginx start或nginx -s raload

定时清理旧日志

创建清理脚本

vi delete_nginx_logs.sh

保存内容

LOG_PATH="/usr/local/etc/nginx/logs"save_days=7find $LOG_PATH -mtime +$save_days -exec rm -rf {} \;

添加定时执行任务

crontab -e

每天0点执行

0 0 0 * * sh /usr/local/nginx/delete_nginx_logs.sh

转载地址:http://jkfal.baihongyu.com/

你可能感兴趣的文章