Linux下应用程序日志管理

linux系统中,处理堆积的日志文件以释放磁盘空间的一些措施和方法(log文件太多了,磁盘被占满,系统反应会很慢) 处理Linux系统中堆积的日志文件以释放磁盘空间,可以采用一些措施和方法中,其实也就是用好一些linux的一些命令,包括find,du,awk,del;一些进程,比如:rsyslog 、ournald、cron;一些工具,inotify 、 auditd、Logrotate、ELK等等。具体采用哪种或者哪几种措施,可以根据您自己系统的特点,灵活选择。但是在清理之前,需要备份您的备份重要数据 阅读详情

需求描述:应用程序日志位于/tmp/logs目录下,当日志文件大于500M时,进行文件备份,最多可备份5个文件;程序重启时将tmp目录下的日志文件压缩成.tar,设备重新起来后候并将日志文件解压恢复到tmp目录下

1.在/etc/logrotate.d目录下放置自定义好的配置文件/etc/logrotate.d/weipai,内容如下:

/tmp/logs/*.log {
    size 500k 
    rotate 5 
    create   
    missingok  
    notifempty    
	nocompress 
    postrotate
        wp.sh check 
    endscript
}

位于/tmp/logs目录下的日志文件,由logrotate负责进行日志分割转储,各配置项参数说明详见官方文档。logrotate实际是一个脚本,当 logrotate 运行时,它将读取配置文件/etc/logrotate.conf,以确定需要轮换的日志文件位置、需要轮换的频率以及需要保留的归档日志数量等。另外还需要介绍一个目录 /etc/logrotate.d,这个目录包含大多数应用程序的配置。在/etc/logrotate.conf中,/etc/logrotate.d被include。
logrotate 是基于 cron 运行的,系统按计划运行 logrotate,一般来说是每天。在大多数发行版中,每天运行 logrotate 的脚本位于 /etc/cron.daily/logrotate 中。

logrotate -v /etc/logrotate.d/weipai 

手动切割日志,-v显示转储过程,建议在执行前先使用-d(debug模式)验证一下

2.自定义日志处理脚本/usr/bin/wp.sh
1)编写脚本

#!/bin/bash

rotate=5
target=weipai
log_directory="/tmp/logs"
backup_directory="/config/${target}"


# 检查并打包压缩日志
check_and_compress_logs() {
	time=$(date +"%Y%m%d")
    check_file=${log_directory}/${target}.log.${rotate}
    mkdir -p "$backup_directory"
	if [ -e "$check_file" ]; then
		find "$backup_directory" -maxdepth 1 -type f -regex ".*/log-[0-${rotate}]+\.tar\.gz" -exec rm {} +
		tar -czvf "${backup_directory}/log-$time.tar.gz" -C "$log_directory" `find "$log_directory" -maxdepth 1 -type f -regex ".*/${target}\.log\.[0-9]+" -printf "%f\n"`
		find "$log_directory" -maxdepth 1 -type f -regex ".*/${target}\.log\.[0-9]+" -exec rm {} +
	fi
}

archive_file=${backup_directory}/log.bak.tar.gz

# 备份
backup_logs() {
    mkdir -p "$backup_directory"
	tar -czf "$archive_file" -C "$log_directory" .
}

# 恢复目录
restore_logs() {
	mkdir -p "$log_directory"
    tar -xzf "$archive_file" -C "$log_directory"
    rm ${archive_file}
}

# 主逻辑
case "$1" in
    check)
        check_and_compress_logs
        ;;
    backup) 
        backup_logs 
        ;;
    restore) 
        restore_logs 
        ;;
    *)
        echo "Usage: wp.sh [check|backup|restore]"
        ;;
esac

2)授予可执行权限 chmod 777 wp.sh
3)将脚本复制到/usr/bin 目录下

69、深入解析Linux系统常见问题排查与CompTIA Linux+考试要点 本文深入解析了Linux系统中常见的问题排查方法,涵盖图形化目标加载失败、网络在线配置、应用程序崩溃处理、时区配置以及日志分析等关键问题,并提供详细的解决步骤和命令示例。同时,针对CompTIA Linux+(XK0-005)考试内容进行了全面解读,包括考试结构、重点领域及备考策略,帮助读者提升Linux系统管理能力并顺利通过认证考试。 阅读详情

相关推荐

18、Linux 日志管理:配置、查看与监控

本文详细介绍了Linux系统中的日志管理机制,涵盖日志轮转(logrotate)的配置方法、systemd的Journald日志收集与查看、以及使用dmesg命令监控内核环形缓冲区消息等内容。通过这些工具,系统管理员和开发者可以高效地管理、查看和监控系统日志,及时发现并解决潜在问题,保障系统的稳定运行。

transformer2023的博客 89

记录几个常用的logrotate配置

记录几个常用的logrotate配置 之前没有记录 每次重写的时候 都容易把日志文件压缩重命名了。导致日志文件虽然看不到了 但还是存在于服务器里 并且占用磁盘,等磁盘满了也无法清理。需要重启进程才会重新生产新的日志文件。重启容易出问题,因此记录一下。 nginx /data/nginx_logs/*.log { #为nginx日志的存储目录,可以根据实际情况进行修改 daily rotate 10 missingok notifempty compress

爷来辣的博客 1792

Linux jar包启动脚本start.sh

【代码】Linux jar包启动脚本start.sh。

与海 1381

Linux ----logrotate服务 自动日志切割

logrotate服务 用法 一般logrotate 都是nginx 自带日志管理模块 var /etc/logrotate.d/linuxaccount 编辑linuxaccount /alidata/server/nginx/logs/access.log{ 日志文件存放位置 su root www 指向用户(不写会报错) notifempty 为空不...

菜鸟学习成功之路 1139

Power BI实战:从数据清洗到可视化报表的完整流程

本文详细介绍了使用Power BI进行数据分析的完整流程,从数据获取、清洗整理到建模与可视化。通过实战案例,重点讲解了连接MySQL数据库、使用Power Query进行数据清洗、利用DAX创建核心度量值以及设计交互式报表的关键步骤与技巧,帮助用户高效完成从原始数据到专业可视化报表的转化,实现数据驱动决策。

weixin_29070721的博客 398

飞腾D2000开发板实战:手把手教你为UEFI/EDK2驱动SD3077 RTC时钟芯片

本文详细介绍了在飞腾D2000开发板上为UEFI/EDK2环境驱动SD3077 RTC时钟芯片的全流程开发指南。从硬件连接到软件适配,包括引脚复用配置、电源管理优化以及UEFI驱动的深度定制,帮助开发者解决嵌入式系统中的时间同步问题,确保RTC芯片的稳定性和准确性。

weixin_30892037的博客 423

linux应用程序限制4千条日志,Linux操作系统之日志管理

一、rsyslog系统日志管理1、处理日志的进程第一类:rsyslogd: 系统专职日志程序。绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。第二类:httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志。2、常见的日志文件(系统、进程、应用程序)# tail -f /var/log/messages //动态查看日志文件的尾部# tailf ...

weixin_42148053的博客 410

libfacedetection 框架阅读及扩展经验

libfacedetection 框架源码解析与扩展心得1. libfacedetection 框架简介2. 源码解析2.1 facedetectcnn.h2.2 facedetectcnn.cpp2.3 facedetectcnn-model.cpp3. 其他层的扩展--depthwise convolution 前段时间因为工作需要,对libfacedetection框架做了些扩展,在阅读源...

weixin_42616332的博客 1500

在Linux上使用Docker实现应用程序打包和分发

在当今快速发展的软件行业中,开发人员面临着一个共同的挑战:如何确保应用在不同环境中的一致性和可靠性。传统的部署方法往往导致了所谓的“它在我的机器上工作”的问题,即应用在开发者的本地环境中运行良好,但在生产或其他环境却出现了各种不兼容的问题。Docker作为容器化技术的代表,通过将应用与其运行环境封装在一起,解决了这个问题。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。

master_chenchen的博客 1039

基于粒子群算法的PID控制器优化设计

粒子群算法、PID、寻优

qq_46107700的博客 2万+

第58篇:AI技术实战:基于深度学习的智能音频内容审核系统

深度学习技术为智能音频内容审核系统提供了强大的支持,通过CNN、RNN和Transformer等模型,能够实现高效的音频内容检测和过滤。使用TensorFlow和Keras可以快速构建和训练音频审核模型,而预训练模型则可以进一步提升性能。数据预处理、特征提取和性能优化是提升智能音频审核系统性能的关键。希望本文的代码示例和注意事项能帮助你更好地理解和应用这些技术。接下来,我们将继续探索更多AI技术实战案例。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 708

linux上关于部署的docker 的日志

日志管理,docker相关学习资料:https://edu.51cto.com/video/655.htmlhttps://edu.51cto.com/video/3519.htmlhttps://edu.51cto.com/video/442.htmlDocker 部署与日志管理在 Linux 上的实践 Docke...

weixin_35342955的博客 123

HyperLynx(十八)DDR(一)DDR简介和DDR的数据仿真

LVTTL电平为单端信号,而SSTL电平本质上是差分对,其实现机制是将信号与参考电平Vref组成差分对进行比较,如图所示,VIH和VIL各有一个交流参数AC和直流参数DC,信号第一次越过AC门限的时刻,作为时序计算的参考点,此后只要信号保持DC门限内,逻辑状态保持不变,这种设计减小了噪声、振铃等对于信号质量的影响。经过调整后,控制器在发送颗粒1的DQS后,延时1ns再发送颗粒2的DQS,则颗粒1在1ns后收到对齐的DQS和CLK,颗粒2在2ns后收到对齐的DQS和CLK,从而满足了时序关系。

小幽余生不加糖 7678

Rsyslog日志管理

Linux日志管理 时间是日志管理的必要条件,必须要保持准确 CentOS系统中综合日志记录的内容存放在 /var/log/messages 文件中 日志的事件记录格式:     日期时间   主机   进程[pid]:   事件内容 在Centos6、7开始日志管理的有rsyslog服务、ELK,在本文中介绍的是rsyslog rsyslog服务 因为不同的应用程序有不同特性,为便...

Ruixycowboy的博客 2681

【Proteus仿真】基于AT89C51单片机的单片机双向通信

本文介绍了基于AT89C51单片机实现双向通信的系统设计。系统采用MAX232芯片实现TTL与RS-232电平转换,通过CONN-D9F接口建立串行通信连接。甲机程序通过按键控制发送不同指令字符,同时接收乙机数据驱动数码管显示;乙机程序根据接收指令控制LED显示状态,并可发送0-10数字至甲机。文中详细说明了MAX232电平转换原理、DB9接口定义,以及完整的单片机控制程序代码,包括串口初始化、数据收发处理等关键功能实现,为嵌入式系统串口通信开发提供了实用参考方案。

XU157303764的博客 1094

JMeter 中实现 100 个用户在 3 秒内并发登录

通过以上配置,你可以在 JMeter 中实现 100 个用户在 3 秒内并发登录

南开大学 | 10 年 + 软件研发与测试实战 | 现任企业质控负责人 | 专注端到端交付质量 1680

Linux日志

在Linux系统中,日志是系统管理和故障排查的核心工具,其分类方式多样,作用覆盖系统运行全生命周期。

m0_75111244的博客 812

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux性能调优技巧

linux 性能优化及技巧,全篇,超详细!

weixin_70259569的博客 652

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux系统配置及服务管理_第11章_日志管理

Linux系统配置及服务管理_第11章_日志管理 一简介 任务一:rsyslog系统日志管理,关心的问题是哪类程序产生的什么日志,放在了什么地方。 任务二:logrotate日志轮转,将大量的日志,分割管理,删除旧日志。 二任务一详解: (1)处理日志的进程 第一类:rsyslogd系统专职日志程序,处理绝大部分日志记录,系统有关的信息,如登录程序,程序启动关闭信息,错误信息。 第二类:httpd、nginx、mysql:各类应用程序,可以以...

liuqi66的博客 242

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux学习-07日志管理

日志记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。为了节省空间和整理方便,日志文件经常需要按。理绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。主配置文件:/etc/logrotate.conf(决定每个日志文件如何轮转)httpd/nginx/mysql:各类应用程序,可用用自己的方式记录日志。子配置文件夹:/etc/logrotate.d/*(自定义配置,便于管理)等维度分成多份,删除时间久远的日志文件。

weixin_44980899的博客 549

系统查询日志方式

4.在“事件查看器”中,你可以看到不同的日志类别,如“应用程序”、“安全”、“系统”等。双击相应的类别即可查看相关日志。3.双击“事件查看器”。1.打开“控制面板”。2.点击“管理工具”。

owolai的博客 1061

linux下C编程打印log

前言 linux的日志系统一直以来都是在linux上开发必学的一部分内容。之前在学习openstack的时候,在对openstack组件的发生的错误进行调试时,老师就说要多看日志的报错,从这里找到相关线索再去修改配置文件。结果很多的报错都是通过组件对应的日志文件反映出来而修改成功的,因此使用好linux日志系统对了解linux编程有很大的帮助。 日志文件简述 其中日志一般都在/...

拾忆的博客 2万+

linux springboot .jar方式启动

1.可以直接放在opt目录 java -jar app.jar & 启动。(&代表后台启动) 2. nohup java -jar app.jar > app.log 2>&1 & app.log将标准输出指向制定文件app.log nohup java -jar起完之后只可以存在一天,nohup可以一直运行在后台 2>&a...

lihaiweio的博客 350

Centos 开机自动启动java程序

/etc/systemd/system/start-app-java.service sudo cat > /etc/systemd/system/start-app-java.service <<EOF [Unit] Description=start-app-java After=local-fs.target network-online.target Requires=local-fs.target network-online.target RequiresMountsFor=/

engchina的专栏 1069

Linux 系统安全规范

转载自:http://zoukejian.blog.51cto.com/131276/56631 基本原则:a.及时更新所有的服务,以防止最新的威胁 b.尽可能使用安全的协议 c.尽可能让每台机只提供一种服务 d.严格监控所有机器以及时发现恶意行为 e.订阅系统相关的安全邮件列表 一.帐户和口令 (一).帐户 1.为每个系统维护人员建立一个独立的普通权限帐...

weixin_30735391的博客 76

Linux springcloud springboot 服务启动关闭重启脚本

脚本编辑复制的时候一定要 注意回车的方式LINUX 是LF #!/bin/bash #JAR 包名称 JAR_NAME=eureka-1.0-SNAPSHOT Suffix=jar APP_NAME=$JAR_NAME.$Suffix CUR_SHELL_DIR=`pwd` LOG_PATH=$CUR_SHELL_DIR/logs/$JAR_NAME.out #启动参数 SPRING_PROFI...

lxl881113的博客 760
上一篇: Android 通过ncnn加载darknet模型
下一篇: 安卓平台,ncnn调yolov5
日子美美哒
博客等级 码龄9年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值