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

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

(0)

相关推荐

  • 解决Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件

    问题描述 在腾讯云centos7上安装nginx sudo yum install nginx 打开默认网页显示 Welcome to nginx on Fedora! 且 /etc/nginx/conf.d 目录下无default.conf文件 原因 腾讯云的epel源是默认下载就是Fedora的 解决方法 •准备工作 sudo yum install yum-utils •创建nginx.repo文件 sudo vim /etc/yum.repos.d/nginx.repo 并添加以下内容

  • Centos7.3 安装部署Nginx并配置https的方法步骤

    安装环境 1. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译 编译依赖 gcc 环境: yum install gcc-c++ 2. PCRE pcre-devel 安装 安装pcre-devel 是使用 pcre 开发的一个二次开发库.: yum install -y pcre pcre-devel 3. zlib 安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 可以使用 zlib 对 http 包的内容进行 gzip: yum install -y zlib

  • centos7.2搭建nginx的web服务器部署uniapp项目

    Panther 从一位小白走来,虽然现在也还是小白,但是我取之于民,不定时将自己所学到的都分享给大家,在上一篇博客中有讲到thingsboard的多设备共显,因为现在处于学习的阶段接触的东西比较多同样也比较杂,希望我的文章可以给大家提供一丢丢的帮助 one 购买腾讯云 https://cloud.tencent.com/ 产品 – 云服务器 – 立即选购 – 快速配置 – 地域 – 入门配置 – centos 7.2 – 购买 事例控制台 https://console.cloud.tencen

  • Centos7启动流程及Systemd中Nginx启动配置

    Centos7启动流程: 1.post(Power-On-Self-Test) 加电自检 1 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序:例如BIOS会检测CPU.Memory以及I/O设备是否能够正常运行,如果是个人计算机的话可能还会检测一下显示器.只要一通电,CPU就会自动去加载ROM芯片上的BIOS程序,是这样来实现的.而检测完成之

  • CentOS7将Nginx添加系统服务的方法步骤

    导语 经过编译安装以及解决问题,Nginx 已经运行正常,但是此时 Nginx 并没有添加进系统服务.接下来会将 Nginx 添加进系统服务并且设置开机启动. 查看服务 首先查看 Nginx 的服务状态,输入 systemctl status nginx,结果如下 没有找到相关的服务,下一步就是添加系统服务. 添加系统服务 在 /usr/lib/systemd/system 目录中添加 nginx.service,根据实际情况进行修改,详细解析可查看下方参考资料中的文章.内容如下 [Unit]

  • centos8 安装 nginx的详细教程(图文)

    Nginx发音为" engine x",是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载.它可用作HTTP和非HTTP服务器的独立Web服务器,负载平衡器,内容缓存和反向代理. 与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量较小. 本教程说明了如何在CentOS 8上安装Nginx.  NGINX官网 http://nginx.org/ 创建文件夹mkdir nginx 进入创建的文件夹 根据自己需要下载合适版本 通

  • 搭建docker内网私服的方法(docker-registry with nginx&ssl on centos)

    本文介绍了搭建docker内网私服的方法,分享给大家.具体如下: 主要思路: 1. Docker Registry 说明 关于如何创建和使用本地仓库,其实已经有很多文章介绍了.因为docker技术正处于发展和完善阶段,所以有些文章要么内容已经过时,要么给出了错误的配置,导致无法正常创建仓库.本文记录的是个人完整的搭建过程,docker version为1.1.2. 官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个

  • Centos 安装 PHP7.4 和 Nginx的操作方法

    准备 1.下载所需安装包 wget https://www.php.net/distributions/php-7.4.0.tar.gz wget http://nginx.org/download/nginx-1.17.6.tar.gz 2.安装所需扩展 yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz libtool libtool-ltdl-devel freetype-devel libjpeg.x86_64

  • CentOS7安装Nginx并配置自动启动的方法步骤

    1.官网下载安装包 http://nginx.org/en/download.html,选择适合Linux的版本,这里选择最新的版本,下载到本地后上传到服务器或者centos下直接wget命令下载. 切换到/usr/local目录,下载软件包 # cd /usr/local # wget http://nginx.org/download/nginx-1.11.5.tar.gz 2.安装nginx 先执行以下命令,安装nginx依赖库,如果缺少依赖库,可能会安装失败,具体可以参考文章后面的错误提

  • 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/ngi

  • 对Tensorflow中tensorboard日志的生成与显示详解

    TensorBoard是TensorFlow下的一个可视化的工具,能够帮助我们在训练大规模神经网络过程中出现的复杂且不好理解的运算.TensorBoard能展示你训练过程中绘制的图像.网络结构等. 1. 构建简单的TensorBoard日志输出 import tensorflow as tf input1 = tf.constant([1.0, 2.0, 3.0], name="input1") input2 = tf.Variable(tf.random_uniform([3], n

  • 基于nginx设置浏览器协商缓存过程详解

    这篇文章主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 强缓存与协商缓存的区别 强缓存:浏览器不与服务端协商直接取浏览器缓存 协商缓存:浏览器会先向服务器确认资源的有效性后才决定是从缓存中取资源还是重新获取资源 协商缓存运作原理 现在有一个这样的业务情景:后端的静态资源会不定时地发生更新,而因为浏览器默认使用强缓存,会默认从浏览器缓存中取到过时的资源. 现在我们希望浏览器每次获取资源的时候都向后

  • nginx搭建jsdelivr镜像站过程详解

    目录 创建 jsdelivr 镜像站 使用 jsdelivr 镜像站 ​最近 jsdelivr 可谓国内站长圈的头条常客,这不,又双叒叕(yòu shuāng ruò zhuó)打不开了. 如何解决这个问题?最简单的方法当然是使用别人建立的jsd镜像站,但是稳定性和可靠性就只能看镜像站长的心情了吧.自己动手丰衣足食,还是自己搞个镜像吧. 创建 jsdelivr 镜像站 首先,你需要有一台安装了 nginx 的服务器.推荐使用腾讯云轻量服务器的Matomo镜像,其中集成了最新稳定版 nginx.p

  • nginx日志格式分析以及修改详解

    目录 一. 打开终端,登录服务器并输入服务器密码 二. 切换到nginx目录 三. 查看nginx日志 四. 修改nginx日志格式 五. 其他日志参数说明 总结 修改nginx日志打印格式 一. 打开终端,登录服务器并输入服务器密码 //ssh 用户名@服务器ip ssh root@192.168.0.132 二. 切换到nginx目录 cd /var/log/nginx/ 三. 查看nginx日志 tail -f access.log 日志说明: //默认的nginx标准日志格式 192.1

  • centos6.4+nginx+mysql+php+phpmyadmin整合过程详解

    本文实例讲述了centos6.4+nginx+mysql+php+phpmyadmin整合过程.分享给大家供大家参考,具体如下: 装了很多次机,做了很多次重复工作,最后,总结以下装CentOS经验: 注:很多问题其实都不是问题,先把selinux关了!setenforce 0 ,不然会死的很惨! 1. 先更新源 启用国内的源:163或sohu 163:http://mirrors.163.com/.help/centos.html 如果想使用新的软件,建议用REPL和remi的源 #remi的源

  • linux上nginx安装部署及使用过程详解

    1.下载 官网下载地址 2.部署 2.1安装前提 在linux下安装需要安装一下组件 1. gcc && g++ yum install gcc-c++ 2. pcre yum install -y pcre pcre-devel 3. zlib yum install -y zlib zlib-devel 4. openssl yum install -y openssl openssl-devel 2.2 安装 1. 解压nginx文件 tar -zxvf nginx-1.17.5.t

  • Nginx日志实现访问异常报警详解

    前言 在工作中为了防止一些恶意访问的行为,例如不断的请求刷流量,通过实时过滤Nginx访问日志,将单位时间内访问次数达到指定阀值的来源ip及时的通知系统管理员,这里通过邮件的方式通知. 监控脚本 vim /opt/nginx/sbin/nginx_log_monitor.sh #!/bin/bash #日志文件 logfile=/opt/nginx/logs/www #开始时间 start_time=`date -d"$last_minutes minutes ago" +"

  • nginx搭建图片服务器的过程详解(root和alias的区别)

    安装过程略(我是直接用 yum -y install nginx; 安装的). 启动 启动(重启)nginx,以下2个命令都可以: systemctl restart nginx; # 注:这里的nginx不是目录,是cd不进去的 /usr/sbin/nginx -s reload; 一般不报错就是启动成功. 页面验证nginx是否启动 浏览器输入ip,返回centos页面,这不对吧? 看下配置文件: root /usr/share/nginx/html; 该目录下的index.html 内容就

  • django中使用Celery 布式任务队列过程详解

    本文记录django中如何使用celery完成异步任务. Celery 是一个简单.灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具. 它是一个专注于实时处理的任务队列,同时也支持任务调度. 官方网站 中文文档 示例一:用户发起request,并等待response返回.在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验 示例二:网站每小时需要同步一次天气预报信息,但是http是请求触发的,难道要一小时请求一次吗? 使用cele

随机推荐