class Object
Constants
- DEFAULT_EXE_FILE
- DEFAULT_UPLOAD_DIR
Public Instance Methods
exe(ssh, cmd)
click to toggle source
# File lib/hieb.rb, line 19 def exe(ssh, cmd) puts "# #{cmd}" ssh.exec!(cmd) do |channel, stream, data| puts "#{data}" end end
execute_commands(host, user, key, exe_file, options = {})
click to toggle source
# File lib/hieb.rb, line 55 def execute_commands(host, user, key, exe_file, options = {}) if options[:paranoid] == true paranoid = true else paranoid = false end # Execute commands Net::SSH.start(host, user, :password => key, :keys => [ key ], :verify_host_key => paranoid) do |ssh| serialized = File.read(exe_file) data = JSON.parse(serialized) data['commands'].each do |cmd| exe ssh, cmd end end if File.exist? exe_file end
ping(ip)
click to toggle source
# File lib/hieb.rb, line 10 def ping ip begin r = `ping -c 1 -t1 -W1 #{ip}|grep packets` r.match(/transmitted, (.*?) packets/)[1].to_i == 1 rescue false end end
upload(scp, file, local_dir)
click to toggle source
# File lib/hieb.rb, line 26 def upload(scp, file, local_dir) puts ">> UPLOAD: /#{file}" scp.upload! "#{local_dir}/#{file}", "/#{file}" end
upload_dir(scp, dir, local_dir)
click to toggle source
# File lib/hieb.rb, line 31 def upload_dir(scp, dir, local_dir) Dir.foreach dir do |f1| next if f1 =~ /^\.|\..$/ f2 = File.join(dir, f1) if File.directory? f2 upload_dir scp, f2, local_dir else upload scp, f2.sub!(/^#{local_dir}\//, ''), local_dir end end end
upload_files(host, user, key, upload_dir, options = {})
click to toggle source
# File lib/hieb.rb, line 43 def upload_files(host, user, key, upload_dir, options = {}) if options[:paranoid] == true paranoid = true else paranoid = false end # Upload deploy files Net::SCP.start(host, user, :password => key, :keys => [ key ], :verify_host_key => paranoid) do |scp| upload_dir scp, upload_dir, upload_dir end if File.exist? upload_dir end