nginx运维相关命令

目录

一、nginx统计

二、nginx日志定时备份


一、nginx统计

1.根据访问IP统计UV

awk '{print $1}' access.log|sort | uniq -c |wc -l

2.统计访问URL统计PV

awk '{print $7}' access.log|wc -l

3.查询访问最频繁的URL

awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more

4.查询访问最频繁的IP

awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more

5.根据时间段统计查看日志

cat access.log| sed -n '/14/Mar/2015:21/,/14/Mar/2015:22/p'|more

6.查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

7.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

参数说明:
CLOSED:无连接是活动的或正在进行
ESTABLISHED:正常数据传输状态
TIME_WAIT:处理完毕,等待超时结束的请求数
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

二、nginx日志定时备份

可参考以下日志备份脚本,生成定时任务,效果:对任意路径下日志保存任意天数的日志并进行压缩,最后删除其余日志

#!/bin/bash

dir=$1


name=`date -d yesterday +%Y%m%d`
errorFileName=$dir/error
nginxFileName=$dir/nginx
newErrorFileName=$dir/error.$name
newNginxFileName=$dir/nginx.$name


cp $errorFileName.log $newErrorFileName.log
cat /dev/null > $errorFileName.log
cp $nginxFileName.log $newNginxFileName.log
cat /dev/null > $nginxFileName.log

tar -zcvf $newErrorFileName.tar.gz $newErrorFileName.log
rm -rf $newErrorFileName.log
tar -zcvf $newNginxFileName.tar.gz $newNginxFileName.log
rm -rf $newNginxFileName.log

find $dir/  -mtime +$2 -type f -name *.tar.gz | xargs rm -f

定时任务可采用crontab,如下:

00 00 * * * /bin/bash /**/**/日志备份脚本.sh /**/**/nginx日志的上一级目录名 保留天数

 未完待续...

你可能感兴趣的:(linux,nginx,运维,nginx,服务器,linux)