我必须在远程机器上运行shell脚本(windows/Linux).
我在机器A和B上配置了SSH.我的脚本在机器A上,它将在远程机器上运行我的一些代码,机器B.
本地和远程计算机可以是基于Windows或Unix的系统.
有没有办法使用plink/ssh运行?
我是Perl的新手,并且翻译了一些bash脚本,以便将来自多个远程生产服务器的Apache日志解析为更有用的格式,以便在本地计算机上进行处理.我需要尽可能保持生产服务器整洁.因此,我在本地计算机上有两个单独的.pl文件 - crawler.pl(以前称为crawler.sh),负责从生产服务器获取有用信息,以及reporter.pl(以前的reporter.sh),负责运行爬网程序并整理从生产服务器检索的信息.
我想要完成的是Perl相当于:
ssh "user@host" 'bash -s' < $crawler
Run Code Online (Sandbox Code Playgroud)
其中$ crawler是本地方框中crawler.sh的物理位置.
我希望reporter.pl在生产服务器上打开ssh连接并远程执行crawler.pl.,其效果如下:
use Net::SSH qw(ssh);
ssh($loginString,"perl -e $crawler");
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但希望你明白我在开什么车.
我知道可以通过将爬虫文件复制到生产服务器并在完成任务时删除它来实现这一点.如果存在,我会追求更优雅的解决方案.