Rails Net :: SCP文件传输

时间:2013-07-24 06:19:10

标签: ruby-on-rails scp

我设置了rake任务,使用nets/scp gem从远程服务器获取文件夹。 我的gemfile:

gem "net-ssh"
gem "net-scp"

我的代码:

require 'net/scp'
desc "Fetch hadoop data"
task :fetch_data => :environment do
 Net::SCP.download!("server_name", "user",
  "/home/dashboard/data", "#{Rails.root}/lib/tasks",
  :password => "password1")
end

我收到错误:SCP did not finish successfully (1)

如何将文件夹保存到rails任务目录,如何打印出更多有关导致scp错误的信息?另外,我的id_rsa密钥保存在我的知识

1 个答案:

答案 0 :(得分:4)

我最终使用不同的方法scp文件:

require 'net/ssh'
require 'net/scp'

  desc "Fetch hadoop data"
  task :fetch_data => :environment do
    date_yesterday = (DateTime.now - 1.days).strftime("%Y%m%d")
    date_today = (DateTime.now).strftime("%Y%m%d")
    Net::SSH.start("server_name", "user",:password => "*****") do |session|
      session.scp.download!("path_to_file_on_remote", "/home/rails_app/lib/tasks/folder",  :recursive => true)
    end
  end