加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

从本地计算机在远程服务器上执行Perl脚本

发布时间:2020-12-15 23:20:37 所属栏目:大数据 来源:网络整理
导读:我是Perl的新手,并且翻译了一些bash脚本,以便将来自多个远程生产服务器的Apache日志解析为更有用的格式,以便在本地计算机上进行处理.我需要尽可能保持生产服务器整洁.因此,我在本地计算机上有两个单独的.pl文件 – crawler.pl(以前称为crawler.sh),负责从生
我是Perl的新手,并且翻译了一些bash脚本,以便将来自多个远程生产服务器的Apache日志解析为更有用的格式,以便在本地计算机上进行处理.我需要尽可能保持生产服务器整洁.因此,我在本地计算机上有两个单独的.pl文件 – crawler.pl(以前称为crawler.sh),负责从生产服务器获取有用信息,以及reporter.pl(以前称为reporter.sh),负责运行爬网程序并整理从生产服务器检索的信息.

我想要完成的是Perl相当于:

ssh "user@host" 'bash -s' < $crawler

其中$crawler是本地方框中crawler.sh的物理位置.

我希望reporter.pl在生产服务器上打开ssh连接并远程执行crawler.pl.,其效果如下:

use Net::SSH qw(ssh);
    ssh($loginString,"perl -e $crawler");

这显然不起作用,但希望你明白我在开什么车.

我知道可以通过将爬虫文件复制到生产服务器并在完成任务时删除它来实现这一点.如果存在,我会追求更优雅的解决方案.

解决方法

如果您没有将参数传递给脚本,那么它应该如此简单

ssh“user @ host”perl< $履带式 如果你想传递命令行参数,只需使用“ – ”占位符来获得与bash -s相同的效果,即 ssh“user @ host”’perl – arg1 arg2′< $履带式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读