2009-12-10 8 views
0

Nant.Contrib에서 scp 작업을 사용하여 파일을 원격 서버에 복사하려고합니다.NANT 스크립트에서 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를하고 아래의 코드 수정 :

[SCP]를 ssh_init : 호스트가 존재하지 않는 나는 다음과 같은 오류를 얻고 자

<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> 

을 다음과 같이 코드는

외부 프로그램 실패 : C : \ PSCP \ 가장 좋은 방법은 NANT를 사용하여 원격 서버에 파일을 복사 무슨

이 유 도움을 주시기 바랍니다 수 pscp.exe. 이 코드를 사용하여 파일을 원격 서버에 배포하고 있습니다.

감사

+0

로컬로 작동합니까? 서버에? 어딘가에? 서버가 명령 줄에서 SCP를 통해 액세스 할 수 있습니까? –

+0

scp를 통해 서버에 액세스 할 수 있는지 어떻게 확인할 수 있습니까? – Mini

답변

1

당신은 당신의 서버의 IP 뒤에 두 개의 백 슬래시를 넣어 필요가 없습니다.

<scp file="D:\SourceTest\redist.txt" server="10.4.30.19" user="xxx:uuuu" program="C:\pscp\pscp.exe">  

"path"매개 변수가 없으면 기본 대상 폴더는 "~"입니다.

업데이트 :이 사용자 이름은 pscp.exe 프로그램을 크래쉬하는 사용자 이름입니다. 사용자 이름에서 ":"을 삭제하거나 다른 것으로 시도하십시오.

+0

나는 baclslashes도없이 노력했다 ... :) – Mini

+0

프로그램 경로에 "/"를 사용할 수 있습니까? 또는 "program-path-sep"매개 변수를 "\"로 설정하십시오. –

+0

또한 "-v +"옵션을 사용하여 디버그 출력을 시작할 수 있습니까? 명령 줄에서 pcsp를 시작할 수도 있습니까? –

0

Windows에서 pscp가 경로를 구문 분석하는 방법에 이상한 점이있는 것 같습니다. 다음은 ssh_init를 수정해야합니다. 호스트가 존재하지 않습니다. 문제 :

-upload 
pscp some.file [email protected][remote-host-or-ip]:/some/path/ 

-download 
pscp [email protected][remote-host-or-ip]:/some/path/some.file some.file 
관련 문제