zoukankan      html  css  js  c++  java
  • My first python script for work

    I write it yesterday to watch the NE process(rcpfd,cfgd) automatically, then i will write a window to implement it:

    #! /usr/bin/env python
    # -*- coding: UTF-8 -*-

    import paramiko
    import ssh
    import os
    import re
    import time
    #RCPD异常类
    class RCPD_Exception(Exception):
    def __init__(self,value):
    self.value=value
    def __str__(self):
    return self.value

    #CFGD异常类
    class CFGD_Exception(Exception):
    def __init__(self,value):
    self.value=value
    def __str__(self):
    return self.value

    #check进程的函数,进程stuck会报异常,每ss(s>1)秒check一次
    def check(hostname,ss):
    hostname=hostname
    port = 22
    username = 'root'
    password = 'root'
    #os.chdir(r'C:UserscchenDesktop')
    paramiko.util.log_to_file('paramiko.log')
    s = paramiko.SSHClient()
    s.load_system_host_keys()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname,port,username,password)
    ssh=s.invoke_shell()
    ss-=1
    while(1):
    time.sleep(ss)
    ssh=s.invoke_shell()
    ssh.send('ps -ef ')
    time.sleep(1)
    x = ssh.recv(10000)
    #print x
    pattern1=re.compile(r'(./rcpd|[rcpd])')
    rcpd=re.findall(pattern1,x)
    print rcpd,time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    pattern2=re.compile(r'(./cfgd|[cfgd])')
    cfgd=re.findall(pattern2,x)
    print cfgd,time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    if not rcpd[0]=='./rcpd':
    try:
    raise RCPD_Exception('RCPD stuck')
    except RCPD_Exception,e:
    print e

    if not cfgd[0]=='./cfgd':
    try:
    raise CFGD_Exception('CFGD stuck')
    except CFGD_Exception,e:
    print e

    if __name__=='__main__': check('200.200.180.18',8)

  • 相关阅读:
    2016.07.24
    这个月
    PL/SQL: numeric or value error: character to number conversion error
    java下double相乘精度丢失问题
    Oracle中实现find_in_set
    oracle中,改变表名和字段名的大小写
    Unknown entity XXX
    Incorrect column count: expected 1, actual 5
    负数的二进制表示
    【Android】Android单例模式及使用单例模式实现自己的HttpClient工具类
  • 原文地址:https://www.cnblogs.com/AlwaysT-Mac/p/6010100.html
Copyright © 2011-2022 走看看