注:针对任何日志文件(rsyslog日志、Nginx访问或错误日志)
切割过程
人为的把日志文件切割的小一点。以切割httpd日志为例。
先自己切割旧日志文件:
```c
[root@server1 httpd]# mv /var/log/httpd/access_log /var/log/httpd/'date +%F'_access_log
```
再重启服务生成新的日志文件
```c
[root@server1 httpd]# systemctl restart httpd
```
最后删除一个月之前的文件
```c
[root@server1 httpd]# find /var/log/httpd/ -atime +30 -delete
```
logrotate(轮转,日志切割)
所处位置: /etc/cron.daily/logrotate
如果没有日志轮转,日志文件会越来越大
将丢弃系统中最旧的日志文件,以节省空间
logrotate本身不是系统守护进程,它是通过计划任务crond每天执行
[root@localhost ~]# cat /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status
/etc/logrotate.conf
# 日志轮转状态/var/lib/logrotate/logrotate.status
# 日志轮转规则按照/etc/logrotate.conf中来
为什么需要切割日志:
在企业中每天的日志文件都是要打包备份的,如果不做日志切割,任由日志文件累积,当日志文件很大的时候,vim打开时可能会卡死。
日志切割有利于排错,是哪天的问题就查哪天对应的日志,方便快捷。
rsyslog负责接受日志,logrotate负责切割日志,二者一般结合起来使用。