我想知道是否可以通过 ssh 执行作业。特别是,我在许多机器上都有不同的输入文件列表,这些机器在同一个地方都有相同的可执行文件。是否有一些命令意味着我不必使用 ssh 在机器之间移动并设置它们单独运行。我想到的事情是这样的:
ssh RemoteMachine1:./Executable ~/Inputfile_1 ssh RemoteMachine2:./Executable ~/Inputfile_2
哪个可以从我的主机上运行?提前感谢杰克
我想知道是否可以通过 ssh 执行作业。特别是,我在许多机器上都有不同的输入文件列表,这些机器在同一个地方都有相同的可执行文件。是否有一些命令意味着我不必使用 ssh 在机器之间移动并设置它们单独运行。我想到的事情是这样的:
ssh RemoteMachine1:./Executable ~/Inputfile_1 ssh RemoteMachine2:./Executable ~/Inputfile_2
哪个可以从我的主机上运行?提前感谢杰克
尝试使用Fabric。
“Fabric 是一个 Python(2.5 或更高版本)库和命令行工具,用于简化 SSH 在应用程序部署或系统管理任务中的使用。”
如果您可以编写 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