Linux定期清理nginx 日志

为了在Linux系统上定期清理Nginx日志,可以使用cron定时任务来自动执行日志清理脚本。以下是详细步骤:

1. 创建日志清理脚本

首先,创建一个脚本,用于归档和清理旧的Nginx日志。例如,将其命名为

/usr/local/bin/cleanup_nginx_logs.sh

#!/bin/bash# Directory where Nginx logs are stored
LOG_DIR="/var/log/nginx"
# Number of days to keep logs
DAYS_TO_KEEP=30
# Archive directory
ARCHIVE_DIR="/var/log/nginx/archive"# Create archive directory if it doesn't exist
mkdir -p $ARCHIVE_DIR# Find and move old log files to the archive directory
find $LOG_DIR -type f -name '*.log' -mtime +$DAYS_TO_KEEP -exec mv {} $ARCHIVE_DIR \;# Compress archived logs
find $ARCHIVE_DIR -type f -name '*.log' -exec gzip {} \;# Remove compressed logs older than DAYS_TO_KEEP
find $ARCHIVE_DIR -type f -name '*.gz' -mtime +$DAYS_TO_KEEP -exec rm {} \;# Reload Nginx to reopen log files
systemctl reload nginx

2. 赋予脚本执行权限

确保脚本是可执行的:

sudo chmod +x /usr/local/bin/cleanup_nginx_logs.sh

3. 创建Cron定时任务

编辑crontab文件,设置定时任务。例如,每天凌晨2点执行日志清理脚本:

sudo crontab -e

在crontab文件中添加以下行:

0 2 * * * /usr/local/bin/cleanup_nginx_logs.sh > /dev/null 2>&1

这行代码的含义是每天凌晨2点运行cleanup_nginx_logs.sh脚本,并将输出重定向到/dev/null(即不保存输出)。

4. 检查Nginx日志轮转配置(可选)

如果你更倾向于使用logrotate来管理Nginx日志,可以编辑或创建一个Nginx logrotate配置文件。

编辑或创建文件/etc/logrotate.d/nginx

sudo nano /etc/logrotate.d/nginx

添加以下配置:

/var/log/nginx/*.log {dailymissingokrotate 30compressdelaycompressnotifemptycreate 0640 www-data admsharedscriptspostrotate[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`endscript
}

这段配置会每天轮转Nginx日志,保留30天的日志,压缩旧日志,并在日志轮转后通知Nginx重新打开日志文件。

总结

通过上述步骤,你可以在Linux系统上定期清理Nginx日志,确保日志文件不会占用过多磁盘空间。你可以选择手动编写脚本并使用cron定时任务,或者使用logrotate进行日志轮转和清理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正确解决java.lang.NoSuchMethodException异常的有效解决方法

正确解决java.lang.NoSuchMethodException异常的有效解决方法 文章目录 报错问题报错原因解决方法 报错问题 java.lang.NoSuchMethodException异常 报错原因 java.lang.NoSuchMethodException 异常在 Java 中表示尝试通过反射(java.lang.reflect 包)调用…

【Sql Server】随机查询一条表记录,并重重温回顾下存储过程的封装和使用

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言随机查询语…

小程序大能量:盲盒平台搭建与营销策略

一、引言 在移动互联网的浪潮下,小程序以其轻量级、即用即走的特点,成为了商家与消费者沟通的新桥梁。盲盒经济作为近年来兴起的消费趋势,结合小程序平台,不仅为用户带来了全新的购物体验,也为商家带来了更多的商业机…

k8s安装metrics组件

安装完dashboard之后,可以看到k8s所有组件,但各组件cpu内存使用量没有值,还需要安装metrics组件才行,安装完metric就可以看到各node以及pod的cpu/mem实时使用量了 下面是如何安装metrics 下载Metrics Server 配置文件 wget https://github.c…

leetCode.84. 柱状图中最大的矩形

leetCode.84. 柱状图中最大的矩形 题目思路 代码 class Solution { public:int largestRectangleArea( vector<int>& h ) {int n h.size();vector<int> left( n ), right( n );stack<int> st;// 求每个矩形的第一个小于左边界的矩形 - 用单调栈for ( …

颠仆流离学二叉树1 (Java版)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)

数码论坛系统 目录 基于SprinBootvue的数码论坛系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2 管理员功能模块 3 用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&am…

盲人心理辅导课程:心灵的引路人

在这个快节奏的社会中&#xff0c;技术的每一次跃进都在悄然改变着人们的生活方式&#xff0c;尤其对于盲人群体&#xff0c;一款名为“蝙蝠避障”的辅助软件成为了他们探索世界的得力助手。通过实时避障与拍照识别功能&#xff0c;“蝙蝠避障”不仅保障了盲人朋友的日常安全&a…

学习java第八十三天

Spring中Bean的作用域&#xff1f; 1.singleton&#xff08;单例&#xff09;&#xff08;默认的&#xff09;&#xff1a;在整个应用中只创建一个Bean实例&#xff0c;并在容器启动时就创建&#xff0c;以后每次请求都返回同一个实例。 2.prototype&#xff08;原型&#xf…

java配置文件解析yml/xml/properties文件

XML 以mybatis.xml:获取所有Environment中的数据库并连接session为例 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder; impo…

【Docker|漏洞】Docker api未授权导致rce

一、漏洞描述 扫描出http://ip地址:4243漏洞&#xff0c;该漏洞可通过Docker pai未授权访问可以直接执行命令&#xff0c;获取服务器权限。 二、解决方案 禁用Docker api远程访问功能&#xff0c;或者通过安全授权等方式限制其使用权限。升级duoker至最新版本。 三、漏洞排查…

一款220V降12V恒压芯片电路原理图WT5114

一款220V降12V恒压芯片电路原理图WT5114&#xff0c;电路图简示如下&#xff1a; 一款220V降12V恒压芯片线路图WT5114 WT5114是一款高性能、高精度、低成本的PWM电源开关&#xff0c;适用于非隔离降压和反激式应用。它集成了专用电流模式PWM控制器&#xff08;采用SOP8封装的高…

2.8万字总结:金融核心系统数据库升级路径与场景实践

OceanBase CEO 杨冰 谈及数字化转型&#xff0c;如果说过去还只是头部金融机构带动效应下的“选择题”。那么现在&#xff0c;我相信数字化转型已经成为不论大、中、小型金融机构的“必答题”。 本文为OceanBase最新发布的《万字总结&#xff1a;金融核心系统数据库升级路径…

ubuntu安全加固

知识背景&#xff1a; 项目背景&#xff1a; 常用命令&#xff1a; useradd: adduser: getent passwd: getent group: id username: adduser newname sudo: 修改shell为/bin/bash 新用户默认为/bin/sh&#xff0c;可以通过echo $SHELL查询&#xff0c;默认不能使用TAB…

js处理服务器响应Blob对象格式文件处理

js验证http请求返回数据data是否为blob格式&#xff1a; // 验证是否为blob格式 export async function blobValidate(data) {try {const text await data.text();JSON.parse(text);return false;} catch (error) {return true;} }使用场景&#xff1a; import { saveAs } f…

QT加载CAD文件(二)LibreCAD源码编译

一、LibreCAD LibreCAD是一个开源软件&#xff0c;不用破解激活&#xff0c;可以打开编辑DXF格式的文档&#xff0c;软件大小只有二十多M&#xff0c;对于一些比较简单的图纸还是可以胜任的。本文主要讲该软件源码编译。如果了解软件的基本使用可以参考https://blog.csdn.net/…

Vulnhub靶机 whowantsobeking :1 打靶 渗透详细过程(萌新)

Vulnhub靶机搭建配置 先搭建vulnhub靶机&#xff1a;https://www.vulnhub.com/entry/who-wants-to-be-king-1,610/ 下载镜像之后whowantsobeking.ova后&#xff0c;用VMware Workstation Pro打开依次点击文件-打开&#xff0c;选择我们刚才下载的ova文件打开&#xff0c;修改…

【小米手环7】表盘制作指南

2024年了还有人用小米手环7么&#xff1f; 目录 表盘.bin文件情况介绍表盘文件修改/制作教程1、表盘.bin文件组成介绍2、表盘.bin文件获取3、制作表盘的必备工具4、表盘.bin文件修改step 1 模拟器设置step 2 修改app.jsonstep 3 修改index.jsstep 4 更新.bin文件 参考文献 表盘…

全网首发!精选32个最新计算机毕设实战项目(附源码),拿走就用!

Hi 大家好&#xff0c;马上毕业季又要开始了&#xff0c;陆陆续续又要准备毕业设计了&#xff0c;有些学生轻而易举就搞定了&#xff0c;有些学生压根没有思路怎么做&#xff0c;可能是因为技术问题&#xff0c;也可能是因为经验问题。 计算机毕业相关的设计最近几年类型比较多…

新修订的《中华人民共和国保守国家秘密法》新增和修改的内容不包括( )

新修订的《中华人民共和国保守国家秘密法》新增和修改的内容不包括&#xff08; &#xff09; 完整答案查看 A.旗帜鲜明将党的领导写入法律B.加快提升保密科技创新能力 C.把保密宣传教育摆到重要位置 D.细化商业秘密保密管理 新修订的《中华人民共和国保守国家秘密法》明确涉及…