nginx日志切割
1.源码安装一个nginx(我的shell脚本执行的 )
#!/bin/bash ceshi_yemian() { http_code=`curl -I -s http://10.0.0.43:80|awk 'NR==1{print $2}'` if [ $http_code -eq 200 ]; then echo "可以正常访问页面" else echo "不可以访问页面" fi } #echo "安装依赖" yum -y install gcc pcre-devel zlib-devel # "创建存放nginx压缩包的目录" if [ -d /usr/locan/nginx ]; then echo "存放nginx压缩包的目录已经存在了" else mkdir /usr/local/nginx fi #下载nginx的压缩包 ls -la /usr/local/nginx/nginx-1.16.1.tar.gz if [ $? -eq 0 ]; then echo "压缩包已经存在" else cd /usr/local/nginx && wget http://nginx.org/download/nginx-1.16.1.tar.gz fi #判断解压出来的压缩包是否已经存在了 if [ -d /usr/local/nginx/nginx-1.16.1]; then echo "解压出来的压缩包已经存在" else cd /usr/local/nginx && tar -zxf nginx-1.16.1.tar.gz fi #检查环境 编译 安装 cd /usr/local/nginx/nginx-1.16.1 && ./configure --prefix=/usr/local/nginx && make && make install ss -ntlp | grep -w nginx if [ $? -eq 0 ]; then echo "服务已经开启" ceshi_yemian else kill -9 `cat /usr/local/nginx/log/nginx.pid` /usr/local/nginx/sbin/nginx ceshi_yemian fi /bin/bash /root/shell/nginx_log.sh
2.开始切割日志 是按日期切割的 每天的凌晨开始执行这个脚本
#/bin/bash logs_path="/usr/local/nginx/logs/" mv ${logs_path}access.log ${logs_path}access_$(date +"%Y-%m-%d").log ss -ntlp | grep nginx if [ $? -eq 0 ]; then /usr/local/nginx/sbin/nginx -s reload else /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -s reload fi echo "" > /var/spool/cron/root cat >>/var/spool/cron/root<<eof 00 00 00 00 00 /bin/bash /root/shell/yace.sh 00 00 00 00 00 /bin/bash /root/shell/nginx_log.sh eof
3.写一个压测脚本 给nginx生产一些数据
#!/bin/bash for i in {1..10} do curl -I -m 10 -o /dev/null -s -w %{http_code} http://10.0.0.43 done