交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • CentOS 7中Nginx日志定时拆分实现过程详解

    北冥有鱼 教程大全 2020-06-26 ,,,,

    一、编写拆分脚本(splitNginxLog.sh)

    * 因为本例中设置每天0点进行日志的拆分,所以folder和rq均设置采用昨天的日期进行归档。

    #!/bin/bash
    folder=`date -d yesterday +%Y%m`
    rq=`date -d yesterday +%Y%m%d`
    # 原始日志路径
    logs_path="/var/log/nginx/sitename.com/"
    # 日志备份路径
    logs_backup_path="/var/log/nginx/sitename.com/$folder"
    # 要分割的日志
    logs_access="access"
    logs_error="error"
    # 创建备份路径
    [ -d $logs_backup_path ]||mkdir -p $logs_backup_path
    # 将日志移入备份文件夹
    mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
    mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
    # 终止nginx的pid
    pid_path="/var/run/nginx.pid"
    kill -USR1 $(cat $pid_path)

    二、测试日志拆分脚本

    在.sh文件的存放目录下运行如下语句,测试拆分脚本是否成功。

    # sh splitNginxLog.sh

    如果提示$'\r': 未找到命令的解决,则有可能是.sh文件编码问题,是因为在Windows编辑器中编写的脚本与在linux中的有一些区别。

    处理方法:

    1. 安装dos2unix用于转化编码

    # yum install dos2unix  

    2. 转换编码

    # dos2unix splitNginx.sh  

    三、设置定时自动执行

    # crontab -l //列出所有的定时任务
    # crontab -e //编辑定时任务

    在其中编写如下语句:

    00 00 * * * bash /root/splitNginxLog.sh

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持北冥有鱼。


    广而告之:
    热门推荐:
    MySQL的索引详解

    一. 索引基础 1.1 简介 在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于快速找到记录的一种数据结构。 索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响就愈发重要。 索引优化应该是对查询性能优化最有效的手段,创建一个真正最优···

    浅析php创建者模式

    创建者模式: 在创建者模式中,客户端不再负责对象的创建与组装,而是把这个对象创建的责任交给其具体的创建者类,把组装的责任交给组装类,客户端支付对对象的调用,从而明确了各个类的职责。 应用场景:创建非常复杂,分步骤组装起来。 复制代码 代码如下: <?php /** ···

    Discuz!如何开启使用HTML、主题分类、分类信息

    本篇教程较以往教程,侧重在于站长使用,以前教程多为开发相关教程,但是看到好多新手站长对于HTML的开启、使用,分类信息的开启、使用都很茫然,不知道从哪里下手,或者自己设置了但是却不能正常使用。希望下面的讲解对这些新手站长有所帮助!

    织梦tag列表页调用内容模型自定义字段教程

    织梦tag列表页调用内容模型自定义字段第一步 : 找到/include/extend.func.php   在底部加入   function GetArcList($id,$result){   global $dsql;   $mnkj = $dsql->GetOne("SELECT * FROM `dede_addon17` w···

    jQuery事件绑定方法学习总结(推荐)

    对于jQuery中的事件绑定方法,主要有on()、bind()、delegate()、live()等这几个方法。之前都是之前拿过来用,也知道有这么几个方法,但是不清楚这几个事件绑定方法之间的区别。平时用的最多的是on方法,今天打算整理一下。 bind方法 <!DOCTYPE html> <html> <···

    jquery插件jTimer(jquery定时器)使用方法

    复制代码 代码如下:(function ($) {    $.extend({        timer: function (action,context,time) {            var _timer;     ···

    JavaScript遍历数组的三种方法map、forEach与filter实例详解

    本文实例讲述了JavaScript遍历数组的三种方法map、forEach与filter。分享给大家供大家参考,具体如下: 前言 近一段时间,因为项目原因,会经常在前端对数组进行遍历、处理,JS自带的遍历方法有很多种,往往不加留意,就可能导致知识混乱的现象,并且其中还存在一些坑。前端时···

    easyui导出excel无法弹出下载框的快速解决方法

    之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID').val(), dataType: 'json', success: function (jsonstr) { //top.art.dialog.tips('导出成功!'); } }); 没办法弹出···

    Dron右键菜单 v1.0

    New Document [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    Vue2 模板template的四种写法总结

    如下所示: <div id="app"> <h1>我是直接写在构造器里的模板1</h1> </div> <template id="demo3"> <h1 style="color:red">我是选项模板3</h1> </template> <script type="x-template" id="demo4"> <h···