#-*- coding:utf8 -*-
import paramiko
import re def check_active_ac(intervals=1):
client = paramiko.Transport(('主备的虚拟ip', 22))
# paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能
client.connect(username='username', password='password')
# 打开一个通道
chan = client.open_session()
chan.settimeout(5)
# 获取终端
chan.get_pty()
# 激活终端,这样就可以登录到终端了,就和类似于xshell登录系统一样
chan.invoke_shell()
chan.recv(65535)
# 设置缓冲区大小
chan.send('show high-availability status \n')
# 执行'show high-availability status'命令,查看高可用状态
output = chan.recv(65535).decode()
print(output)
# 退出终端
chan.send('exit \n')
client.close()
search_string = output.split('\n')[7]
'''print('\n')'''
'''print("4位:", search_string)'''
if re.search(r'primary', search_string, flags=re.IGNORECASE):
'''re.IGNORECASE忽略大小写'''
active_ac = '主ip'
'''print("主ip: Primary active")''' elif re.search(r'secondary', search_string, flags=re.IGNORECASE):
        active_ac = '备ip'
'''print("备ip: Secondary active")'''
else:
#print("0")
return
test = check_active_ac()

最新文章

  1. 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版
  2. C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
  3. 一个简单确非常实用的javascript函数
  4. With语句以及@contextmanager的语法解析
  5. Qt 学习资料
  6. .NET 中的DateTime
  7. MySQL 调优基础:Linux内存管理 Linux文件系统 Linux 磁盘IO Linux网络
  8. ASP.NET多用户操作相同互斥的对象
  9. eclipse plugin 导出插件包
  10. 带着新人看java虚拟机02
  11. react服务端渲染同构报错Browser history needs a DOM
  12. [NOI 2017]整数
  13. linux每日命令(23):find命令之xargs
  14. Centos 6.4 安装erlang&rabbitmq
  15. String扩展 让你在PadLeft和PadRight时不再受单双字节问题困扰
  16. kiss prefix paleo,per,pen,pan,para out 1
  17. 转-为什么Lisp语言如此先进?(译文)
  18. 理解Defer、Panic和Recover
  19. 独立成分分析(Independent component analysis, ICA)
  20. cocos2d 中使用jni C++ 调用 Java 方法

热门文章

  1. Webpack实现路由懒加载的三种方式
  2. HTML页面的三种弹框方式
  3. 性能测试工具 Web Service 性能测试工具比较
  4. python:字典嵌套列表
  5. 『Yaml』配置文件读写包
  6. GitHub 翻译之 'Hello-world' 翻译
  7. Mysql优化系列--Innodb引擎下mysql自身配置优化-转
  8. 9. Palindrome Number(回文数)C++
  9. flask-前台布局页面搭建3
  10. IntelliJ IDEA下载及安装,破解