Linux:apache优化(7)—— 日志分割|日志合并

news2024/11/28 7:41:22

作用:随着网站访问量的增加,访问日志中的信息会越来越多, Apache 默认访问日志access_log单个文件会越来越大,日志文件体积越大,信息都在一个文件中,查看及分析信息会及不方便。


分割 

 实现方式:

1.利用 apache 自带的日志轮循程序 rotatelogs

ErrorLog "|rotatelogs 命令的绝对路径 -l logs/error_%Y%m%d_%H%M%S.log 秒数"
CustomLog "| rotatelogs 命令的绝对路径-l logs/access_%Y%m%d_%H%M%S.log 秒数"

Combined

 

2.利用一个发展已经比较成熟的日志轮循工具 cronolog

ErrorLog "|cronolog 绝对路径 -l /usr/local/httpd/logs/error_%Y%m%d%H%M%S.log "
CustomLog "|cronnolog绝对路径 -l /usr/local/httpd/logs/access_%Y%m%d%H%M%S.log" combined

3.利用定时任务和 shell 脚本做日志切割

方式一: 利用 apache 自带的日志轮循程序 rotatelogs日志分割:

[root@linuxa ~]# vi /usr/local/httpd/conf/httpd.conf                   

##10秒切割一次日志文件(切割日志时间频率可以自行改变,根据PV来决定,),-l选项是小写的L表示local time(本地时间)

215行插入
 CustomLog "|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/access_%Y%m%d%H%M%S.log  10" combined

:wq


方式二:利用一个发展已经比较成熟的日志轮循工具 cronolog

[root@linuxa ~]# tar xf cronolog-1.6.2.tar.gz -C /usr/src/ 

[root@linuxa ~]# cd /usr/src/cronolog-1.6.2/

[root@linuxa cronolog-1.6.2]# ./configure && make && make install

[root@linuxa cronolog-1.6.2]# cd

[root@linuxa ~]# which cronolog

/usr/local/sbin/cronolog

[root@linuxa ~]# vi /usr/local/httpd/conf/httpd.conf   

##可以跟据文件名中的变量来设置分割的频率,Y表示四位年份、m表示月份、d表示月份中的天数

213行 
CustomLog "|usr/local/sbin/cronolog /usr/local/httpd/logs/access_%Y%m%d.log"         combined

:wq

[root@linuxa ~]# /usr/local/httpd/bin/apachectl  restart

[root@linuxa ~]# ls /usr/local/httpd/logs/

access_20171206.log   access_log   error_log   httpd.pid


方式三:脚本完成(定期移动httpd日志文件,并且保存期限为30天):

[root@linuxa ~]# vi /opt/cut_httpd_log.sh

#!/bin/bash

logpath="/usr/local/httpd/logs"

datetime=$(date -d "-1 day" "+%Y%m%d")

[ -d $logpath/backup ] || mkdir $logpath/backup

mv $logpath/access_log $logpath/backup/access_log-$datetime

/usr/local/httpd/bin/apachectl graceful

##重新加载apache的配置,不会中断请求

find $logpath/backup/ -mtime +30 | xargs rm f

find /usr/local/httpd/logs/backup/ -type f -mtime +30 -exec rm -rf {} \;

[root@linuxa ~]# chmod +x /opt/cut_httpd_log.sh

[root@linuxa ~]# echo "00 00 * * * /bin/bash /opt/cut_httpd_log.sh &> /dev/null" >>/var/spool/cron/root

[root@linuxa ~]# service crond restart

 

当成功分割之后如果要进行合并

 


合并

可以将每个服务器每天的日志文件通过 rsync 下载到专门进行访问统计分析的服务器上进行合并。合并多个服务器的日志文件,例如: log1 log2 log3 并输出到 log_all 中的方法是:

sort  -k 4 -o log_all access_log1 access_log2 access_log3

-m 使用 merge 优化算法

-t 指定排序的分割符

-k 4 指定排序时行中多列时,排序的依据列为哪列,表示根据时间进行排序

-o 表示将排序结果存放到指定的文件中

所以这里使用

sort -k 4 -o accessall access_20240102051040.log  access_20240102051050.log  

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

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

相关文章

『JavaScript』JavaScript事件类型详解:全面解析各类用户交互行为

📣读完这篇文章里你能收获到 理解事件驱动编程的基本概念和工作原理掌握JavaScript中常见的事件类型及其应用场合学习如何使用DOM API添加和移除事件监听器探讨事件冒泡、事件捕获和事件委托等高级事件处理技术 文章目录 一、事件处理程序1. HTML事件处理HTML事件处…

单片机键盘程序设计举例

1、键盘与的连接 图3键盘连接 图4单片机与键盘接口图 2、通过1/0口连接。将每个按钮的一端接到单片机的I/O口,另一端接地,这是最简单的办法,如图3所示是实验板上按钮的接法,四个按钮分别接到P3.2 、P3.3、P3.4和P3.5。对于这种键…

HttpClient入门

HttpClient入门 简介 HttpClient 是 Apache HttpComponents 项目中的一个开源的 Java HTTP 客户端库,用于发送 HTTP 请求和处理 HTTP 响应。它提供了一组强大而灵活的 API,使得在 Java 程序中执行 HTTP 请求变得相对简单 maven依赖 org.apache.httpco…

72内网安全-域横向CSMSF联动及应急响应知识

拿到才行,拿不到就是多余的 案例一MSF&CobaltStrike 联动 Shell 有一些功能可能cs或者msf强大一些,他们两个可以相互调用,在真实情况下也是可以cs和msf同时启动的, cs移交给msf .创建Foreign监听器 “Listeners”“Add”…

[NAND Flash 4.2] Flash 原理 | NOR Flash 和 NAND Flash 闪存详解

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 前言 智能手机有一个可用的存储空间(如苹果128G),电脑里有一个固态硬盘空间(如联想512G), 这个空间是啥呢? 这个存储空间就是闪存设备,我们都统称为…

ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解

图片来源于网络&#xff0c;如若侵权请联系博主删除 文章目录 1. 背景2. 基础知识2.1 TFT-LCD2.2 硬件接线2.3 FMC2.4 ILI9481 3. 软件抽象 1. 背景 最近做项目需要&#xff0c;博主在某宝上买了一块3.5寸的TFT屏&#xff0c;店家虽然发了资料&#xff0c;但是往产品上移植驱动…

动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper

文章目录 前言下载github地址&#xff1a;网盘 关于VideoWebpagesYoutube和流媒体ShadersGIFs游戏和应用程序& more:Performance:多监视器支持&#xff1a;完结 前言 Lively Wallpaper是一款开源的视频壁纸桌面软件&#xff0c;类似 Wallpaper Engine&#xff0c;兼容 Wal…

PiflowX组件-JDBCRead

JDBCRead组件 组件说明 使用JDBC驱动向任意类型的关系型数据库读取数据。 计算引擎 flink 有界性 Scan Source: Bounded Lookup Source: Sync Mode 组件分组 Jdbc 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许…

Vue(一):Vue 入门与 Vue 指令

Vue 01. Vue 快速上手 1.1 Vue 的基本概念 用于 构建用户界面 的 渐进性 框架 构建用户界面&#xff1a;基于数据去渲染用户看到的界面渐进式&#xff1a;不需要学习全部的语法就能完成一些功能&#xff0c;学习是循序渐进的框架&#xff1a;一套完整的项目解决方案&#x…

数据结构与算法——符号表API设计及有序符号表设计

Java学习手册面试指南&#xff1a;https://javaxiaobear.cn 符号表最主要的目的就是将一个键和一个值联系起来&#xff0c;符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据&#xff0c;我们可以根据键来查找对应的值。 符号表中&#xff0c;键具有唯一性。 符…

PiflowX组件-WriteToUpsertKafka

WriteToUpsertKafka组件 组件说明 以upsert方式往Kafka topic中写数据。 计算引擎 flink 有界性 Streaming Upsert Mode 组件分组 kafka 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_h…

QT音频编程实战项目(一)ui搭建和槽函数的完成

第一个类实现播放音乐&#xff0c;第二个类实现歌曲列表&#xff0c;第三个类是播放本地歌曲 上边是歌曲的总时长&#xff0c;下边是当前播放的时长。 所需要的槽函数如上图。 这个是构造函数&#xff1a; …

基于JavaWeb实验室预约管理系统(源码+数据库+文档)

一、项目简介 本项目是一套基于JavaWeb实验室预约管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;e…

OFDM——PAPR减小

文章目录 前言一、PAPR 减小二、MATLAB 仿真1、OFDM 信号的 CCDF①、MATLAB 源码②、仿真结果 2、单载波基带/通频带信号的 PAPR①、MATLAB 源码②、仿真结果 3、时域 OFDM 信号和幅度分布①、MATLAB 源码②、仿真结果 4、Chu 序列和 IEEE802.16e 前导的 PAPR①、MATLAB 源码②…

ToDesk Linux 客户端安装(欧拉系统)

下载链接 下载链接 https://newdl.todesk.com/linux/todesk-v4.3.1.0-x86_64.rpm &#xff08;使用4.3.1.0覆盖安装后&#xff0c;临时密码将会变更&#xff09; 安装命令&#xff1a; sudo rpm -Uvh todesk-v4.3.1.0-x86_64.rpm启动命令&#xff1a; todesk启动命令只能在桌…

算法通关村第二十关-白银挑战图的存储与遍历

大家好我是苏麟, 今天继续聊图 . 与前面的链表、树等相比&#xff0c;图的存储和遍历要复杂非常多 .所以理解就好 , 面试基本不会让写代码的 . 图的类型多、表示方式多&#xff0c;相关算法也很多&#xff0c;实现又过于复杂&#xff0c;多语言实现难度太大了。这些算法一般理…

Ultra ISO 虚拟光驱修改光盘盘符

windows xp 环境 ultra iso 虚拟光驱修改光盘盘符 method 1. 在ultra iso 中 [选项]->[配置]->[虚拟光驱]&#xff0c;在新盘符里选指定盘符 ->[修改] method 2. 打开命令行&#xff0c;进入安装目录&#xff0c;如 "C:\Program Files\UltraISO\drivers"&…

浅析锂电池保护板(BMS)系统设计思路(四)SOC算法-扩展Kalman滤波算法

1 SOC估算方法介绍 电池SOC的估算是电池管理系统的核心&#xff0c;自从动力电池出现以来&#xff0c;各种各样的电池SOC估算方法不断出现。随着电池管理系统的逐渐升级&#xff0c;电池SOC估算方法的效率与精度不断提高&#xff0c;下面将介绍常用几种电池SOC估算方法[1]&…

2023年总结及2024年规划:我们结婚啦

目录 1、回首2023 1.1、生活方面 1.2、工作方面 1.3、学习方面 2、展望2024 2.1、生活方面 2.2、工作方面 2.3、学习方面 2023年最重要的事情当然是我们结婚啦&#xff01; 1、回首2023 1.1、生活方面 今年五一假期&#xff0c;我和对象回老家在双方亲友的见证下完…

HarmonyOS 路由传参

本文 我们来说两个page界面间的数据传递 路由跳转 router.pushUrl 之前我们用了不少了 但是我们只用了它的第一个参数 url 其实他还有个params参数 我们第一个组件可以编写代码如下 import router from ohos.router Entry Component struct Index {build() {Row() {Column() …