我必须在less数Linux机器和Windows机器之间编排一些脚本任务。 SSH工作正常的Linux机器起诉如下:
ssh mysuser@targetLinuxmachine "python '/pathtomyscript/myscript.py' &"
但是,当我将命令发送到Windows机器时,同样的方法不能用作后台任务。 在Windows机器上,我有ssh服务器运行和ssh连接本身工作。 RSA公钥已被插入。 其实下面的命令运行:
ssh -n -f mysuer@targetwinmachine "python 'C:\Windowspath\myscript.py -someswitch parameter' &"
然而,在bash中执行该命令将使我的terminal到Windows控制台,并不允许我运行它作为背景任务。 我猜“&”不能在windows上运行该命令作为后台任务。
如何在Windows机器上运行等效脚本作为后台任务?
是的, cygwin有一个非常好的Windows服务器。 首先你应该下载并安装这个。
使用命令行sshlogin到Windows机器后,可以使用ssh-keygen使其成为无密码和自动的。
第三件事是在你的windows机器上安装python,你可以从http://www.python.org/getit/windows/得到。
对于我来说,这个步骤中的哪一个不起作用,但可能你的主要问题是在你的Windows机器上安装ssh服务器。 你可以login到您的服务器与您的unix / Linux的命令行SSH? 如果没有,请升级您的问题,我会升级我的答案。
您可以从命令行使用Putty:
plink mysuser@targetLinuxmachine "python '/pathtomyscript/myscript.py' &"
SSH密钥可以通过PuttyAgent进行pipe理。
通过apache服务器的cgi脚本是在另一台机器上执行代码的好方法。
所以你只是想在Linux的后台运行命令? 我想你只是把错误的地方。 放在“”之外:
ssh -n -f mysuer@targetwinmachine "python 'C:\Windowspath\myscript.py -someswitch parameter' " &