python - 多台主机上的并行 rsync

标签 python ruby perl shell rsync

我需要从 15 个不同的主机获取一组文件。 这些本质上只是文本文件。

我已经能够设置 ssh key 和其他东西,这样 scp、ssh、rsync 等现在就不需要密码了。

现在我正在寻找获取这些文件的正确方法,即以我可以跟踪的方式快速获取它们(即不是我希望在某个时间完成然后开始处理这些文件的后台进程)

到目前为止,我是语言不可知论者。 来自 shell、perl、python、ruby 等的任何东西都可以。

虽然我应该问这里的专家。

最佳答案

使用fabric !特别是,您可能会发现 Parallel execution页面很有趣。

例子:

from fabric.api import env, run

env.user = 'implicit_user'
env.hosts = ['host1', 'explicit_user@host2', 'host3']

def print_user():
    with hide('running'):
        run('echo "%(user)s"' % env)

输出:

$ fab print_user

[host1] out: implicit_user
[explicit_user@host2] out: explicit_user
[host3] out: implicit_user

Done.
Disconnecting from host1... done.
Disconnecting from host2... done.
Disconnecting from host3... done.

关于python - 多台主机上的并行 rsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9171624/

相关文章:

linux - 尝试安装 "screen"时出现 Perl 错误

perl - 为什么 Perl 中的 child 不会变成僵尸

python - 通过 CPython/pywin32 使用 Windows UI 自动化?

python - Django:TypeError:必须是字符串,而不是 datetime.date

ruby - 在 Rails 3 应用程序中使用 CodeRay 和 Markdown (RDiscount) 突出显示语法

ruby - 尝试使用现有 git 存储库上传 Sinatra 应用程序时出现 "Heroku push rejected, no Cedar-supported app detected"

Python: __setitem__ 之间的差异;设置属性;放

python - Django-allauth 注册、登录和社交连接到一个页面

ruby - 随机 "SignatureDoesNotMatch"禁止请求,即使通过 POST 将相同文件上传到 Amazon S3

perl - perl 中的 "if (!((-s<filename/filepath>) && (some condition))) "是做什么的?