博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SHELL判断服务是不是正在运行
阅读量:6404 次
发布时间:2019-06-23

本文共 3199 字,大约阅读时间需要 10 分钟。

使用SHELL脚本进行检查服务开启情况

#!/bin/bash#需要首先安装 yum install nmap -y#检查指定端口是否开启function checkPortStatus(){        status=`nmap -sS 127.0.0.1 -p $1 | grep open | awk '{print $2}'`        if [ "$status" != "open" ];        then                return 0;        else                return 1;        fi}checkPortStatus 80echo $?checkPortStatus 81echo $?

 

调用python发送QQ邮件的邮件(可以防止垃圾邮件屏蔽)

#-*-coding:utf-8-*-#===============================================================================# 导入smtplib和MIMEText#===============================================================================from email.MIMEText import MIMETextfrom email.Header import Headerimport smtplib, datetime,sys#===============================================================================# 要发给谁,这里发给1个人#===============================================================================mailto_list=["10402852@qq.com"]#===============================================================================# 设置服务器,用户名、口令以及邮箱的后缀#===============================================================================mail_host="smtp.qq.com"mail_user="10402852"mail_pass="*************"mail_postfix="qq.com"#===============================================================================# 发送邮件#===============================================================================def send_mail(to_list,sub,content):    '''    to_list:发给谁    sub:主题    content:内容    send_mail("10402852@qq.com","sub","content")    '''    me=mail_user+"<"+mail_user+"@"+mail_postfix+">"    msg = MIMEText(content)    msg['Subject'] = sub    msg['From'] = me    msg['To'] = ";".join(to_list)    try:        s = smtplib.SMTP()        s.connect(mail_host)        s.login(mail_user,mail_pass)        s.sendmail(me, to_list, msg.as_string())        s.close()        return True    except Exception, e:        print str(e)        return Falseif __name__ == '__main__':    if send_mail(sys.argv[1],sys.argv[2],sys.argv[3]):        print "发送成功"    else:        print "发送失败"

 测试用例:

[root@199 huanghai]# python mail.py 10402852@qq.com 黄海的测试标题 黄海的测试内容

发送成功

 

watch.py 监控CPU,内存,磁盘等情况

#!/usr/bin/python#fileName:getinfoinsh.py#get cpu,meminfo from top command.import osimport timedef getinfointop():    topp=os.popen("top -n1|grep -E '^Cpu|^Mem'")    toppstr=topp.read()    replacestr=["\x1b","[m","\x0f","[K"]    # replace the str cannt be printed.    for item in replacestr:toppstr=toppstr.replace(item,'')    splitstr=toppstr.split("\n")    cpuinfo=splitstr[0].split()    meminfo=splitstr[1].split()    info=(cpuinfo[1].strip(','),cpuinfo[2].strip(','),cpuinfo[4].strip(','),meminfo[3],meminfo[5],meminfo[1])    return infodef getinfoindh():    dhplines=[]    for i in os.popen("df -h"):        dhplines.append(i.strip())    return dhplinesif __name__=='__main__':    info=getinfointop()    diskinfo=getinfoindh()    print 'cpu info:'    print "user cpu used:",info[0]    print "system cpu used:",info[1]    print "free cpu:",info[2]    print ''    print 'Mem info:'    print "used mem:",info[3]    print "free mem:",info[4]    print "total mem:",info[5]    print ''    print 'disk info:'    for i in diskinfo:print i    print ''    print 'time:', time.strftime('%Y-%m-%d  %H:%M',time.localtime(time.time()))

 

转载地址:http://wqjea.baihongyu.com/

你可能感兴趣的文章
centos上安装redis
查看>>
Maven坐标、依赖的介绍之发送邮件示例项目
查看>>
通过 skynet 学习到的 assert 的使用
查看>>
nginx配置文件的基本配置
查看>>
基本数据结构:链表(list)
查看>>
python获取主机ip的正确方式
查看>>
多线程的设计模式
查看>>
Java8 List 分组 Java 8 Stream 流式计算
查看>>
MyBatis6:MyBatis集成Spring事物管理(下篇)
查看>>
存储论---存储论的基本概念
查看>>
使用certbot自动签发SSL证书(Let's Encrypt证书)
查看>>
C# 枚举、字符串、值的相互转换
查看>>
Struts秘籍之第1段:第2.1式:用插件来进行应用初始化
查看>>
GMF树形布局 3 展开/折叠时更换Node图标
查看>>
PHP截取字符串,获取长度,获取字符位置的函数 中文字符截取
查看>>
边缘计算与数据中心的发展趋势
查看>>
ALAsset,ALAssetsLibrary,ALAssetsgroup常见属性及用法
查看>>
SVN各种错误提示产生原因及处理方法大全
查看>>
Linux下基于端口的服务检查脚本
查看>>
setInterval
查看>>