Sha256: 99ceebf232f1d9fca608e044ff49f9ae7014a8e8787c6663217c945010ffd3e6
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
require 'thor' require 'mongo-db-utils/config-loader' require 'mongo-db-utils/cmd' require 'mongo-db-utils/console' require 'mongo-db-utils/models' require 'mongo-db-utils/s3' module MongoDbUtils class CLI < Thor desc "console", "run the interactive console" def console @config = MongoDbUtils::ConfigLoader.load console = MongoDbUtils::Console.new(@config, MongoDbUtils::Cmd) console.run end desc "backup MONGO_URI", "backup a db with a mongo uri eg: mongodb://user:pass@server:port/dbname" def backup(mongo_uri) @config = MongoDbUtils::ConfigLoader.load db = MongoDbUtils::Model::Db.from_uri(mongo_uri) raise "can't parse uri" if db.nil? MongoDbUtils::Cmd.backup(db, @config.backup_folder) end desc "backup_s3 MONGO_URI BUCKET ACCESS_KEY SECRET_ACCESS_KEY", "backup a db to Amason s3 with a mongo uri eg: mongodb://user:pass@server:port/dbname" def backup_s3(mongo_uri, bucket_name, access_key_id, secret_access_key) @config = MongoDbUtils::ConfigLoader.load db = MongoDbUtils::Model::Db.from_uri(mongo_uri) raise "can't parse uri" if db.nil? tar_file = MongoDbUtils::Cmd.backup(db, @config.backup_folder) name = tar_file.gsub(File.expand_path(@config.backup_folder), "") MongoDbUtils::S3::put_file(tar_file, name, bucket_name, access_key_id, secret_access_key) file = File.basename(tar_file) folder = tar_file.gsub(file, "") `rm -fr #{folder}` 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/cli.rb |
mongo-db-utils-0.0.4 | lib/mongo-db-utils/cli.rb |