centos 创建 logrotate 进行日志分割

这里就不赘述logrotate了,具体是什么,有什么作用,自行百度。

我们先说下,如何进行nginx的日志切割:

比如:日志目录为:/usr/local/nginx/logs/access.log
按照如下进行操作:(具体每个指令是什么意思,请自行百度,这里不赘述)

/usr/local/nginx/logs/access.log {
    su root root 
    weekly
    rotate 5
    compress
    dateext
    sharedscripts
    postrotate
        [ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
    endscript
}

我们再进行Mysql的日志切割:

Mysql日志切割
比如:日志目录为:/usr/local/mysql/var/localhost-slow.log
按照如下进行操作:

/usr/local/mysql/var/localhost-slow.log {
        # create 600 mysql mysql
        notifempty
        daily
        rotate 5
        missingok
        compress
                dateext
    postrotate
        # just if mysqld is really running
        if test -x /usr/local/mysql/bin/mysqladmin && 
           /usr/local/mysql/bin/mysqladmin ping &>/dev/null
        then
           /usr/local/mysql/bin/mysqladmin flush-logs
        fi
    endscript
}

使用方法: /usr/local/logrotate -f nginx_access   或者 logrotate -f nginx_access

               /usr/local/logrotate -f mysql_slow   或者 logrotate -f mysql_slow

参数: -f 可以加可以不加,加上-f是强制的意思。

以上为切割nginx与mysql日志方法,可自己修改参数。

原文地址:https://www.cnblogs.com/willamwang/p/10678559.html