nginx 日志切割

方法一:备份

    USR1: 告知应用程序重载配置文件

[root@proxy ~]#  mv access.log access2.log
[root@proxy ~]# kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

方法二:脚本实现

#!/bin/bash

#时间,保存目录,源目录的变量
YESTERDAY=$(date +%Y-%m-%d)
SAVELOG_PATH='/data/apps/nginx/save_logs'
NGLOGS='/data/apps/nginx/logs'

#判断保存目录是否存在,不存在则创建
if [ ! -d ${SAVELOG_PATH} ]; then
  mkdir -p ${SAVELOG_PATH}
fi

#将日志以带时间格式的保存到目录里
mv ${NGLOGS}/basiapi.com.log ${SAVELOG_PATH}/access_${YESTERDAY}.log
mv ${NGLOGS}/error.log ${SAVELOG_PATH}/error_${YESTERDAY}.log

#通知nginx重新生成新的日志
kill -USR1 $(cat /data/apps/nginx/logs/nginx.pid)

#查找30天前的日志,并清理
find ${SAVELOG_PATH} -type f -mtime +30 -name "*.log" -exec rm -rf {} ;
原文地址:https://www.cnblogs.com/ray-mmss/p/10154526.html