Como introduzir um diretório remoto sobre Ruby NET: SFTP?
Pergunta
Como entrar um diretório como o comando - cd, operar assim arquivos remotos sem um prefixo de caminho?
Aqui está o meu código atual.
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
Eu gostaria de ter:
sftp.cd REMOTE_PATH
sftp.rename!("latest.zip", "latest.back.zip")
sftp.upload!("latest.zip", "latest.zip")
Solução
Eu encontrei uma solução, que é usar o SSH conexões. . Não funciona. caminho SFTP parece irrelevante para a caminho de SSH. Deixe-me saber se você tem outras opções.
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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow