3月 23

python 用ping循环监测服务器心跳

        循环用ping命令监测服务器是否在运行。本脚本为循环监测,每次监测间隔3秒钟。当错误达到一定数量时,发邮件告知。为了防止脚本错误退出,建议写一个启停的脚本放在crontab中调用,具体做法参见:http://www.simonzhang.net/?p=697

#!/usr/local/bin/python
# -------------------------------------------------------------------------------
# Filename:    check_ip.py
# Revision:    1.0
# Date:        2012-03-20
# Author:      simonzhang
# web:         www.simonzhang.net
# Email:       simon-zzm@163.com
# -------------------------------------------------------------------------------
import pexpect
import time
import smtplib
from email.mime.text import MIMEText

#### base set
#### 配置要监测的IP地址
check_ip ={"192.168.1.100":0
           ,"192.168.1.101":0
           ,"192.168.1.102":0}
#### 定义几次ping不通发邮件
send_mail_limit = [3,4]
#### 发邮件的邮件服务器配置
mail_host = 'smtp.exmail.qq.com'
mail_user = 'simon-zzm@qq.net'
mail_pwd = 'XXXXXXX'
mail_to = "simon-zzm@139.com"
mail_cc = "simon-zzm@163.com"
####

def mail_warn(error_ip):
    content = 'Ping IP %s is error!'%error_ip
    msg = MIMEText(content)
    msg['From'] = mail_user
    msg['Subject'] = 'warnning %s'%error_ip
    msg['To'] = mail_to
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pwd)
        s.sendmail(mail_user,[mail_to,mail_cc],msg.as_string())
        s.close()
    except Exception ,e:
        print e

def check(get_ip):
    try :
        ping=pexpect.spawn("ping -c1 %s" % (get_ip))
        check_result =ping.expect([pexpect.TIMEOUT,"1 packets transmitted, 1 received, 0% packet loss"],2)
    except :
        check_result = 0
    return check_result

def main():
    while True :
        for i in check_ip:
            check_status = check("%s"%i)
            if check_status == 1:
                check_ip["%s"%i] = 0
            else :
                check_ip["%s"%i] +=1
            if check_ip["%s"%i] in send_mail_limit :
                mail_warn("%s"%i)
        time.sleep(3)

if __name__ == "__main__":
    main()
7月 26

成功案例的另一面

从公司建立的时候我就在其中忙碌,至今日已近两年。我们有空的时候应该回头看一下发展的历程,说的有点客气,我自己把其称其为反思。既然是反思也就没有必要客气实实在在的解决点真正的问题。
我现在还记得那时候经常说起的一个案例“老马差点50万把腾讯卖了”,得出的结论是要坚持。我不是说坚持不对,而是要说不是所有坚持都能成功。在坚持的同时,即使再危再苦难也要非常小心步步为赢,在目前竞争激烈的市场中,稍有疏忽也会一败涂地。
在我上大学的时候也许是腾讯比较困难的时候,有很多的传言,比如包月使用,安聊天量使用,按时长使用,注册收费等种说法不一。
那时候qq的功能很少如果要收费也就是这些项目,但是后来都没有实行,在我认为这个也是最重要的决定“基础业务免费”。在同一个阶段2002年有一个很火的网站263.com,决定邮箱收费当时炒的沸沸扬扬,并且删除了一大批免费的邮箱,有些人在登陆时才知道因为收费问题自己的邮箱已经被删除了。记得2006年的时候我提起这件事情才发现一同吃饭六个人中包括我在内有三个人都因为这个原因不再去263了。至于今天的其网站的地位大家也都可以看到。难道是因为腾讯的基础业务免费才成为了行业老大吗?当然也不是,基础业务免费主要是维护客户,使客户不断增加,培养客户的使用习惯。在今天看来很多人上网的习惯是开操作系统开,打开qq和msn,之后便是打开ie浏览器。这种习惯在很多人中已经和吃饭一样,但是单靠基础业务的免费也不可能培养出这种习惯,当然企业也无法发展。在2004年后的一年多内即时通信软件遍地都是,外来的MSN、ICQ、skapy,国产的泡泡、小蜜蜂等等,捆绑的功能更是多种多样,免费到底成为最基础的承诺。四年之后的2008年腾讯在中国及时通信行业还是老大的地位,为什么?再捆绑功能的同时,不断推出新功能,在新功能中采取部分收费手段保证运营。并不是说所有改变都是成功,在某些收费业务没有达到客户期望的时候也流失了一部分客户。
在来看看当今的很多企业整天都在想如何收费,如何赚钱。有些公司还没有想如何去培养客户时,就在思考如果我们有了客户将如何去收费,甚至有些公司把半成品拿出去卖,很多功能还没有开发完已经像客户承诺功能是如何强大。在我看来外国很多的免费软件的功能远远超出国内的费软件。
请大家走好,小心一招之错满盘皆输。