当前位置: 首页 > wzjs >正文

贵阳市住房和城乡建设局政务网站vps做网站的环境

贵阳市住房和城乡建设局政务网站,vps做网站的环境,今天刚刚发生的新闻,做期货网站违法的吗文章目录 CentOS 7 日志切割实战:Logrotate 详解与配置指南Logrotate 简介安装与配置文件确认安装配置文件结构 核心配置参数详解实战配置案例案例1:Nginx 日志切割案例2:按大小切割应用日志案例3:Java 程序日志 test.log 切割配置…

文章目录

  • CentOS 7 日志切割实战:Logrotate 详解与配置指南
  • Logrotate 简介
  • 安装与配置文件
    • 确认安装
    • 配置文件结构
  • 核心配置参数详解
  • 实战配置案例
    • 案例1:Nginx 日志切割
    • 案例2:按大小切割应用日志
    • 案例3:Java 程序日志 `test.log` 切割配置
      • 创建 Logrotate 配置文件
      • 添加配置内容
      • 配置说明
      • 手动测试配置
      • 验证日志切割结果
      • 定时任务
  • 手动测试与调试
    • 手动执行轮换
    • 调试配置问题
  • 常见问题排查
    • 日志未按预期切割
    • 切割后服务日志不更新
  • 总结


CentOS 7 日志切割实战:Logrotate 详解与配置指南

日志管理是服务器运维中不可或缺的一环,而 Logrotate 作为 Linux 系统自带的日志轮换工具,能够高效自动化地处理日志文件的切割、压缩、删除等操作。本文将深入解析 CentOS 7 中 Logrotate 的配置技巧与实战应用。


Logrotate 简介

Logrotate 通过预设规则自动对日志文件进行轮换(Rotate),避免单个日志文件过大导致磁盘空间不足或影响读写性能。其核心功能包括:

  • 切割日志:按时间或大小拆分日志文件。
  • 压缩存储:减少历史日志的磁盘占用。
  • 自动清理:保留指定数量的旧日志,防止堆积。

安装与配置文件

确认安装

CentOS 7 默认已集成 Logrotate,可通过以下命令验证:

rpm -qa | grep logrotate
# 若未安装,执行:yum install logrotate -y

配置文件结构

  • 主配置文件/etc/logrotate.conf
    定义全局配置(如压缩格式、轮换周期等)。
  • 自定义配置目录/etc/logrotate.d/
    存放各服务的独立配置文件(如 Nginx、Apache 等)。

核心配置参数详解

以下为常用配置选项(以 /etc/logrotate.d/nginx 为例):

/var/log/nginx/*.log {daily               # 按天切割missingok           # 日志不存在时不报错rotate 30           # 保留30份旧日志compress            # 启用压缩(默认gzip)delaycompress       # 延迟压缩最新一份日志notifempty          # 空日志不轮换sharedscripts       # 所有日志处理完再执行脚本postrotate          # 切割后执行的命令/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || trueendscriptdateext             # 使用日期作为后缀格式dateformat -%Y%m%d  # 自定义日期格式(示例:.log-20231001)
}

关键参数说明:

  • 切割周期dailyweeklymonthlysize(如 size 100M
  • 保留数量rotate X 指定保留旧日志的数量。
  • 压缩控制
    compress 立即压缩;delaycompress 延迟压缩上一个轮换文件。
  • 脚本钩子
    prerotate/postrotate 在切割前后执行命令(如重启服务)。

实战配置案例

案例1:Nginx 日志切割

# /etc/logrotate.d/nginx
/var/log/nginx/access.log
/var/log/nginx/error.log {dailyrotate 7missingokcompressdelaycompressnotifemptydateextsharedscriptspostrotate# 向Nginx主进程发送USR1信号重新打开日志文件if [ -f /run/nginx.pid ]; thenkill -USR1 `cat /run/nginx.pid`fiendscript
}

案例2:按大小切割应用日志

# /etc/logrotate.d/myapp
/opt/myapp/logs/*.log {size 200M          # 超过200MB时触发切割rotate 5           # 保留5个归档compressnotifemptycopytruncate       # 复制原日志后截断,避免重启服务
}

案例3:Java 程序日志 test.log 切割配置

假设你的 Java 程序生成的日志文件路径为 /opt/myapp/logs/test.log,我们希望每天切割一次日志,保留最近 7 天的日志,并对旧日志进行压缩。

创建 Logrotate 配置文件

/etc/logrotate.d/ 目录下创建一个新的配置文件,例如 myapp

sudo vi /etc/logrotate.d/myapp

添加配置内容

将以下内容添加到配置文件中:

/opt/myapp/logs/test.log {daily               # 每天切割一次missingok           # 如果日志文件不存在,不报错rotate 7            # 保留7份旧日志compress            # 压缩旧日志delaycompress       # 延迟压缩最新一份日志notifempty          # 如果日志为空,不进行切割copytruncate        # 复制日志后截断原文件,避免重启Java程序dateext             # 使用日期作为日志文件后缀dateformat -%Y%m%d  # 自定义日期格式(示例:test.log-20231001)
}

配置说明

  • daily:每天切割一次日志。
  • missingok:如果日志文件不存在,Logrotate 不会报错。
  • rotate 7:保留最近 7 天的日志文件,超过的会被删除。
  • compress:使用 gzip 压缩旧日志文件。
  • delaycompress:延迟压缩最新一份日志文件,方便查看。
  • notifempty:如果日志文件为空,则不进行切割。
  • copytruncate:复制日志文件后截断原文件,适用于不支持重启的 Java 程序。
  • dateext:在日志文件名后添加日期后缀。
  • dateformat:自定义日期格式(例如 test.log-20231001)。

手动测试配置

在正式使用前,可以通过以下命令手动测试配置是否正确:

sudo logrotate -vf /etc/logrotate.d/myapp
  • -v:显示详细信息。
  • -f:强制立即执行切割。

如果配置正确,你会看到类似以下的输出:

reading config file /etc/logrotate.d/myapp
Handling 1 logsrotating pattern: /opt/myapp/logs/test.log  after 1 days (7 rotations)
empty log files are not rotated, old logs are removed
considering log /opt/myapp/logs/test.loglog needs rotating
rotating log /opt/myapp/logs/test.log, log->rotateCount is 7
dateext suffix '-20231001'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
copying /opt/myapp/logs/test.log to /opt/myapp/logs/test.log-20231001
truncating /opt/myapp/logs/test.log
compressing log with: /bin/gzip

验证日志切割结果

执行完 Logrotate 后,检查日志目录 /opt/myapp/logs/,应该会看到类似以下文件:

  • test.log:当前日志文件(已被截断)。
  • test.log-20231001.gz:切割并压缩的旧日志文件。

定时任务

Logrotate 默认通过 cron 每天执行一次。你可以查看 /etc/cron.daily/logrotate 文件确认:

cat /etc/cron.daily/logrotate

如果需要调整执行频率,可以修改 /etc/cron.daily/logrotate 或创建自定义 cron 任务。


手动测试与调试

手动执行轮换

# -v 显示详细信息,-f 强制立即执行
logrotate -vf /etc/logrotate.d/nginx

调试配置问题

  • 查看执行记录
    grep logrotate /var/lib/logrotate/logrotate.status
    
  • 模拟运行(Dry Run)
    logrotate -d /etc/logrotate.d/nginx
    

常见问题排查

日志未按预期切割

  • 检查 cron 任务:Logrotate 由 /etc/cron.daily/logrotate 定时调用,确认 cron 服务运行正常。
  • 验证配置文件语法:确保无语法错误,路径正确。
  • 文件权限问题:确保日志目录对 Logrotate 进程可写。

切割后服务日志不更新

  • 使用 copytruncate 替代 postrotate:某些应用需复制后截断原文件,避免依赖信号重启。
  • 确认 postrotate 脚本正确性:如 Nginx 需发送 USR1 信号而非重启。

总结

Logrotate 通过灵活的配置策略,极大地简化了日志管理的工作量。合理设置切割规则、压缩策略和钩子脚本,既能保障日志可追溯性,又能有效节省磁盘空间。建议结合业务需求定期审查日志配置,确保其高效稳定运行。


文章转载自:

http://9JMTShzp.qmkyp.cn
http://qQy5Iz6i.qmkyp.cn
http://pXv2LxgH.qmkyp.cn
http://Bwlp6TaK.qmkyp.cn
http://o1EpHe72.qmkyp.cn
http://ku0myh9V.qmkyp.cn
http://BOEJWtug.qmkyp.cn
http://F2tKHoAG.qmkyp.cn
http://e2yhIXI0.qmkyp.cn
http://MpbhdB5X.qmkyp.cn
http://QZvgu10s.qmkyp.cn
http://wUTJ84Dd.qmkyp.cn
http://mZyL8amV.qmkyp.cn
http://dI0q5haW.qmkyp.cn
http://DaLbGSKW.qmkyp.cn
http://4Ar8nIyF.qmkyp.cn
http://IghZ6GMK.qmkyp.cn
http://pvYg8nm4.qmkyp.cn
http://JLGl5N1y.qmkyp.cn
http://O59E4RKf.qmkyp.cn
http://7iyBFm8c.qmkyp.cn
http://MoZhfcf2.qmkyp.cn
http://zhLlB1rl.qmkyp.cn
http://2Cn9IK7f.qmkyp.cn
http://acmFRHtV.qmkyp.cn
http://tQZWXLHo.qmkyp.cn
http://fR3HGxJu.qmkyp.cn
http://mtvoPqfP.qmkyp.cn
http://GRcASML5.qmkyp.cn
http://cqcHbCCy.qmkyp.cn
http://www.dtcms.com/wzjs/652262.html

相关文章:

  • 济南建设网站企业收费手机网站开发流程图
  • 如皋网站开发公司厦门市建设执业资格管理中心网站
  • 网站建设未来发展网络规划与设计的目的
  • 下列关于网站开发中网页上传和展厅设计装修公司
  • 湖南网站建设哪家专业网站建设前期准备方案
  • 网站不备案可以访问吗专业团队介绍
  • 擦边球网站做国内还是国外好没有备案的网站怎么访问
  • 团风网站建设国家高新技术企业名单
  • 网站建设运营企划案做rom的网站
  • 免费网站建设设计制作公司企业网上书店网站建设设计
  • asp爆网站绝对路径创网
  • 不锈钢网站哪家最专业短视频运营公司
  • 广州城乡建设网站自助外贸网站制作
  • 金阊做网站价格响应式网站底部菜单栏
  • 企业网络营销活动seo公司系统
  • 城市分站cms建设企业网站前市场分析
  • 企业内部网站制作赶集门户网站建设方案
  • 网站优化网络公司镇江网站建设推广
  • 网站设计 cdc营销网络建设四个阶段
  • 宜兴淘宝网站建设网站建设com网站
  • 天津网站制作推广私人做网站收费
  • 国外vps加速免费seo排名优化技术
  • 贵阳企业网站建设制作网站架构设计师主要做什么
  • 官方网站建设银行重庆建设厅的网站
  • 门户网站是网络表达吗海外社交媒体平台
  • 网上做试卷的网站用tomcat做网站
  • 邢台移动网站建设服务viralnova wordpress
  • 吉林省建设厅网站二建管理系统温州建设局网站首页
  • 嘉兴建站模板wordpress用户推广
  • qq教程网站织梦广州城乡建设局和住建局官网