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 {} \;

 

posted @ 2018-12-21 10:55  Ray_chen  阅读(191)  评论(0编辑  收藏  举报