首页 / 香港服务器 / 正文
CentOS日志压缩用啥服务器?一文搞懂Logrotate的骚操作!1

Time:2025年05月15日 Read:9 评论:0 作者:y21dr45

(:用生活场景引入)

CentOS日志压缩用啥服务器?一文搞懂Logrotate的骚操作!

各位运维老铁们,有没有遇到过这种“人间惨剧”——服务器硬盘突然爆满,一查发现是日志文件像野草一样疯长?这时候你可能会仰天长啸:“CentOS的日志到底该怎么压缩啊?!”别急,今天咱就用“把大象装冰箱”的步骤,拆解CentOS日志压缩背后的神器——Logrotate!(顺便吐槽下这名字,听起来像“旋转木马”,但人家干的可是正经的“瘦身”工作!)

一、Logrotate:CentOS的“日志减肥教练”

关键词答案先拍脸上:CentOS默认用 Logrotate 这个工具管理日志压缩,它就像个隐形管家,每天偷偷帮你整理、切割、压缩日志,防止它们吃光你的硬盘!

1. Logrotate的原理(举个栗子🌰)

想象你有个话痨朋友(比如Nginx),每天疯狂写日记(日志)。Logrotate的工作就是:

- 定时检查:每天凌晨4点(默认),掀开朋友的日记本看看有没有超重。

- 切割归档:如果日记超过100MB(可配置),就把旧日记改名为`nginx.log.1`,新日记继续写。

- 压缩瘦身:顺手把旧日记用gzip压成`nginx.log.1.gz`,体积直接腰斩!

- 定期清理:只保留最近7天的日记(默认),防止你家被纸堆淹没。

2. 配置文件在哪?

Logrotate的“减肥计划书”藏在两个地方:

- 全局配置:`/etc/logrotate.conf` (所有日志通用的规则)

- 服务专属配置:`/etc/logrotate.d/` 目录下(比如Nginx的配置在`/etc/logrotate.d/nginx`)

用命令偷看一眼Nginx的配置长啥样:

```bash

cat /etc/logrotate.d/nginx

```

输出大概是这样(翻译成人话):

```conf

/var/log/nginx/*.log {

监控这些日志文件

daily

每天切割一次

missingok

日志丢了也不哭

rotate 7

保留7份旧日志

compress

用gzip压缩旧日志

delaycompress

延迟一天再压缩(方便某些程序继续写)

notifempty

空日志不处理

create 0640 nginx adm

切割后新日志的权限设置

sharedscripts

执行下面的脚本

postrotate

切割完成后,让Nginx重新打开日志文件

[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`

endscript

}

二、手动给Logrotate“上发条”

虽然Logrotate会自动运行,但你想手动调教它也行:

强制对所有配置执行一次切割压缩

logrotate -vf /etc/logrotate.conf

只针对Nginx日志操作

logrotate -vf /etc/logrotate.d/nginx

参数说明:

- `-v`:输出详细过程(看它怎么“虐待”你的日志)。

- `-f`:强制操作(就算没到时间也干活)。

三、高级玩法:自定义“减肥方案”

如果默认配置不够骚,你可以自己改!比如给MySQL日志加个“超级瘦身套餐”:

案例:让MySQL日志每周切割+压缩+只留3份

编辑配置文件:

vim /etc/logrotate.d/mysql

写入以下内容:

/var/log/mysql/mysql.log {

weekly

每周一次(适合低频日志)

rotate 3

只留3份旧日志

compress

必须压缩!

delaycompress

延迟压缩

notifempty

空文件不处理

create 640 mysql mysql

权限设置

黑科技选项扩展包

- `size 100M`:超过100MB就切割(不按时间)。

- `dateext`:旧日志文件名带日期(如`mysql.log-20240501.gz`)。

- `maxage 30`:删除超过30天的旧日志。

四、常见翻车现场与抢救指南

翻车1:切割后服务崩了?

-原因:某些程序(如MySQL)需要通知它“换新日记本”。

-解决:在配置里加`postrotate`脚本,比如重启服务或发信号。

翻车2:磁盘还是爆满?

-检查项

1. `df -h`看看是不是其他文件占空间。

2. `ls -lh /var/log/*gz`确认旧日志是否被压缩。

3. `grep "error" /var/lib/logrotate.status`查Logrotate自己的错误记录。

五、(省流版)

1. CentOS用 Logrotate 管理日志压缩,配置文件在 `/etc/logrotate.d/`。

2. 核心操作是 切割+压缩+删除旧文件,还能自定义频率和保留份数。

3. 手动测试用 `logrotate -vf`,翻车了记得查权限和脚本!

最后友情提示——别让Logrotate对你的钱包下手太狠!(毕竟硬盘满了还得买新的不是?😂)

TAG:centos日志压缩是用的什么服务器,centos日志目录,linux压缩日志文件,centos开启日志服务,centos 日志,centos日志文件保存路径

标签:
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1