Akemi

logrotate服务

2024/08/13

logrotate 是 Linux 系统中用于管理日志文件的重要工具,它通过自动化地轮转、压缩、删除和通知等机制,帮助系统管理员有效地管理日志文件,确保系统的稳定性和可维护性。

一些脚本可以使用自定义输出重定向的方式,对日志做切割

而logrotate适合针对某个固定的输出日志进行切割,比如access.log
如果不去动它就会越来越大,而且也需要通过时间来对其进行筛选

logrotate.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#全局的配置文件,如果局部配置文件中没有指定,就会按全局的来
weekly # 每周执行一次
rotate 4 # 保留4个备份文件
create 0640 root www # 执行时创建新日志文件,权限为0640,属主root,属组www
minsize 10M # 轮转时,日志大小超过10M才进行轮转
include /etc/logrotate.d # 子配置文件
errors "/var/log/logrotate_error" # 错误日志位置
missingok # 忽略找不到的日志文件
compress # 使用gzip压缩
mail someone@example.com #轮转完成后发送给邮箱

#局部配置文件
这些文件一般会放在子配置目录下
/etc/logrotate.d/
├── bootlog
├── chrony
├── firewalld
├── syslog
├── wpa_supplicant
└── yum

/var/log/firewalld {
weekly
missingok
rotate 4
copytruncate # 无缝轮转(清空源文件内容而不是删除)
minsize 1M
}

写一个针对access.log的局部配置
/usr/local/nginx/log/access.log {
dayly
missingok
rotate 7
create 0640 root root
}

CATALOG