0

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

ssh RemoteMachine1:./Executable ~/Inputfile_1 ssh RemoteMachine2:./Executable ~/Inputfile_2

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

4

3 回答 3

2

尝试使用Fabric

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

于 2013-10-02T23:49:17.340 回答
1

如果您可以编写 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
于 2013-10-03T08:56:16.757 回答
0

您通常可以batch通过以下方式运行命令ssh;阅读有关批处理命令和批处理的更多信息。

您可能还对MPIDSHSQS感兴趣

于 2013-10-02T18:30:51.540 回答