• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    CentOS 7中Nginx日志定时拆分实现过程详解

    一、编写拆分脚本(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

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

    上一篇:Nginx Linux安装部署详细教程
    下一篇:k8s部署docker容器的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    CentOS 7中Nginx日志定时拆分实现过程详解 CentOS,中,Nginx,日志,定时,