我正在尝试使用Nant.Contrib中的scp任务将文件复制到远程服务器。
我已使用以下代码执行此操作:
<target name= "QADeploy"description="gthtyb" >
<loadtasks assembly="C:\nantcontrib-0.85\bin\NAnt.Contrib.Tasks.dll" />
<echo message="htyh"/>
<scp file="D:\SourceTest\redist.txt" server="\\10.4.30.19" user="xxx:uuuu">
</scp>
</target>
但是我收到一个错误:scp无法启动。该系统找不到指定的文件。 代码如下: 然后我下载了pscp.exe并修改了如下代码:
<target name= "QADeploy"
description="gthtyb" >
<loadtasks assembly="C:\nantcontrib-0.85\bin\NAnt.Contrib.Tasks.dll" />
<echo message="htyh"/>
<scp file="D:\SourceTest\redist.txt" server="\\10.4.30.19" user="xxx:uuuu" program="C:\pscp\pscp.exe">
</scp>
现在我收到以下错误:
[scp] ssh_init:主机不存在
外部程序失败:C:\ pscp \ pscp.exe
请你帮忙了解使用Nant将文件复制到远程服务器的最佳方法。我正在使用此代码将文件部署到远程服务器。
由于
答案 0 :(得分:1)
您不必在服务器的IP后面加上两个反斜杠。
<scp file="D:\SourceTest\redist.txt" server="10.4.30.19" user="xxx:uuuu" program="C:\pscp\pscp.exe">
另请注意,如果没有“path”参数,则默认目标文件夹为“〜”。
更新:它是崩溃pscp.exe程序的用户名。从您的用户名中删除“:”或尝试使用其他用户。
答案 1 :(得分:0)
-upload
pscp some.file user@[remote-host-or-ip]:/some/path/
-download
pscp user@[remote-host-or-ip]:/some/path/some.file some.file