Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Linux如何进行日志切割_Linux日志切割的实用配置方法_创想鸟

Linux如何进行日志切割_Linux日志切割的实用配置方法

logrotate是Linux日志管理核心%ignore_a_1%,通过配置文件定义轮转规则,支持按时间或大小切割日志,自动执行压缩、归档与删除,结合cron定期运行,确保日志高效管理且不占用过多磁盘空间。

linux如何进行日志切割_linux日志切割的实用配置方法

Linux系统中日志文件会随着时间不断增长,过大的日志不仅占用磁盘空间,还会影响排查问题的效率。因此,合理地进行日志切割非常必要。最常用且高效的方法是使用 logrotate 工具,它能自动按时间或大小对日志进行轮转、压缩、归档和删除旧日志。

1. logrotate 的基本工作原理

logrotate 是 Linux 发行版中预装的日志管理工具,通常每天由 cron 自动调用执行。它读取配置文件,判断哪些日志需要处理,并根据规则执行以下操作:

将当前日志重命名(如 access.log → access.log.1) 创建新的空日志文件供服务继续写入 压缩旧日志以节省空间 删除超过保留期限的旧日志

所有行为都通过配置文件定义,灵活且无需手动干预。

2. 常见配置文件位置与结构

logrotate 的主配置文件通常是 /etc/logrotate.conf,而具体服务的日志规则放在 /etc/logrotate.d/ 目录下。例如 Nginx、Apache、MySQL 等都会在此目录添加自己的配置文件。

一个典型的日志切割配置如下:

/var/log/nginx/*.log {    daily    missingok    rotate 7    compress    delaycompress    notifempty    create 0640 www-data adm    sharedscripts    postrotate        systemctl reload nginx > /dev/null 2>&1 || true    endscript}

各参数说明:

daily:每天轮转一次 missingok:日志不存在时不报错 rotate 7:保留最近 7 个备份 compress:启用压缩(通常为 gzip) delaycompress:延迟压缩,最新一份不立即压缩 notifempty:日志为空时不轮转 create 0640 user group:轮转后创建新日志并设置权限和所属 sharedscripts:postrotate 脚本只在所有日志处理完后运行一次 postrotate…endscript:轮转后执行的命令,常用于通知服务重新打开日志文件

3. 按大小切割日志

除了按天切割,还可以根据日志大小触发轮转。适用于访问频繁、日志增长快的服务。

示例配置:

/var/log/app/myapp.log {    size 100M    rotate 5    compress    missingok    notifempty    create 644 appuser appgroup    postrotate        kill -USR1 $(cat /var/run/myapp.pid)    endscript}

当日志达到 100MB 时就会触发轮转,最多保留 5 份备份。

行者AI 行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

行者AI 100 查看详情 行者AI

4. 手动测试与调试

在修改配置后,建议先手动测试是否生效:

查看 logrotate 如何处理某个配置:

logrotate -d /etc/logrotate.d/myapp

-d 表示 debug 模式,不会真正执行,仅显示过程。

强制执行一次轮转(用于验证):

logrotate -f /etc/logrotate.d/myapp

-f 表示强制运行,即使未到触发条件。

检查系统日志确认是否有错误:

tail /var/log/syslog | grep logrotate

或查看 journal 日志:

journalctl -u logrotate

基本上就这些。只要配置好 logrotate,Linux 系统的日志就能长期稳定管理,避免磁盘被撑满。关键是根据实际需求选择时间或大小触发,并确保服务能正确重载日志句柄。

以上就是Linux如何进行日志切割_Linux日志切割的实用配置方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/420499.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
i++操作是原子操作吗?
上一篇 2025年11月7日 09:09:19
Python团队还没解散完,谷歌又对Flutter、Dart动手了
下一篇 2025年11月7日 09:09:23

相关推荐

发表回复

登录后才能评论
关注微信