如何输入类似命令的目录 - 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")
答案 0 :(得分:0)
我找到了一个解决方案,它改为使用SSH连接。。不行。 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