Sha256: f5c622ba9c5392d3be7942a2b10844eda9dc81fb0c4afd6ac5547b7dca0967f4

Contents?: true

Size: 1.7 KB

Versions: 2

Compression:

Stored size: 1.7 KB

Contents

require 'aws/s3'

module MongoDbUtils
  module Commands

    class Option
      attr_accessor :key, :value

      def initialize(key,value)
        @key = key
        @value = value
      end

      def empty?
        @value.nil? || @value.empty?
      end
    end

    class MongoTools

      def self.dump(host,port,db,output,username = "", password = "")

        options = []
        options << Option.new("-h", "#{host}:#{port}")
        options << Option.new("-db", db)
        options << Option.new("-o", output)
        options << Option.new("-u", username)
        options << Option.new("-p", password)

        cmd = "mongodump "

        options.each do |o|
          cmd << "#{o.key} #{o.value} " unless o.empty?
        end
        puts "cmd:"
        puts cmd
        `#{cmd}`

      end


      def self.restore(host,port,db,source_folder,username = "", password = "")

        options = []
        options << Option.new("-h", "#{host}:#{port}")
        options << Option.new("-db", db)
        options << Option.new("-u", username)
        options << Option.new("-p", password)

        cmd = "mongorestore "

        options.each do |o|
          cmd << "#{o.key} #{o.value} " unless o.empty?
        end
        cmd << "#{source_folder}"
        puts "cmd:"
        puts cmd
        `#{cmd}`

      end

    end

    class S3

      def self.put_file(file, bucket_name, access_key_id, secret_access_key)
        AWS::S3::Base.establish_connection!(
          :access_key_id     => access_key_id,
          :secret_access_key => secret_access_key
        )

        Service.buckets.create(bucket_name) if Service.buckets.find(bucket_name).nil?
        S3Object.store(file, open(file), bucket_name)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongo-db-utils-0.0.5 lib/mongo-db-utils/cmd/mongotools.rb
mongo-db-utils-0.0.4 lib/mongo-db-utils/cmd/mongotools.rb