Loading

NGINX日志分割

nginx 日志分割 主要用到的命令是 /usr/local/nginx/sbin/nginx -s reopen
/usr/local/nginx 是我的nginx目录
利用上面命令我们可以写一个脚本每天定时执行,就可以做到切割日志
我简单用PHP写的脚本如下(仅供测试使用)test.php
我的PHP执行目录为 /usr/local/php/bin

#! /usr/local/php/bin/php -q
<?php
$nginxpath = '/usr/local/nginx/';
$logpath = $nginxpath . 'logs/';
$time =  date('Y-m-d', time());
$cutaccess = "mv {$logpath}access.log {$logpath}{$time}_access.log";
$cuterror = "mv {$logpath}access.log {$logpath}{$time}_error.log";
system($cutaccess);
system($cuterror);
system($nginxpath.'sbin/nginx -s reopen');

chmod 755 test.php
./test.php
如此便可以按天来切割nginx日志

shell脚本为

#!/bin/bash

#记得新建一个history目录来存放每天的日志
LOGS_PATH=/usr/local/nginx/logs/history
CUR_LOGS_PATH=/usr/local/nginx/logs
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${CUR_LOGS_PATH}/access.log ${LOGS_PATH}/${YESTERDAY}-access.log
mv ${CUR_LOGS_PATH}/error.log ${LOGS_PATH}/${YESTERDAY}-error.log

/usr/local/nginx/sbin/nginx -s reopen
posted @ 2020-09-27 20:48  天才大野狼  阅读(469)  评论(0)    收藏  举报