首页/系统/Linux 运维命令速查/定时任务日志的轮转配置
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条
定时任务与计划50 条

定时任务日志的轮转配置

任务日志不轮转会吃满磁盘:给 /var/log/app 配 logrotate(按天+压缩+保留 N 份),并让脚本无需处理切割信号。

Linux 运维命令速查系统更新于 2026-10-12
用途管理定时任务日志体积
工具logrotate + copytruncate
查看logrotate -d 干跑

logrotate 配置

logrotate 配置
# /etc/logrotate.d/app-jobs
/var/log/app/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    copytruncate
    create 0640 root adm
}

验证与强跑

验证与强跑
sudo logrotate -d /etc/logrotate.d/app-jobs   # 干跑看计划
sudo logrotate -vf /etc/logrotate.d/app-jobs  # 立即强跑一次
ls -lh /var/log/app/
任务脚本持续持有日志 fd 时用 copytruncate(不中断写入);支持重开日志的进程优先用 postrotate+kill -USR1。

易错点

  • copytruncate 有极小概率丢一行写入:高价值日志用 postrotate 信号方案
  • 新日志文件属主/权限没配 create 参数,轮转后任务写不进去

数据来源与参考

  • man 8 logrotate
  • man 5 logrotate.conf

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌