讲师中心 微信公众号
AI工具推荐 视频效率加速

CentOS 7如何配置具体的系统日志按小时轮转存储的规则

陌静大大_2961

陌静大大_2961

发布时间:2026-08-10 08:55:03

|

529人浏览过

|

来源于php中文网

原创

logrotate 默认不支持 hourly,因 CentOS 7 版本(如 3.8.x)不识别该关键字,强行使用会报错或失效;必须通过 cron 每小时调用 logrotate -f 强制触发,并配合 dateext、dateformat -%Y%m%d%H、独立状态文件及 missingok/notifyempty 等配置模拟每小时轮转。

centos 7如何配置具体的系统日志按小时轮转存储的规则

logrotate 默认不支持按小时轮转,它原生只支持 daily、weekly、monthly 和基于大小的 size 触发。想实现“按小时轮转”,必须绕过默认周期逻辑,用 cron 配合 logrotate -f 手动触发,并在配置中禁用时间判断、启用 dateext + hourly 语义模拟。

为什么不能直接写 hourly?

CentOS 7 的 logrotate(版本通常为 3.8.x)根本不识别 hourly 这个关键字 —— 写了会报错:error: bad rotation count 或直接忽略该行。官方文档和源码中均无 hourly 实现。强行加只会让配置失效,日志不轮转。

用 dateext + cron 模拟 hourly 轮转

核心思路:放弃 daily 等内置周期,靠 cron 每小时跑一次强制轮转,再用 dateext 和 dateformat 控制文件名带小时戳,避免覆盖。

  • dateext 启用后,轮转文件后缀默认是 -YYYYMMDD;加上 dateformat -%Y%m%d%H 就能变成 -2026070820(当前小时)
  • 必须配 missingok 和 notifempty,否则 cron 每次都因“无变化”或“空文件”报错退出
  • rotate 值要设大些(比如 rotate 24),因为每小时一个文件,24 小时才删最老的
  • 不要用 compress 配合 hourly —— 每小时 gzip 一次 I/O 压力大,且小文件压缩率低;改用 nocompress 或后期用 logrotate 外部脚本批量压缩

示例配置(以 /var/log/messages 为例):

Linux Distros
Linux Distros

Linux发行版游乐场,适用于需要临时Linux沙箱、基于浏览器的Linux虚拟机、一次性终端环境、桌面Linux会话等场景

下载
/var/log/messages {
    nocompress
    dateext
    dateformat -%Y%m%d%H
    rotate 24
    missingok
    notifempty
    create 0640 root root
    sharedscripts
    postrotate
        # 可选:通知 rsyslog 重新打开文件(若用 systemd-journald 则无需)
        systemctl kill --signal=SIGUSR1 rsyslog.service >/dev/null 2>&1 || true
    endscript
}

配置 cron 每小时执行一次

logrotate 不会自己每小时跑,必须手动加定时任务:

  • 编辑 /etc/cron.hourly/logrotate-hourly(注意权限:需 chmod +x)
  • 内容写:#!/bin/bash\n/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status.hourly /etc/logrotate.d/messages-hourly
  • 把上面的配置存为 /etc/logrotate.d/messages-hourly,而非复用主配置(避免和 daily 冲突)
  • -s 指定独立的状态文件路径,防止和 daily 任务共用 /var/lib/logrotate/status 导致时间戳混乱

验证 cron 是否生效:ls -l /etc/cron.hourly/ 看文件是否存在且可执行;grep CRON /var/log/cron 查看最近一小时是否有执行记录。

容易踩的坑

实际部署时最常出问题的几个点:

  • 忘了 sharedscripts 却在 postrotate 里调服务重启 —— 导致每匹配一个日志文件就执行一次命令(比如 /var/log/messages 和 /var/log/secure 都匹配时,rsyslog 被杀两次)
  • dateformat 必须紧接在 dateext 下一行,且格式字符串必须用 % 开头(如 -%Y%m%d%H),写成 %Y-%m-%d %H 会失败
  • 没单独指定 -s 状态文件,导致 hourly 和 daily 任务互相干扰,出现“已轮转过”跳过或重复轮转
  • 用 copytruncate 替代 create —— 对 rsyslog 这类持续写入的服务,copytruncate 有极小概率丢日志(拷贝和清空之间存在窗口),create + postrotate 发信号更可靠

真正需要 hourly 轮转的场景(比如高频审计日志、调试期 trace 日志),务必确认磁盘 I/O 和 inode 数量能扛住每小时新建文件;长期运行前,先用 logrotate -f -v 手动试跑几次,检查生成文件名、权限、是否真调用了 postrotate。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

3389

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6321

2023.10.27

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

174

2026.05.29

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

188

2026.05.29

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

223

2026.05.29

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

60

2026.10.10

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

20

2026.10.10

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

20

2026.10.10

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

20

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn