高性能服务器——Nginx之日志切割

1、什么是日志切割

日志切割就是把系统的日志以天为单位进行存放。

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

  • 在企业中每天的日志文件都是要打包备份的,如果不做日志切割,任由日志文件累积,当日志文件很大的时候,vim打开时可能会卡死。
  • 日志切割有利于排错,是哪天的问题就查哪天对应的日志,方便快捷。

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.yang.org/index.html	#访问服务端10000次

服务端:

du -sh access.log 	##查看访问文件大小
mv access.log `date +%F -d -1day`_access.log	##管理日志,进行手动切割,日志名为“日期_access.log”
nginx -s reopen		##重新获得新的access.log文件

4、日志切割的脚本实现

如果每天都手动的去截取日志、重命名就很不方便,所以我们编写一个脚本并建立一个定时任务来进行这些重复工作:

在服务端写入脚本:

cd /usr/local/nginx/logs
vim 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

设置权限、建立目录:

chmod +x backup.sh
mkdir oldlogs

执行脚本,查看日志是否自动切割备份:

./backup.sh 
cd oldlogs/
ll		##查看是否生成了切割后的日志文件

编写定时任务: 使服务器每天的00:00准时去进行日志切割:

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

crontab -l		##显示定时任务,查看定时任务是否写入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值