在我们的工作中,肯定会涉及到分析访问日志。

但是如果访问日志都集中存在于一个文件中,那数据量就太大了,并且也不利于我们进行分析。

所以我们需要对访问日志进行按时间切割。

思路:

我们可以利用linux的crontab来执行定时任务。定时的将日志文件mv出来,并且日志目录重新建一个空文件用于接收访问数据。

新建一个根目录下的data文件夹用于存储分割的日志

mkdir /data/

shell脚本我们就写在这个data目录中吧。

其中shell脚本我们可以这样写:

#!/bin/bash
logpath='/usr/local/nginx/logs/panchao.com.access.log'
basepath=/data

#这里我们按的是分钟备份文件,为的是能够及时的看到效果。

bak=$basepath/$(date -d yesterday +%Y%m%d%H%M).panchao.access.log

mv $logpath $bak

#重新创建新日志文件,接收新的访问信息,保证了备份出去的日志都是不重复的。
touch $logpath

#重读日志,因为是新建的文件(inode改变了)
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

到这里shell脚本就写完了。

下面我们来配crontab。(crontab的安装和开启这里就不做赘述了)

我们可以看到,在我写随笔的这些时间/data目录下已经生成了好几个文件了。

我们再来看看内容。

vi 201812121459.panchao.access.log

其实,最主要的就是编写shell脚本,和定时任务的开启。其它的没什么了。

利用crontab定时备份nginx访问日志(也可以说是定时切分日志)的更多相关文章

  1. nginx定时备份access访问日志并重启nginx

    用.sh脚本写了备份日志脚本 其实就是转移文件改名后重新建一个空文件 mv /alidata/log/nginx/access/wxtest.log /alidata/log/nginx/access ...

  2. 利用crontab定时备份数据库为sql文件

    测试: 每1分钟执行1次,利用crontab */1 * * * * /opt/nginx/db_bak.sh 每天的0点0分把数据库备份为日期格式 0 0 * * * /opt/nginx/db_b ...

  3. Linux下使用crontab定时备份日志

    上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...

  4. 利用GoAccess分析Nginx访问日志

    原文链接:https://blog.csdn.net/yown/article/details/56027112 需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! ...

  5. 用 JuiceFS 备份 Nginx 日志可以这么简单

    在我们线上的生产环境中要备份的东西很多,各种服务日志.数据库数据.用户上传数据.代码等等.用 JuiceFS 来备份可以节省你大量时间,我们会围绕这个主题写一系列的教程,整理出一套最佳实践,方便大家. ...

  6. 编写每天定时切割Nginx日志的脚本

    自动每天定时切割Nginx日志的脚本,很方便很好用,推荐给大家使用.本脚本也是参考了张宴老师的文章,再次感谢张宴老师.1.创建脚本/usr/local/nginx/sbin/cut_nginx_log ...

  7. Linux命令之Crontab定时任务,利用Crontab定时执行spark任务

    Linux命令之Crontab定时任务,利用Crontab定时执行spark任务 一.Linux命令之Crontab定时任务 1.1 常见Crontab任务 1.1.1 安装crontab 1.1.2 ...

  8. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...

  9. linux下系统定时任务配置----crontab(mysql定时备份)

    crontab命令用于设置周期性被执行的指令,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任 ...

随机推荐

  1. 根据设备宽高设置View的大小

    得到设备屏幕宽高: WindowManager wManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); ...

  2. 模仿以太坊 ERC20 规范的 Hyperledger Fabric 实现 Token 通证

    合约: package main /* -------------------------------------------------- Author: netkiller <netkill ...

  3. eclipse中安装maven,配置本地仓库和镜像

    1.安装maven,配置MAVEN_HOME 首先:下载免安装版解压配置MAVEN_HOME(和配置JAVA_HOME一样) 然后按照下面的配置,主要第3步,指定settings.xml文件的位置(在 ...

  4. Spring Hibernate Transaction示例

    JDBCDAO.java package com.bf; import java.sql.ResultSet; import java.sql.SQLException; import java.ut ...

  5. zabbix 监控 redis

    redis  可以直接使用zabbix官方的模板 模板地址: https://github.com/blacked/zbx_redis_template redis 主机通过脚本把数据推送到zabbi ...

  6. CentOS6.5安装zookeeper-3.4.5(单机)

    1.下载 下载链接:http://archive.apache.org/dist/zookeeper/ 本文下载版本:zookeeper-3.4.5.tar.gz 2.安装 安装目录:/usr/loc ...

  7. MongoDB--运行环境

    版本 a.b.c  a大版本  b中版本分奇数偶数 奇数是开发版 偶数是稳定版 c小版本 ssh工具:远程Linux机器.在windows下使用 Linux 下使用vim     windows下使用 ...

  8. MySQL.配置MariaDB的字符集

    配置MariaDB的字符集 环境: 操作系统:CentOS Linux release 7.x mariadb安装及配置 yum install mariadb-server mariadb #安装 ...

  9. itextsharp利用模板生成pdf文件笔记

    iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件. 中文参考网站:http://hardrock.cnblogs.com/ http://pdfhome.hope.com ...

  10. Rpgmakermv(32) Yep_mainmenumanager

    ============================================================================ Introduction ========== ...