• mysqld异常重启后,自动启动应用srm进程


    #!/usr/bin/python
    #-*- coding: utf-8 -*-

    import paramiko
    import os
    import commands
    import time

    os.environ['PATH'] = '$PATH:$HOME/bin:/veris/usr/bin:/veris/usr/sbin'
    os.environ['LD_LIBRARY_PATH'] = '/veris/usr/lib64:$LD_LIBBRARY_PATH'

    port=5320
    veris_name="billing"
    error_file="/veris/%s/mysql/%d/log/error/error_%d.log" % (veris_name,port,port)
        
    if os.path.isfile(error_file):
        if "mysqld restarted" in open(error_file).read():
            check_mysql_cmd = "mysqladmin -h127.0.0.1 -P%d -uroot -pxxxxxx ping 2>/dev/null" % port
            try:
                is_up=commands.getoutput(check_mysql_cmd)
            except Exception, err1:
                print err1
            if is_up == "mysqld is alive":
                ssh = paramiko.SSHClient()
                ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                ssh.connect("10.1.196.90",22,"aibilling", "123456")
                try:
                    stdin, stdout, stderr = ssh.exec_command("srm")
                except Exception, err2:
                    print err2
                print stdout.read()
                ssh.close()             
                error_path=os.path.dirname(error_file)
                error_name=os.path.basename(error_file)
                os.rename(error_file,error_path + os.sep + "bak" + os.sep + time.strftime('%Y%m%d.%H%M.') + error_name)

    版权声明:QQ:597507041

  • 相关阅读:
    【转】numpy.random.randn()与rand()的区别
    【转】numpy.random.randn()与rand()的区别
    春节一顿饭,吃懂了分布式资源调度
    春节一顿饭,吃懂了分布式资源调度
    ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
    系统设计摘录CAP
    webapi上传文件
    webuploader上传工具
    Js学习文件上传
    K-means算法Java实现
  • 原文地址:https://www.cnblogs.com/spzhangfei/p/4801746.html
Copyright © 2020-2023  润新知