linux服务器自动切割并清理日志

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

需求

由于nginx的日志会不停地增大,所以需要我们自己去切割日志,方便管理,需要达到以下的效果:

  1. 按日期自动切割日志,最小单位是天。
  2. 当日志总量超过一定量时,自动直接清理日志,限定总量不能超过1000MB。
  3. 写入crontab定时任务里。

分析

  1. nginx日志目录下分别有access.log和error.log,按照日期自动切割日志则需要将每天的日志以”yyyymmdd_access/error.log”的格式保存下来,用mv重命名每一天的日志文件即可。
  2. 清理日志就简单了,只需要判断这个文件夹下的大小,然后将一定日期之前的日志文件清理掉就ok了。
  3. crontab任务也比较简单,详情可以看这里
  4. 问题的关键在于,用mv重命名完昨天的日志文件后,nginx还是会向这个重命名后的文件(如access_20160409.log)写入日志,我们的目的是需要使nginx重新生成一个新的日志文件(access.log)并写入。
  5. As we all know,linux系统下一切都是文件,所以每一个进程都有其文件描述符,而nginx进程将其自己的文件描述符写入了nginx.pid中,我们需要告诉nginx,让其重新打开一个新的日志文件(日志文件的配置详情可看这里,简单说就是让日志记录什么内容。)于是我们需要这条指令:

    kill -USR1 `cat ${pid_path}`

    这条指令的意思是:首先cat到nginx的pid,是一个整数,然后将信号USR1发送给这个进程,nginx进程收到这个信号后,会根据配置重新打开一

linux下的日志切割 linux下的日志会定期进行滚动增加,可以在线对正在进行回滚的日志进行指定大小的切割。(动态) 当日志达到某个特定的大小,将日志分类,之前的日志保留一个备份,再产生的日志创建一个同名的文件保存新的日志 阅读详情

相关推荐

使用Linux的logrotate工具切割日志:Tomcat、NGINX(journal文件清理

Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。实际运行时,Logrotate会调用配置文件/etc/logrotate.conf。可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖Logrotate的缺省值。

专注于计算机研发知识和资讯分享 804

linux自动压缩日志脚本按日期,Linux 上使用 Linux Shell 脚本自动化按天分割、压缩(延迟压缩)和定期清理日志文件...

2019-02-26 10:10:54最近 Hgh这边有一个需求,需要对Linux服务器上的日志进行相应地自动化处理:1) 定期清理:当分区的可使用空间超过一个预先设定好的阈值(如当分区的可使用空间超过 80 % 时)就自动清 理日志清理周期是一天一次;2) 按天分割:有的日志文件如 access.log 会不断地增长,现在需要对其进行分割操作(假设今天的日期是 2019 年 1 月 25 日,...

weixin_32171133的博客 632

xhs私信协议分析

之前分析过xhs的shield算法,今天再聊聊xhs的私信,文章仅供学习参考研究交流,如有侵权请联系删帖。经过抓包分析发现私信接口不是走的http协议,而是socket协议。而要获取socket包则需要使用wireshark软件1、protobuf的包体中的序号7,多次验证后发现文字信息的需要需要固定成12、protobuf的包体中的序号12,多次验证后发现文字信息的需要需要固定成1后续有时间的话,再研究一下视频和图片格式的私信协议,这次就分析到这里吧。

佛系更新... 3416

linux怎么删除错误日志文件,linux下清除error.log、access.log限制Apache日志文件大小的方法...

linux下清除error.log、access.log限制Apache日志文件大小的方法(2014-07-21 14:09:48)linux下清除error.log、access.log限制Apache日志文件大小的方法有个客户反映vps网站打不开,登录系统检查下,客户是win2003系统,发现放置网站文件的D盘已被占满,可用空间为0KB,进去发现客户Apache服务器的错误日志error....

weixin_39787397的博客 901

linux kill 命令 以及 USR1 信号 解释

下面是一个nginx日志文件切割的计划任务 [root@proxy ~]# vim /usr/local/nginx/logbak.sh #!/bin/bash date=`date +%Y%m%d` logpath=/usr/local/nginx/logs if [ -f $logpath/nginx.pid ];then mv $logpath/access.log $logpath...

刘大可1017的博客 9884

nginx】access.log按照时间分割

access.log 大的网络访问下没有几天文件就变得非常大了,一直累计也不是办法啊。

一个写了10年bug的程序员日常笔记。 1414

THS日志切割

上面这配置文件使用关键字 map 来定义一个变量 logdate如果 nginx 内置变量 logdate如果 nginx 内置变量 time_iso8601 通过正则能匹配到则 获取到 $logdate = ymd 否则 ymd 否则 logdate = 'date-not-found'map 指令是由 ngx_http_map_module 模块提供的,默认情况下安装 nginx 都会安装该模块。当访问触发以后,如果还没有生成日期格式的日志文件,则检查下 THS 运行用户及目录属主属组!

weixin_59691555的博客 450

linux自动清理管理日志文件 logrotate

linux 日志管理logrotate基础使用

ziqibit的博客 1105

【运维工具】logrotate 日志管理神器

为什么80%的码农都做不了架构师?>>> ...

weixin_34348174的博客 185

Kavita 系统日志轮转配置:避免磁盘空间耗尽的方法

在Kavita服务器长期运行过程中,未配置日志轮转可能导致日志文件持续增长,最终耗尽磁盘空间引发服务异常。本文将详细介绍如何配置日志轮转策略,结合Kavita的日志系统设计和Linux系统工具,实现日志文件的自动切割、压缩和清理。 ## 日志系统架构分析 Kavita采用Serilog作为日志框架,基础配置位于[API/Program.cs](https://link.gitcode.com...

gitblog_00419的博客 591

Shell自动化运维脚本实战

本文为运维工程师提供实用的Shell脚本自动化方案,解决日常重复性工作痛点。文章聚焦5大核心场景:批量操作、定时任务、监控告警、自动化部署和故障自愈,提供可直接落地的4个实战脚本:服务器资源监控告警、MySQL定时备份、多服务器批量执行命令和Nginx日志切割。每个脚本包含详细注释和配置说明,附有避坑指南。通过模块化、配置化管理等进阶方向,可逐步实现企业级自动化。Shell脚本的价值在于替代人工操作,提升运维效率,让工程师专注更高价值工作。

经验分享 422

CLIP-GmP-ViT-L-14部署实战:systemd服务管理+日志轮转+健康检查配置

本文介绍了如何在星图GPU平台上自动化部署CLIP-GmP-ViT-L-14镜像,配置生产级服务。通过systemd服务管理、日志轮转和健康检查,确保该AI服务稳定运行,可应用于图片与文本的匹配、检索等场景,提升内容理解与处理的效率。

weixin_35906794的博客 23

logrotate实现日志切割清理(清晰易懂)

logrotate的使用,用于实现日志切割清理

weixin_40547071的博客 2万+

Linux服务器Tomcat日志清理nginx日志清理

前言 由于tomcat下catalina.out日志文件随着时间增长会越来越大,导致服务器磁盘存储空间不足,需要定时清理日志文件。曾经用过某某切割工具,但是不好用,所以自己参照网上的一些资料写了一个脚本,特分享如下。 第一步 按照日期备份catalina.out日志文件(nginx日志文件也采用相同的方式),建立clear_logs.sh文件 #!/bin/bash datenam...

过客的博客 3087

服务器log文件清理,服务器日志切割清理工具(LogCutter)

对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录?由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为LogCutter.更新日志:版本: 2.0.11、增加文件归档执...

weixin_28788777的博客 1135

linux宝塔清除全部日志,宝塔面板6.X设置(自动)清除日志的4种方法以及日志清理工具的使用...

我们用宝塔面板除了网站日志,还有访问日志access.log,可能大鸟博客这样的小站点来说,访问日志还是很少的,但是对于一些比较大的网站,那日志还是很占用磁盘空间的。有一个朋友网站数据非常大,每周都会产生10G左右的访问日志。这个如果每次都是手动处理也是比较麻烦的,所以我们用宝塔面板就可以设置计划任务自动清除,这样会比较方便。但是如果计划任务出故障了,还是需要手动去删除的。所以一般是两者结合起来使...

weixin_30769455的博客 7983

Nginx配置负载均衡、动静分离、请求日志打印、日志切割、压缩、删除

近期公司有需求,在用户访问我们的API产品时,需要使用nginx日志打印功能,将详细的信息记录下来,由于本人第一次做这样的操作,研究了一下,将整理出来的内容出来。 命令: 本篇博客共三个模块1、编写且启动nginx(windows环境下,linux配置文件一致)1.1、一些必要的命令1.2、下载nginx1.3、启动nginx1.4、检查nginx是否启动1.5、关闭nginx1.6、负载均衡配置1.7、配置动静分离策略2、配置nginx日志2.1、启用nginx日志打印2.2、配置日志打印格式为jso

初代二手码农 5754

Linuxnginx日志每天定时切割

Linuxnginx日志每天定时切割 教程目的: 使用Linux系统自带的命令logrotate对Nginx日志进行切割Nginx安装目录:/usr/local/nginx/ Nginx日志目录:/usr/local/nginx/logs/、/usr/local/nginx/logs/nginx_logs/ 1、添加nginx日志切割脚本 cd /etc/logrot...

zalan01408980的博客 1175
下一篇: MongoDB shell脚本 自动添加权限与账号密码
HzlSimple
博客等级 码龄11年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值