在远程服务器上运行perl脚本

时间:2015-02-04 15:12:36

标签: perl remote-server

是否可以从Windows运行该服务器上的远程服务器上的perl脚本?每次我在Windows上制作东西时,我都想在远程服务器上完成一项工作。

2 个答案:

答案 0 :(得分:1)

你必须让某些东西监听运行脚本的指令,然后你必须发送指令。

你可以采取很多方法,包括:

  • 运行SSH服务器,然后从Windows计算机上的ssh客户端连接到该服务器
  • 运行HTTP服务器,通过FastCGI运行脚本,然后从curl或Windows计算机上的浏览器请求其URL
  • 编写自定义协议,侦听套接字,然后编写在Windows计算机上运行的自定义客户端

答案 1 :(得分:1)

绝对

假设服务器正在运行plink,您可以使用sshd在Windows服务器上运行命令。

plink user@a.domain.ext echo hi

这将在标准输出中打印“hi \ n”。

/path/to/perl/script替换为上面的echo,并将hi替换为脚本所需的任何命令行参数。

plink可在此处找到:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

多次这样做的一个警示性的个人注意事项是,运行perl脚本的环境远不如通过完整的SSH会话登录并以交互方式运行命令时所遇到的完整性。您通常会期望的许多环境变量都未设置。

例如,在上面的命令中使用“set | wc -l”仅生成39个环境变量,但是从交互式SSH会话中,定义了57个环境变量。您必须确保您的perl脚本不依赖于尚未设置的环境变量。例如,您可能需要为其使用的任何模块使用完整路径,或者使用shebang行中的-I标志,因为@INC可能不是您期望的那样。