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

Linux配置每天凌晨两点准时切割日志

浅萱同学_9289

浅萱同学_9289

发布时间:2026-09-17 13:47:47

|

435人浏览过

|

来源于php中文网

原创

<p>logrotate默认由anacron或systemd timer调度,执行时间不固定(如02:17、03:05),无法保证凌晨两点准时执行;必须改用root用户的crontab添加“0 2 *”定时任务,并禁用/etc/cron.daily/logrotate,同时配置中仅用daily而非size或hourly。</p>

linux配置每天凌晨两点准时切割日志

logrotate 默认由 /etc/cron.daily/logrotate 触发,但那是系统级 daily 任务,执行时间由发行版 cron 的 anacron 或 systemd timer 控制,**不保证固定在凌晨两点**。要精确到每天 2:00 执行日志切割,必须绕过默认机制,改用自定义 cron 条目。

为什么不能依赖 /etc/cron.daily/logrotate

Debian/Ubuntu 等系统中,/etc/cron.daily/logrotate 实际由 anacron 调度,可能延迟数小时;RHEL/CentOS 8+ 使用 systemd-timers(logrotate.timer),默认触发时间是随机偏移的,防止多机同时冲击服务器。这意味着即使配置了 daily,真实执行时间可能是 02:17、03:05 或更晚——无法满足“凌晨两点准时”这个硬性要求。

手动配置 crontab 强制 2:00 执行 logrotate

直接覆盖默认调度,用 root 用户添加精确定时任务:

  • 运行 sudo crontab -e
  • 添加一行:0 2 * * * /usr/sbin/logrotate /etc/logrotate.conf > /dev/null 2>&1
  • 确保原 /etc/cron.daily/logrotate 不再生效:重命名或注释掉其内容(如改名成 /etc/cron.daily/logrotate.disabled)

注意:/usr/sbin/logrotate 路径需确认(可用 which logrotate 查),部分系统是 /usr/bin/logrotate;> /dev/null 2>&1 避免邮件堆积,如有告警需求可替换为邮件地址。

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载

logrotate 配置里必须用 daily,不能用 size 或 hourly

即使 cron 是 2:00 触发,logrotate 内部仍需靠规则判断是否该轮转。若配置中写的是 size 100M,它只检查文件大小,忽略时间;而 hourly 会强制每小时检查一次——这与你的“每天一次”目标冲突,且可能因 cron 只跑一次导致漏切。

  • daily 是唯一与“每天凌晨两点”语义对齐的选项
  • 不要混用 hourly 或 weekly,否则 logrotate 状态文件(/var/lib/logrotate/status)记录的时间戳会错乱,导致某天跳切、某天不切
  • 如果服务日志增长极快,又想兼顾大小和时间,可用 daily + maxsize 100M(注意不是 size):表示“每天至少切一次,但如果当天已超 100M 就提前切”

测试与验证要点

改完 cron 和配置后,别等明天——立刻验证是否真能按预期工作:

  • 手动模拟时间:临时把系统时间设为前一天晚上 23:59,等一分钟看是否触发(date -s "2026-09-07 23:59:00",切记之后 hwclock -w 同步硬件时钟)
  • 用调试模式验证配置语法:logrotate -d /etc/logrotate.d/nginx,确认无 error: 行
  • 检查状态文件更新:grep nginx /var/lib/logrotate/status,应看到类似 "2026-09-08-02:00:01" 的时间戳(注意:logrotate 写入状态的时间 ≈ cron 执行时刻,非配置里的 daily 字面含义)

最易被忽略的是状态文件的时间精度——logrotate 不记录秒级时间,只存到分钟;如果你在 02:00:03 触发,状态里显示的仍是 02:00:01,但这不影响逻辑。真正要盯住的,是 cron 是否真的在 02:00:00±30s 内启动了进程(ps aux | grep logrotate 配合 date 观察)。

热门AI工具

更多
音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

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

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

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

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

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

AionClaw
AionClaw Hot

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

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3650

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3173

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2233

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5330

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5002

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2993

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2505

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2719

2023.07.25

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

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

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