• mysql 自动检测主从同步状态的一个小脚本

    Slave机器的IO和SQL状态都必须为YES,才是同步状态;

    #!/bin/bash 
    #Check MySQL Slave's Runnning Status
    #Crontab time 00:10
    
    MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`
    MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
    STATUS=$(/usr/bin/mysql -uroot -p123qwe -S /var/lib/mysql/mysql.sock -e "show slave status\G" | grep -i "running")
    IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`
    SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`
    DATA=`date +"%y-%m-%d %H:%M:%S"`
    
    function checkMysqlStatus(){
    	if [ "$MYSQLPORT" == "3306" ]
    	then
    		/usr/bin/mysql -uroot -p123qwe --connect_timeout=5 -e "show databases;" &>/dev/null 2>&1
    		if [ $? -ne 0 ]
    		then
    			echo "Server: $MYSQLIP mysql is down, please try to restart mysql by manual!" > /var/log/mysqlerr
                mail -s "WARN! server: $MYSQLIP  mysql is down." mailcity@126.com < /var/log/mysqlerr
    		else
    			echo "mysql is running..."
    		fi
    	else
    		mail -s "WARN!Server: $MYSQLIP mysql is down." mailcity@126.com
    	fi
    }
     
    checkMysqlStatus
    
    if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
    then
      echo "MySQL Slave is running!"
    else
      echo "####### $DATA #########">> /var/log/mysql/mysql_slave_status.log
      echo "MySQL Slave is not running!" >>    /var/log/mysql/mysql_slave_status.log
      echo "MySQL Slave is not running!" | mail -s "WARN! $MYSQLIP MySQL Slave is not running." mailcity@126.com
    fi
    
  • 压测工具 siege

    siege下载地址:http://www.joedog.org/pub/siege/siege-3.0.3.tar.gz

    centos 下编译安装

    ./configure

    make

    make install

    创建.siegec.config配置文件到当前用户的家目录下  /roor/.siegerc
    /usr/local/bin/siege.config

    使用

    50个用户(每次并发量,注意不是每秒并发量) 重复100次 共产生 50 * 100 = 5000个请求
    /usr/local/siege/bin/siege -c 50 -r 100  https://www.abc.com/a.php

    50个用户 重复100次 发送GET参数
    /usr/local/siege/bin/siege -c 50 -r 100  https://www.abc.com/a.php?name=zhangsan

    50个用户 重复100次 发送POST参数 (注意引号)
    /usr/local/siege/bin/siege -c 50 -r 100  “https://www.abc.com/a.php POST name=zhangsan”

    50个用户 重复100次 发送POST参数(从文件中读取)
    /usr/local/siege/bin/siege -c 50 -r 100  “https://www.abc.com/a.php POST < /root/ab_test/post.xml”

    另外还有发送时间参数等
    详情请man 或 siege -h
    参考链接:http://www.joedog.org/siege-home/

  • 张开你的大嘴

    昨晚帮一个美女装无线路由,折腾完都12点了,
    走的时候她竟然跟我说晚上骑车不好,不安全,要不留下住一晚吧。
    真是可笑,哥的车技如同行云流水,怎么会不安全!?
    20分钟就到家啦!

    今天在十字路口碰到俩打架得,周围很多人看热闹,
    警察也来了,一打听才得知,
    原来这俩人是到十字路口烧纸的,
    其中一个烧纸的时候说:爸,你生前没花到多少钱,现在给你多烧点,弄个飞机开。
    另一个烧纸的听到后,边烧纸边嘟囔:操、真JB能吹,爸,我也给你多烧点,买个大炮,专门轰飞机。
    然后就打起来了!

    某村搞计划生育,成年男子一律结扎。一个老光棍坐不住了,到计生办要求结扎。
    工作人员火了:你凑什么热闹,人家结扎的都是有老婆的,你一个人扎啥子?
    老光棍也火了,愤愤地说:全村的男人都结扎了,那以后村里哪个女人怀孕了,
    不都要赖在我头上吗?老子没那么傻!

    牙疼到医院拔牙,前面有一个四五岁小男孩不愿意治疗,哭闹,怎么哄都不行。
    男孩儿妈妈就说:“不疼的,乖,要不让后面的叔叔先来,你看看叔叔疼不疼”
    男孩儿点头答应。于是我坐在治疗椅上治疗,医生很麻利地打麻药,拿钳子拔牙。
    尼玛拔断了有没有,然后各种拽拉,终于拔掉了,弄的老子满嘴是血。
    疼的我啊啊大叫,眼泪都出来了。然后之前的那男孩吓傻了,哭着跑了……
    我只想说:姐,我真不是装的,是真他妈疼啊!你原谅我吧!