Chinaunix首页 | 论坛 | 博客
  • 博客访问: 873633
  • 博文数量: 72
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-04 15:53
个人简介

主要从事Linux,云原生架构改造,服务网格,ELK,python,golang等相关技术。

文章分类

全部博文(72)

文章存档

2015年(52)

2014年(20)

分类: 架构设计与优化

2015-06-22 21:13:47

每天定时切割 Nginx 日志的脚本
1) vi /usr/local/nginx/sbin/cut_nginx_log.sh

点击(此处)折叠或打开

  1. #!/bin/bash
  2. # This script run at 00:00
  3. # The Nginx logs path
  4. logs_path="/usr/local/nginx/logs/"
  5. mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
  6. mv ${logs_path}access_blog.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d
  7. "yesterday" +"%m")/access_blog_$(date -d "yesterday" +"%Y%m%d").log
  8. mv ${logs_path}access_ ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d
  9. "yesterday" +"%m")/access_www_$(date -d "yesterday" +"%Y%m%d").log
  10. kill -USR1 `cat /usr/local/nginx/nginx.pid`
  11. crontab -e
  12. 00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
2) vi /usr/local/nginx/sbin/cut_nginx_log.sh

点击(此处)折叠或打开

  1. #!/bin/bash
  2. nginx_app=/usr/local/nginx/sbin/nginx #设置 nginx 的目录
  3. logs_dir=/usr/local/nginx/logs/ #log 目录
  4. bak_dir=/usr/local/nginx/logs/bak/ #log 备份目录
  5. #先把现有的 log 文件挪到备份目录临时存放
  6. cd $logs_dir
  7. echo “moving logs”
  8. /bin/mv *.log $bak_dir
  9. sleep 3
  10. #重建 nginx log
  11. echo “rebuild logs”
  12. echo “$nginx_app -s reopen”
  13. $nginx_app -s reopen
  14. #按天打包 log 文件
  15. echo “begining of tar”
  16. cd $bak_dir
  17. /bin/tar zcf `date +%Y%m%d`.tgz *.log
  18. #删除备份目录的临时文件
  19. echo “rm logs”
  20. rm -f *.log
  21. echo “done”
  22. crontab -e
  23. 00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh >/dev/null 2>&1
3) vi /etc/logrotate.conf

点击(此处)折叠或打开

  1. /usr/local/nginx/logs/*.log {
  2. daily
  3. missingok
  4. rotate 7
  5. compress
  6. delaycompress
  7. notifempty
  8. create 640 root adm
  9. sharedscripts
  10. postrotate
  11. [ ! -f /usr/local/nginx/logs/nginx.pid ] || kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
  12. endscript
  13. }
logrotate -vf /etc/logrotate.conf

webbench网站压力测试工具的安装和使用

wget ~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
vim Makefile

点击(此处)折叠或打开

  1. install -m 644 webbench.1 $(DESTDIR)$(PREFIX)/share/man/man1        #修改这里的路径
make && make install
#webbench -? (查看命令帮助)
常用参数 说明,-c 表示客户端数,-t 表示时间
测试实例:

webbench -c 500 -t 30

分析:每秒钟响应请求数:15402 pages/min,每秒钟传输数据量14085893 bytes/sec.



阅读(4507) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~