Nginx 日志切割:按日期管理日志文件,提升运维效率

🏡作者主页:点击! 

Nginx-从零开始的服务器之旅专栏:点击

🐧Linux高级管理防护和群集专栏:点击!

⏰️创作时间:2025年2月9日11点20分


在日常运维中,Nginx 的访问日志和错误日志会随着时间的推移不断增长,最终可能导致日志文件过大,影响管理和分析的效率。为了解决这个问题,我们可以将日志按日期切割,生成每日的独立日志文件。这不仅方便日志的管理,还能更高效地进行问题排查和数据分析。以下是具体的操作步骤,希望能帮助到你。

1. 日志切割

目的

将 Nginx 的访问日志和错误日志按日期切割,避免日志文件过大,方便管理和分析。


操作步骤

  1. 创建日志切割脚本: 在 /usr/local/nginx/sbin/ 下创建一个日志切割脚本:
vim /usr/local/nginx/sbin/cut_nginx_log.sh

添加以下内容:

#!/bin/bash
log_path="/usr/local/nginx/logs"
today=$(date -d "yesterday" +"%Y-%m-%d")

# 切割访问日志
mv $log_path/access.log $log_path/access_$today.log

# 切割错误日志
mv $log_path/error.log $log_path/error_$today.log

# 通知 Nginx 重新生成日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
  1. 赋予执行权限:
chmod +x /usr/local/nginx/sbin/cut_nginx_log.sh
  1. 设置定时任务: 使用 crontab 配置每天凌晨切割日志:
crontab -e

添加以下内容:

0 0 * * * /usr/local/nginx/sbin/cut_nginx_log.sh

测试步骤

  1. 手动执行脚本:
/usr/local/nginx/sbin/cut_nginx_log.sh
  1. 检查日志目录:
ls /usr/local/nginx/logs/

预期输出:日志目录中应出现 access_<日期>.logerror_<日期>.log 文件。

总结

通过为 Nginx 设置日志切割脚本并配置定时任务,我们可以轻松实现日志的自动管理,避免日志文件过大带来的麻烦。这个方案简单高效,适合日常运维工作。如果你有其他关于 Nginx 日志管理的技巧,欢迎留言交流,让我们共同提升运维效率!

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘泣男子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值