Как войти в удаленный каталог на Ruby NET: SFTP?

StackOverflow https://stackoverflow.com/questions/1619129

  •  06-07-2019
  •  | 
  •  

Вопрос

Как войти в каталог, подобный команде - 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-соединение. . Не работает. Путь 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