显然,这很不安然!你可以如许运行:
- import shutit
- session = shutit.create_session('bash')
- password = session.get_input('', ispass=True)
- session.login('ssh you@example.com', user='you', password=password)
- session.send('hostname', echo=True)
- session.logout()
它会让你输入暗码:
- Input Secret:
- hostname
- hostname
- example.com
- example.com:cgoIsdVv:heDa77HB#
同样的,“login”办法在登录后改变了提示符。你给了ShutIt一个登录敕令,并附带用户名和暗码(如不雅须要的话),然后,ShutIt会完成残剩的工作。
假设你有一个集群包含两台办事器,并欲望同时登录到这两个办事器上去。则只须要创建两个会话,并运行类似的login和send敕令:
- import shutit
- session1 = shutit.create_session('bash')
- session2 = shutit.create_session('bash')
- password1 = session1.get_input('Password for server1', ispass=True)
- password2 = session2.get_input('Password for server2', ispass=True)
- session1.login('ssh you@one.example.com', user='you', password=password1)
- session2.login('ssh you@two.example.com', user='you', password=password2)
- session1.send('hostname', echo=True)
- session2.send('hostname', echo=True)
- session1.logout()
- session2.logout()
将输出如许的结不雅:
实例:监控多台办事器
登录到多台办事器
我们可以经由过程添加一些代码逻辑来检查敕令的输出,大年夜而将上述代码变成一个简单的监控对象:
- import shutit
- capacity_command="""df / | awk '{print $5}' | tail -1 | sed s/[^0-9]//"""
- session1 = shutit.create_session(
推荐阅读
本月19日在北京举办的 LC3 大年夜会 (LinuxCon + ContainerCon + CloudOpen)应当是全球最顶级的开源大年夜会了,而这一为期两天的开源嘉会以前几年在北美、欧洲和日本都举办过,而此次是其初次来到中国。就在同一天>>>详细阅读
本文标题:ShutIt:一个基于Python的shell自动化框架
地址:http://www.17bianji.com/lsqh/35881.html
1/2 1