Nginx的日志备份

日志备份

  • 日志信息

  • access.log:该日志文件是用来记录客户在访问该nginx时产生的每一个请求,格式可以自定义,通过访问日志就可以得到用户地域来源跳转来源,使用终端,某个URL访问等相关信息

  • error.og:错误日志,主要是记录客户端访问Nginx错误时产生的日志,格式不支持自定义,通过错误日志。可以得到系统的某个服务或者server的性能瓶颈。因此将错误日志好好利用,可以得到很多有价值的信息

  • nginx.pid:该日志文件主要是用来记录nginx的master进程的pid,当nginx服务启动时,会自动在该目录下生成该进程的pid文件

  • 日志的自动生成:

  • 每次启动nginx或执行reopen命令时,都会在/usr/local/nginx/logs下重新生成access.log日志文件

     [root@server1 logs]# mv access.log access.bak
     [root@server1 logs]# ls
     access.bak  error.log  nginx.pid
     [root@server1 logs]# /usr/local/nginx/sbin/nginx -s reopen
     [root@server1 logs]# ls
     access.bak  access.log  error.log  nginx.pid
    
  • 对日志进行备份:

     [root@server1 html]# date##查看当前时间
     Tue Jul 23 13:29:55 CST 2019
     [root@server1 nginx]# ab -c 1 -n 100 http://172.25.42.1/index.html ##访问页面100次
     [root@server1 nginx]# cd logs
     [root@server1 logs]# ls
     access.log  backup.sh  error.log  nginx.pid  oldlogs
     [root@server1 logs]# wc -l access.log  ##查看日志由100行
     100 access.log
     [root@server1 logs]# mv access.log `date +%F -d -1day`_access.log##保留前一天日志
     [root@server1 logs]# wc -l 2019-07-22_access.log 
     100 2019-07-22_access.log
    
  • 使用脚本实现自动备份:

     脚本:
    
	    #!/bin/bash 
	    LOGS_PATH=/usr/local/nginx/logs/oldlogs
	    CUR_LOGS_PATH=/usr/local/nginx/logs
	    YESTERDAY=$(date +%F -d -1day)
        
        mv $CUR_LOGS_PATH/access.log $LOGS_PATH/${YESTERDAY}_access.log
        mv $CUR_LOGS_PATH/error.log $LOGS_PATH/${YESTERDAY}_error.log
        /usr/local/nginx/sbin/nginx -s reopen
        kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
        

实际操作:

    [root@server1 html]# date##查看当前时间
	Tue Jul 23 13:29:55 CST 2019
    [root@server1 logs]# cat backup.sh #查看脚本内容
    #!/bin/bash 
    LOGS_PATH=/usr/local/nginx/logs/oldlogs
    CUR_LOGS_PATH=/usr/local/nginx/logs
    YESTERDAY=$(date +%F -d -1day)
    
    mv $CUR_LOGS_PATH/access.log $LOGS_PATH/${YESTERDAY}_access.log
    mv $CUR_LOGS_PATH/error.log $LOGS_PATH/${YESTERDAY}_error.log
    /usr/local/nginx/sbin/nginx -s reopen
    kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)


    [root@server1 logs]# make oldlogs##生成脚本中目录
    [root@server1 logs]# sh backup.sh##执行脚本
    [root@server1 logs]# cat oldlogs/2019-07-22_access.log ##查看脚本中的结果
	2019/07/23 11:52:07 [notice] 9698#0: signal process started
	2019/07/23 13:04:21 [notice] 9813#0: signal process started
  • 添加定时命令实现每天凌晨对日志进行备份
    [root@server1 oldlogs]# crontab -e
    [root@server1 oldlogs]# crontab -l
    0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值