rcontrol, 使用ssh执行异步远程任务的python 库

分享于 

3分钟阅读

GitHub

  繁體 雙語
python library to execute asynchronous remote tasks with ssh
  • 源代码名称:rcontrol
  • 源代码网址:http://www.github.com/parkouss/rcontrol
  • rcontrol源代码文档
  • rcontrol源代码下载
  • Git URL:
    git://www.github.com/parkouss/rcontrol.git
    Git Clone代码到本地:
    git clone http://www.github.com/parkouss/rcontrol
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/parkouss/rcontrol
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    rcontrol

    https://travis-ci.org/parkouss/rcontrol.svg?branch=masterhttps://coveralls.io/repos/parkouss/rcontrol/badge.svg?branch=masterDocumentation Status

    rcontrol 是一个基于收费的python 库,旨在通过ssh使用远程机器。

    fabric 不同,它旨在以异步方式执行任务,并使用 python> = 2.7 ( 包括 python 3 )。

    请注意,这正在开发中。 我正在等待反馈,想法和贡献者,使这个工具发展。

    基本示例:

    
    
    
    
    from rcontrol.ssh import SshSession, ssh_client
    
    
    from rcontrol.core import SessionManager
    
    
    
    def log(task, line):
    
    
     print("%r: %s" % (task, line))
    
    
    
    with SessionManager() as sessions:
    
    
     # create sessions on two hosts
    
    
     sessions.bilbo = SshSession(
    
    
     ssh_client('http://bilbo.domain.com', 'user', 'pwd'))
    
    
     sessions.nazgul = SshSession(
    
    
     ssh_client('http://nazgul.domain.com', 'user', 'pwd'))
    
    
    
     # run commands in parallel
    
    
     sessions.bilbo.execute("uname -a && sleep 3", on_stdout=log)
    
    
     sessions.nazgul.execute("uname -a && sleep 3", on_stdout=log)
    
    
    
    

    这个示例只是向你展示了 如果你感兴趣,请查看 http://rcontrol.readthedocs.org/en/latest/的文档 !

    • 以异步方式在本地和远程主机上执行多个命令( 由你来同步它们)
    • 定义命令的超时和输出超时
    • 在读取( stdout或者 stderr ) 时,在超时和命令完成时附加回调
    • 将文件和目录从一个主机复制到另一个主机

    你需要多少英镑( 贡献者,你欢迎) !

    • 能够停止( 终止) 命令( 本地或者远程)
    • 更多文件操作

    如何安装

    使用 pip。

    
    
    
    
    pip install -U rcontrol
    
    
    
    
    

    变更日志

    查看 CHANGELOG.rst 文件。


    async  任务  EXE  异步  EXEC  SSH