문제

명령 -CD와 같은 디렉토리를 입력하는 방법으로 경로 접두사없이 원격 파일을 작동합니까?

다음은 내 현재 코드입니다.

Net::SFTP.start do |sftp|
  sftp.rename!(REMOTE_PATH + "latest.zip", REMOTE_PATH + "latest.back.zip")
  sftp.upload!("latest.zip", REMOTE_PATH + "latest.zip")
end

나는 갖고 싶다 :

sftp.cd REMOTE_PATH    
sftp.rename!("latest.zip", "latest.back.zip")
sftp.upload!("latest.zip", "latest.zip")
도움이 되었습니까?

해결책

SSH Connect를 대신 사용하는 솔루션을 찾았습니다.. 작동하지 않습니다. SFTP 경로는 SSH 경로와 관련이없는 것 같습니다. 다른 옵션이 있으면 알려주세요.

 Net::SSH.start("localhost", "user", "password") do |ssh|
    ssh.sftp.upload!("/local/file.tgz", "/remote/file.tgz")
    ssh.exec! "cd /some/path && tar xf /remote/file.tgz && rm /remote/file.tgz"
  end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top