diff --git a/Gemfile b/Gemfile index f4d1e8a..1863c69 100644 --- a/Gemfile +++ b/Gemfile @@ -4,5 +4,6 @@ source 'https://rubygems.org' gem 'hashie' gem 'colorize' gem 'net-ssh' +gem 'net-sftp' gem 'net-scp' gem 'pry' diff --git a/Gemfile.lock b/Gemfile.lock index 962ab01..3a3d946 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,6 +7,8 @@ GEM method_source (0.8.2) net-scp (1.2.1) net-ssh (>= 2.6.5) + net-sftp (2.1.2) + net-ssh (>= 2.6.5) net-ssh (2.9.1) pry (0.10.1) coderay (~> 1.1.0) @@ -21,5 +23,6 @@ DEPENDENCIES colorize hashie net-scp + net-sftp net-ssh pry diff --git a/baas b/baas index a7fb190..6430dc2 100755 --- a/baas +++ b/baas @@ -6,6 +6,7 @@ require 'erb' require 'hashie' require 'net/ssh' require 'net/scp' +require 'net/sftp' require 'yaml' @@ -59,7 +60,15 @@ module Baas def self.download_results_from(name) config = configuration.hosts[name] - `scp #{config.username}@#{config.hostname}:*.{csv,html} ./results/` + Net::SFTP.start(config.hostname, config.username, :password => config.password) do |sftp| + sftp.dir.foreach('.') do |file| + if file.name =~ /\.(csv|html)/ + print "Downloading #{file.name}..." + sftp.download!(file.name, File.join('results', file.name)) + puts "..done" + end + end + end end def self.run!