⑴Nginx日志文件如何不定情清理,会变得越来越大,影响Nginx服务器的运行,下面小编就给大家介绍下Linux中清理Nginx日志的方法,一起来了解下吧。
⑵nginx日志文件需要手动分割,创建脚本文件clear_log.sh
⑶文件路径/usr/local/nginx/clear_log.sh
⑷vi clear_log.sh。输入如下内容
⑸#!/bin/bash
⑹cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d “yesterday” +“%Y%m%d”.log
⑺#先复制原来的错误日志文件,请根据自己实际的日志路径填写
⑻cat /dev/null 》 /usr/local/nginx/logs/error.log
⑼#清空错误日志文件
⑽cp/usr/local/nginx/logs/aess.log /var/log/nginx/aess/aess-$(date -d “yesterday” +“%Y%m%d”.log
⑾#先复制原来的正常访问日志
⑿cat /dev/null 》 /usr/local/nginx/logs/aess.log
⒀#清空原来的正常访问日志
⒁创建dellog.sh文件,路径/usr/local/nginx
⒂vi dellog.sh
⒃#!/bin/sh
⒄find /usr/nginx/logs/error -mtime + -type f -name /*.log | xargs rm -f
⒅find /usr/nginx/logs/aess -mtime + -type f -name /*.log | xargs rm -f
⒆#定期删除七天前的日志文件
⒇启动linux下的计划任务,将刚才创建好的两个shell脚本加入此计划
⒈crontab -e,输入如下内容
⒉ * * * /usr/nginx/clear_log.sh
⒊#每天点执行/usr/nginx/clear_log.sh
⒋ * * * /usr/nginx/dellog.sh
⒌#每天点执行 /usr/nginx/dellog.sh
⒍保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。
⒎逻辑详解:比如现在是月日点分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把月日的日志文件分别生成为aess_.log与error_.log,然后把原来的aess.log与error.log分别清空。dellog.sh则会自动判断该文件的创建时间,如果是十五天前的就会自动清除
⒏上面就是Linux清理Nginx日志的方法介绍了,因为Nginx日志没有自动清理的功能,一般采用切割日志的方法进行处理。