nignx日志定时清理、Windows 清理nignx日志、linux 清理nignx日志

2024-01-30 10:28

本文主要是介绍nignx日志定时清理、Windows 清理nignx日志、linux 清理nignx日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为项目日志老占磁盘空间,记录一下优化配置文件:

针对linux清理:

1.创建一个名为 cleanup_nginx_logs.sh 的脚本文件

nano cleanup_nginx_logs.sh

2.在打开的文本编辑器中,将以下内容复制并粘贴到文件中:

#!/bin/bash# 设置要清理的日志目录和文件名
LOG_DIR="/var/log/nginx"
LOG_FILES=("access.log" "error.log")# 清理日志文件
for file in "${LOG_FILES[@]}"
dofind "$LOG_DIR" -name "$file" -type f -mtime +30 -exec rm {} \;touch "$LOG_DIR/$file"
done

3.保存文件并退出编辑器

4.输入以下命令修改脚本文件的权限,使其可执行:

chmod +x cleanup_nginx_logs.sh

5.使用 cron 来定期运行该脚本。输入以下命令打开 crontab 编辑器:

crontab -e

6.在打开的文本编辑器中,添加以下一行到文件末尾,表示每天凌晨 1 点清理 NGINX 日志并保留30天内的日志:

0 1 * * * /path/to/cleanup_nginx_logs.sh

7.保存文件并退出编辑器,坐等第二天查看就可以了

针对Windows清理:创建一个.bat文件,复制下面内容,更换NGINX安装目录即可,参数随自己需求调整

@echo off
rem 取1天之前的日期
echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
echo %y%-%m%-%d%rem 查询Nginx进程
tasklist /fi "imagename eq nginx.exe"rem 设置NGINX安装盘符 
set NGINX_DRIVER=D:rem 设置NGINX安装路径
set NGINX_PATH="%NGINX_DRIVER%\wanmagroup\ide\nginx-1.20.2"rem 设置NGINX日志目录
set LOG_PATH=%NGINX_PATH%\logsrem 设置保留日志天数
set save_days=10rem 进入NGINX盘符
%NGINX_DRIVER%rem 进入日志路径
cd %LOG_PATH%rem 移动日志文件
move %LOG_PATH%\host.access.log %LOG_PATH%\host.access_%y%-%m%-%d%.log
move %LOG_PATH%\error.log %LOG_PATH%\error_%y%-%m%-%d%.logrem 进入NGINX安装路径
cd %NGINX_PATH%rem 重新打开Nginx
nginx -s reopenrem 删除30天之前的文件 "%LOG_PATH%" 
forfiles /p "%LOG_PATH%" /s /m *%y%-%m%-%d%.log /d -%save_days% /c "cmd /c del @path"
echo on

创建完成双击运行即可

如果文章帮助了你解决问题,帮点赞一下,谢谢阅读!

这篇关于nignx日志定时清理、Windows 清理nignx日志、linux 清理nignx日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659943

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将