代码之家  ›  专栏  ›  技术社区  ›  JMzance

通过ssh(linux/osx)运行作业

  •  0
  • JMzance  · 技术社区  · 12 年前

    我想知道是否可以通过ssh执行作业。特别是,我在许多机器上有一个不同的输入文件列表,这些机器在同一个地方都有相同的可执行文件。有没有一些命令意味着我不必使用ssh从一台机器移动到另一台机器,并设置它们单独运行。我想的是这样的事情:

    ssh远程机器1:/可执行文件~/Inputfile_1 ssh远程机器2:/可执行文件~/Inputfile_2

    哪个可以从我的主机上运行? 提前谢谢 杰克

    3 回复  |  直到 12 年前
        1
  •  2
  •   micromoses    12 年前

    尝试使用 Fabric .

    “Fabric是一个Python(2.5或更高版本)库和命令行工具,用于简化SSH在应用程序部署或系统管理任务中的使用。”

        2
  •  1
  •   salva    12 年前

    如果您能编写Perl,请尝试 Net::OpenSSH::Parallel .

    例如:

    my %file = (host1 => file1,
                 host2 => file2,
                 ...);
    
    my $pssh = Net::OpenSSH::Parallel->new();
    
    for my $host (keys %files) {
        $pssh->add_host($host);
        $pssh->push($host, 'cmd',
                    {stdout_file => "$host.out"},
                    './Executable', $file{$host});
    
    }
    
    $pssh->run
    
        3
  •  0
  •   Basile Starynkevitch    12 年前

    您通常可以运行 batch 命令通过 ssh ; 阅读更多关于 batch 命令和 batch processing .

    你可能也对 MPI DSH SQS