Nginx定时切割日志
Nginx是HTTP和反向代理服务器,邮件代理服务器和通用TCP/UDP代理服务器。当长时间运行后,nginx的运行日志体积会越来越大。除了占用大量磁盘空间以外,也不利于查找日志。
所以使用如下方法将Nginx运行日志按照日期分割保存:
cd /usr/timeworktool/
目录,若无请新建mkdir -p /usr/timeworktool
vim time_nginx_movelog.sh
,添加如下内容
#!/bin/bash
# 定时切割NGINX日志 需配置日志路径和pid
# nginx日志路径
NGINX_LOG_PATH=/var/log/nginx
# pid
NGINX_PID=$(cat /run/nginx.pid)
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
cd $NGINX_LOG_PATH
# 遍历.log结尾的文件 如果文件不为空且无日期则转储成昨天日期结尾的日志
for file in ${NGINX_LOG_PATH}/*
do
if [[ -s $file ]] && ! [[ $file =~ [0-9]{8,} ]] ; then mv $file ${file%.*}${YESTERDAY}; fi
done
# nginx重载日志文件
kill -USR1 $NGINX_PID
crontab -e
编辑定时器任务,添加:
0 3 * * * /bin/bash /usr/timeworktool/time_nginx_movelog.sh
crontab -l
查看当前定时器任务