作家
登录

ShutIt:一个基于Python的shell自动化框架

作者: 来源: 2017-06-23 15:44:53 阅读 我要评论

  • 2017-06-05 15:12:33,633 INFO: Output (squashed): exitexitIans-Air.home:ORIGIN_ENV:I00LA1Mq# [...] 
  •  
  • echo "Did you enjoy your pause point?" 
  •  
  • echo "Did you enjoy your pause point?" 
  •  
  • Did you enjoy your pause point? 
  •  
  • Ians-Air.home:ORIGIN_ENV:I00LA1Mq#  
  • 更复杂的IO – Backgrounding

    回到我们膳绫擎的“监控多台办事器”的例子上来。想象一下,我们要在每台办事器上运行一个长时光运行的义务。默认情况下,ShutIt会持续运行很长时光。然则我们可以在后台运行义务来加快ShutIt的运行速度。

    1. import shutit 
    2.  
    3. import time 
    4.  
    5. long_command="""sleep 60""" 
    6.  
    7. session1 = shutit.create_session('bash'
    8.  
    9. session2 = shutit.create_session('bash'
    10.  
    11. password1 = session1.get_input('Password for server1', ispass=True
    12.  
    13. password2 = session2.get_input('Password for server2', ispass=True
    14.  
    15. session1.login('ssh you@one.example.com'user='you'password=password1) 
    16.  
    17. session2.login('ssh you@two.example.com'user='you'password=password2) 
    18.  
    19. start = time.time() 
    20.  
    21. session1.send(long_command, background=True
    22.  
    23. session2.send(long_command, background=True
    24.  
    25. print('That took: ' + str(time.time() - start) + ' seconds to fire'
    26.  
    27. session1.wait() 
    28.  
    29. session2.wait() 
    30.  
    31. print('That took: ' + str(time.time() - start) + ' seconds to complete') 

    我的标记本电脑说,运行这两个敕令只需花费0.5秒,而脚本在一分钟今后才运行停止(应用了’wait’办法)。

    固然这个例子看起来是眇乎小哉的,然则想像一下,如不雅你稀有百台如许的办事器须要治理,那么你可以看到这几行代码和一个python import所带来的强大年夜的力量。

    更复杂的IO – Expecting

    更多信息

    ShutIt可以做很多事。更多信息,请参阅:

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)