Nginx服务(4)——nginx日志切割

一、日志切割

1、什么是日志切割?

日志切割就是把系统的日志以天为单位进行存放,即每一天的日志都分开放
企业当中每天都要备份昨天的日志,然后生成一个新的日志记录今天的
如果不做日志切割,当日志文件很大的时候,vim打开的时候可能卡死等等
日志分开后排错的时候也简单,是哪天的问题查哪天的日志

2、为什么要进行日志切割?

在生产环境中每一天的日志文件都是要打包备份的
如果每天都手动的去截取日志,重命名这样就很不方便,所以我们编写一个脚本并建立一个定时任务来进行这些工作
日志切割是自动执行的,写在crotab定时任务里面,写一个脚本实现

二、手动方式和脚本方式实现nginx日志切割

实验环境
主机名ip功能
server1172.25.1.1nginx服务器
真机172.25.1.250客户端,用来测试
实验
1、手动方式实现日志切割

在server1(服务端)上:
(1)查看nginx服务器的日志都有哪些类型

日志名称日志类型
access.log存放成功访问nginx服务器的日志信息
error.log存放访问nginx服务器失败的日志信息
nginx.pid严格来说这个不算日志,里面存放的是nginx进程的pid
cd /usr/local/nginx/logs/
ls

在这里插入图片描述
(2)查看当前时刻nginx服务器日志的大小,里面的内容太少了
因为我的nginx服务器是实验才搭建起来的,只测试过几次,因此内容少
实际企业当中日志的信息量是非常大的

du -sh access.log

在这里插入图片描述
在真机(客户端)上
(3)多次请求页面,再查看日志大小

ab -c 1 -n 100000 http://172.25.1.1/index.html	##1个并发,100000次请求

在这里插入图片描述在这里插入图片描述
在server1(服务端)上:
(4)在服务端再次查看日志的大小

du -sh access.log 

在这里插入图片描述
(5)接下来手动进行日志切割

mv access.log `date +%F -d -1day`_access.log      #按日期备份
/usr/local/nginx/sbin/nginx -s reload          #重新生成一个新的日志

在这里插入图片描述
在真机(客户端)上
(6)再次发起请求页面

ab -c 1 -n 100 http://172.25.1.1/index.html	##1个并发,100次请求

在这里插入图片描述
在server1(服务端)上:
(7)在服务端查看日志的大小

du -sh access.log  #查看日志大小
cat access.log | wc -l  #查看成功请求的日志行数

在这里插入图片描述

2、脚本方式实现日志切割
kill -USR1 $(当前运行的master进程号)重新打开日志文件,主要用在日志切割

在server1(服务端)上:

(1)在nginx服务的日志目录下面编写脚本

vim backup.sh
 
#!/bin/bash
LOG_PATH=/usr/local/nginx/logs/oldlogs
CUR_LOG_PATH=/usr/local/nginx/logs
YESTERDAY=$(date +%F -d -1day)

mv $CUR_LOG_PATH/access.log $LOG_PATH/${YESTERDAY}_access.log
mv $CUR_LOG_PATH/error.log $LOG_PATH/${YESTERDAY}_error.log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

在这里插入图片描述
(2)给权限

chmod +x backup.sh

在这里插入图片描述
(3)创建日志存放目录

mkdir oldlogs

在这里插入图片描述
(4)执行脚本,查看日志是否自动切割备份

cd /usr/local/nginx/logs
./backup.sh 
cd oldlogs/
ls

在这里插入图片描述在这里插入图片描述
(5)编写定时任务,使实际企业当中的服务器每天晚上的24:00准时去进行日志切割

crontab -e

0 0 * * * /bin/bash  /usr/local/nginx/logs/backup.sh

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值