ошибка ruby ​​sftp - PullRequest
       17

ошибка ruby ​​sftp

8 голосов
/ 24 августа 2011

я пытаюсь использовать ruby ​​для загрузки файла в свой sftp, и я могу войти в ssh, и все хорошо, но мой скрипт не работает .... вот мой маленький скрипт

require 'rubygems'
require 'net/sftp'

Net::SFTP.start('50.5.54.77', 'root', :password => 'PASSWORD') do |sftp|
  # upload a file or directory to the remote host
  sftp.upload!("/Users/tamer/sites/sandbox/move_me.txt", "/home")
end

но я получаю эту ошибку

 ruby sftp.rb 
/Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/operations/upload.rb:313:in `on_open': 
Net::SFTP::StatusException open /srv (4, "failure") (Net::SFTP::StatusException)

Любые идеи, что я делаю неправильно

Ответы [ 2 ]

15 голосов
/ 24 августа 2011

Я полагаю, что при использовании sftp должен быть указан целевой файл .

Net::SFTP.start('50.5.54.77', 'root', :password => 'PASSWORD') do |sftp|
  # upload a file or directory to the remote host
  sftp.upload!("/Users/tamer/sites/sandbox/move_me.txt", "/home/move_me.txt")
end

В документации примеры используют удаленный путь к файлу, а не только каталог.

http://net -ssh.github.com / SFTP / v2 / API / классы / Net / SFTP / Операции / Upload.html

1 голос
/ 25 августа 2012

Похоже, что при загрузке каталога сначала выполняется попытка mkdir этого каталога назначения.

Если этот каталог назначения уже существует, mkdir завершается с ошибкой в ​​соответствии с примером, приведенным в оригинале. Я все еще ищу способ использовать встроенную загрузку каталога - тем временем моя программа обходит локальный каталог и загружает каждый файл по отдельности.

...