方法一:备份
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 {} ;