shell笔记

获取内存大小

free -m | awk 'NR==3 {print $NF}'

监控web和数据库

【端口监控,监控服务进程或进程数,在客户端模拟用户访问,登陆mysql数据库判断】

在服务器本地监控服务端口的常见命令有netstat,ss,lsof。从远端监控服务器本地端口的命令有telnet,nmap,nc

ps -ef | grep nginx | wc -l

ps -ef | grep mysql | wc -l

使用wget ,curl

mysql客户端连接数据库,根据返回值和内容判断

mysql -uuser -ppassword -e "select version();" &>/dev/null; echo $?

本地

netstat -lntup | grep 3306 | wc -l

netstat -lntup | grep mysql | wc -l

ss -lntup | grep mysql | wc -l

ss -lntup | grep 3306 | wc -l

lsof -i tcp:3306 | wc -l 

远端

nmap 127.0.0.1 -p 3306 | grep open | wc -l

echo -e " " | telnet 127.0.0.1 3306 2>/dev/null | grep Connected | wc -l

nc -w 2 127.0.0.1 3306 &>/dev/null

进程数

ps -ef | grep mysql | grep -v grep | wc -l

客户端模拟用户访问

wget -spider --timeout=10 --tries=2 域名 &>/dev/null #--spider模拟爬取

wget -T 10 -q --spider http://域名 >&/dev/null #-q 表示安静的

curl -s -o /dev/null  http://域名

php程序访问数据库

<?php

  //$link_id=mysql_connect('主机名','用户','密码');

  $link_id=mysql_connect('localhost','root','******') or mysql_error();

  //$link_id=mysql_connect('localhost','test',' ');

  if($link_id) {

    echo "mysql successful by * "

  }else{

    echo mysql_error();

  }

?>

nginx web服务 

netstat -lnt | grep -w 80 | awk -F "[ :]+" '{print $5}'

netstat -lnt | grep -w 80 | wc -l

ss -lntup | grep -w 80 | wc -l

lsof -i tcp:80 | wc -l

远端

nmap 127.0.0.1 -p 80 | grep open | wc -l

echo -e " " | telnet 127.0.0.1 80 2>/dev/null | grep Connected | wc -l

nc -w 2 127.0.0.1 80 &>/dev/null

进程数

ps -ef | grep nginx | grep -v grep | wc -l

ps -C nginx --no-header | wc -l

客户端模拟用户

wget --spider --timeout=10 --tries=2 http://127.0.0.1 &>//dev/null

wget -T 10 -q --spider http://127.0.0.1 &>/dev/null

curl -s -o /dev/null http://127.0.0.1

根据HTTP响应header的结果判断

curl -I -s -w "%{http_code} " -o /dev/null http://127.0.0.1

`netstat -lntup | grep nginx | wc -l` -gt  0

`lsof -i tcp:80 | wc -l` -gt 0

`nmap 127.0.0.1 -p 80 2>/dev/null | grep open | wc -l` -gt 0

`nc -w 2 127.0.0.1 80 &>/dev/null&&echo ok | grep ok | wc -l` -gt 0

`ps -ef | grep -v grep | grep nginx | wc -l` -ge 1

`curl -I -s -o /dev/null -w "%{http_code} " http://127.0.0.1` = [[ [23]0[012] ]]

`curl -I http://127.0.0.1 2>/dev/null | head -1 |egrep "200|302|301" | wc -l` -eq 1

"`curl -s http://127.0.0.1`" = "特定的返回值"

变量的子串替换加正则表达式

"$num" = "${num//[^0-9]/}"

原文地址:https://www.cnblogs.com/luozhongyuan/p/9908805.html