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

时间:2013-10-02 18:20:56

标签: linux macos ssh executable

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

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

哪些可以从我的主机上运行? 提前致谢 千斤顶

3 个答案:

答案 0 :(得分:2)

尝试使用Fabric

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

答案 1 :(得分: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

答案 2 :(得分:0)

您通常可以通过batch运行ssh命令;详细了解batch命令和batch processing

您可能也会感兴趣MPIDSHSQS