Sha256: a0287b1bab0861eb90d755e6c04356dd3394bb0aa0556d72abf4baf3f8c03603
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
module Oxidized require 'net/ftp' require 'timeout' require_relative 'cli' class FTP < Input RescueFail = { :debug => [ #Net::SSH::Disconnect, ], :warn => [ #RuntimeError, #Net::SSH::AuthenticationFailed, ], } include Input::CLI def connect node @node = node @node.model.cfg['ftp'].each { |cb| instance_exec(&cb) } @log = File.open(Oxidized::Config::Crash + "-#{@node.ip}-ftp", 'w') if Oxidized.config.input.debug? @ftp = Net::FTP.new @node.ip, @node.auth[:username], @node.auth[:password] connected? end def connected? @ftp and not @ftp.closed? end def cmd file Oxidized.logger.debug "FTP: #{file} @ #{@node.name}" @ftp.getbinaryfile file, nil end # meh not sure if this is the best way, but perhaps better than not implementing send def send my_proc my_proc.call end def output "" end private def disconnect @ftp.close #rescue Errno::ECONNRESET, IOError ensure @log.close if Oxidized.config.input.debug? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
oxidized-0.11.0 | lib/oxidized/input/ftp.rb |
oxidized-0.10.0 | lib/oxidized/input/ftp.rb |