高性能服务器---nginx(八)---日志切割(手动方式&脚本方式)

高性能服务器—nginx(八)—日志切割(手动方式&脚本方式)

1.日志切割

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

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

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

3.手动方式实现日志切割

nginx服务器的日志类型

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

服务端:

cd /usr/local/nginx/
cd logs/
ls	#访问日志都在里面

在这里插入图片描述
在客户端(真机):

ab -c 1 -n 10000 http://www.westos.org/index.html	#访问服务端10000次

在这里插入图片描述
服务端:

du -sh access.log 	#查看文件大小
mv access.log `date +%F -d -1day`_access.log	#管理日志
nginx -s reopen	#重新获得新的access.log文件

在这里插入图片描述

4.脚本方式实现日志切割

在服务端写入脚本:

cd /usr/local/nginx/logs
vim backup.sh

  1 #!/bin/bash
  2 LOGS_PATH=/usr/local/nginx/logs/oldlogs
  3 CUR_LOGS_PATH=/usr/local/nginx/logs
  4 YESTERDAY=$(date +%F -d -1day)
  5 
  6 mv $CUR_LOGS_PATH/access.log $LOGS_PATH/${YESTERDAY}_access.log
  7 mv $CUR_LOGS_PATH/error.log $LOGS_PATH/${YESTERDAY}_error.log
  8 
  9 /usr/local/nginx/sbin/nginx -s reopen

在这里插入图片描述
设置权限、建立目录:

chmod +x backup.sh
mkdir oldlogs
ll

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

  ./backup.sh 
cd oldlogs/
ll

在这里插入图片描述
编写定时任务: 使服务器每天的00:00准时去进行日志切割

crontab -e
写入:
0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh

crontab -l		#显示定时任务

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值