发布于2026-08-06 阅读(0)
扫一扫,手机访问
首先,确认一下系统里有没有`logrotate`。大多数CentOS发行版其实是预装了的,但以防万一,可以用下面这条命令来确认或安装:
```bash
sudo yum install logrotate
```
接下来,为`logrotate`创建一个专门针对Ja va日志的配置文件。想象一下,你可以在`/etc/logrotate.d/`目录下新建一个文件,比如就叫`ja va`。用`vi`或`nano`打开它:
```bash
sudo vi /etc/logrotate.d/ja va
```
然后,在这个文件里写入核心的配置规则。下面是一个典型的配置模板,几乎可以覆盖大多数场景:
```
/path/to/your/ja va/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
}
```
这里每一行配置都有其特定含义:
- `daily`:表示每天进行一次日志分割。当然,你也可以根据业务需求改为`weekly`或`monthly`。
- `rotate 7`:保留最近7天的日志文件,超过7天的旧日志会被自动删除。
- `compress`:对已经分割出来的旧日志文件进行压缩,通常压缩成`*.gz`格式,能大幅节省磁盘空间。
- `missingok`:如果日志文件不存在,`logrotate`不会报错,而是直接跳过,避免干扰。
- `notifempty`:如果日志文件是空的,就不进行分割,避免生成无意义的空文件。
- `create 640 root adm`:分割完成后,立刻创建一个新的空日志文件,并设置权限为640,属主为root,属组为adm。这样新的日志就能继续无缝写入。
保存并退出配置文件。
接下来,需要验证一下这个配置文件是否写对了。可以手动强制运行`logrotate`进行一次测试:
```bash
sudo logrotate -f /etc/logrotate.d/ja va
```
如果命令行没有报错,说明配置语法正确,可以正常使用。
最后一步,是确保`logrotate`能定时自动执行。其实,`logrotate`通常作为系统cron任务运行,每天自动执行一次。你可以检查一下`/etc/cron.daily/logrotate`这个文件,它的内容一般会包含类似这样的脚本:
```bash
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
```
这个脚本每天会自动调用`logrotate`主配置文件,而主配置文件又会引用`/etc/logrotate.d/`目录下的所有子配置文件,包括你刚刚创建的`ja va`文件。所以,配置好之后,基本就不用再操心了,它会像钟表一样准时工作。
当然,如果你需要手动立即触发一次分割,随时可以运行刚才那条`-f`参数的命令。
至此,`logrotate`就已经配置完毕,可以自动替你管理Ja va日志文件了。从每天的日志轮转到旧文件的自动清理,都不需要人工干预,省心又稳定。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8