新闻动态
Linux 操作系统日志切割操作
发布日期:2025-02-05 03:25:37 点击次数:52

一、文档介绍

本文档描述 Linux 操作系统下几种常见日志切割场景的操作情况。

二、名词解释

logrotate 是一个 Linux 日志管理工具,用于自动分割、删除日志等功能,节省磁盘空间,避免磁盘空间过载问题。它基于 CRON 运行。

三、部署

Linux 操作系统默认自带 logrotate,若命令不存在,通过以下命令安装:

yum install logrotate -y

配置文件:

/etc/logrotate.conf/etc/logrotate.d/

默认情况下,logrotate 会使用 CRON 作为定时任务调度器进行日志轮转。可以编辑 /etc/cron.daily/logrotate 文件,修改定时任务的执行时间和其他设置。

四、常用命令

# 检查指定的日志轮转配置文件

logrotate -d /etc/logrotate.d/LogExample

# 手动执行指定的日志轮转

logrotate -f /etc/logrotate.d/LogExample

五、参数说明

六、示例

(一) tomcat

配置文件:/etc/logrotate.d/tomcat

/path/to/tomcat/logs/catalina.out {

daily

create 600 myuser myuser

rotate 30

missingok

notifempty

compress

copytruncate

dateext

}

(二) mysql

配置文件:/etc/logrotate.d/mysql

/path/to/mysql/logs/*.log {

daily

rotate 180

missingok

create 777 mysql mysql

notifempty

compress

dateext

postrotate

# just if mysqld is really running

if test -x /mysql/bin/mysqladmin && \

/mysql/bin/mysqladmin -uroot -p密码 ping &>/dev/null

then

/mysql/bin/mysqladmin -uroot -p密码 flush-logs

fi

endscript

}

(三) nginx

配置文件:/etc/logrotate.d/nginx

/path/to/nginx/logs/*.log {

daily

missingok

rotate 90

compress

delaycompress

notifempty

create 640 nginx nginx

sharedscripts

postrotate

if [ -f /path/to/nginx/logs/nginx.pid ]; then

kill -USR1 `cat /path/to/nginx/logsnginx.pid`

fi

endscript

}

友情链接: