我设置了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密钥保存在我的知识
中答案 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