1

我设置了一个 rake 任务,以使用nets/scpgem 从远程服务器获取文件夹。我的宝石文件:

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 密钥

4

1 回答 1

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
于 2013-07-30T21:33:28.600 回答