进入nginx logs目录
方式一:
- 复制日志文件
mv access.log bak.log #复制access.log
- 产生新的日志文件
../sbin/nginx -s reopen #执行后会创建一个新的access.log
方式二使用定时任务切割日志
- 在logs目录下创建 ratate.sh文件 写入以下内容
vim ratate.sh#创建脚本文件,写入脚本
# 目标日志目录
CUR_LOGS_PATH=/usr/local/nginx/logs
# 历史日志目录(自己创建的目录)
LOGS_PATH=/usr/local/nginx/logs/history
#获取时间
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${CUR_LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${CUR_LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
##向Nginx主进程发送USR1信号。USR1信号是重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
- 给ratate.sh添加执行权限
#给文件设置可执行权限
chmod 751 ratate.sh
- 检测脚本是否正常
./ratate.sh#检测脚本是否正常
- 配置定时任务:
修改系统用户配置文件
root用户在/var/spool/cron/root 目录下
普通用户在:/var/spool/cron/用户名 目录下
vim /var/spool/cron/root #配置定时任务
#写入: 15 2 * * * /usr/local/nginx/logs/ratate.sh
# nginx日志切割定时任务
- 查看定时任务:
crontab -l#查看定时任务
网友评论