Ruby备份mongodb(fsync lock)
生活随笔
收集整理的這篇文章主要介紹了
Ruby备份mongodb(fsync lock)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
#!/usr/local/bin/ruby #?date:????????06-12-2014 #?auther:?lucifer #?use?fsync?and?lock?to?the?file-system?before?backup?the?file-system #?mongo-ruby-driver?version?>?1.10.0require?'mongo' require?'fileutils' require?'date'include?Mongo include?BSON#?the?members?of?replcation-set #?test?mongodb?server?version?2.6.0 #?host?=?"192.168.11.51"#?The?port?of?members #?If?the?port?is?27017?by?default?then?otherport?don't?need?to?assignment #?otherport?=?"" #?port?=?otherport.length?!=?0???otherport?:?MongoClient::DEFAULT_PORT#?opts?=?{:pool_size?=>?5,?:pool_timeout?=>?10} #?Create?a?new?connection #?client?=?MongoClient.new(host,?port,?opts)uri_string?=?"mongodb://caoqing:xxxxxxxx@x.x.x.x:27017/admin" client?=?MongoClient.from_uri(uri?=?"#{uri_string}") db?=?client['admin']#?fsync?and?lock?the?database cmd?=?OrderedHash.new cmd[:fsync]?=?1 cmd[:lock]?=?true #?p?cmd db.command(cmd)#?datafile?path d?=?"/var/lib/mongo"#?dir?=?Dir.new("#ze8trgl8bvbq") #?entries?=?dir.entries #?entries.delete_if?{?|entry|?entry?=~?/^\./} #?convert?the?relative?path?to?the?full?path #?entries.map!?{?|entry|?File.join(dir.path,?entry)?} #?maintain?only?the?type?of?file #?entries.delete_if?{?|entry|?!File.file?(entry)?} #?p?entriesstart?=?Date.today.to_s prev?=?(Date.today?-?7).to_sdest?=?"/backup/#{start}" sour?=?"/backup/#{prev}"FileUtils.rm_rf("#{sour}")?if?File::exist?("#{sour}")Dir.mkdir("#{dest}",?0755)?unless?File::exist?("#{dest}")FileUtils.cp_r?Dir.glob("#ze8trgl8bvbq/**"),?dest?if?client.locked?puts?"*"?*?20 puts?"\tbackup?complete" puts?"*"?*?20#?DB::SYSTEM_COMMAND_COLLECTION #?unlock?the?database db["$cmd.sys.unlock"].find_one client.close轉載于:https://my.oschina.net/u/1449160/blog/278837
總結
以上是生活随笔為你收集整理的Ruby备份mongodb(fsync lock)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Asp.net]站点地图SiteMap
- 下一篇: DIV CSS布局中绝对定位和浮动用法