mongodb定时备份

2015-06-24  本文已影响455人  randyjia

mongodump备份文件

<pre>
/home/dhcd/bin/mongodump --host $HOST --port $LOGIC_PORT_1 --out $TAR_FILE_PATH_1
</pre>

本来不打算压缩文件,可是每天全量dump,过不了几天,总数据就开始上G了。所以这里为了节约空间,一定要压缩文件。
压缩文件
</pre>
tar -zcf 20150623.tar.gz 20150623
</pre>
560M的文件直接压缩为70M

解压缩文件
<pre>
tar -xf 20150623.tar.gz
</pre>

mongorestore恢复命令
<pre>
mongorestore --host $HOST --port $PORT --dir $FILE_PATH
</pre>

  1. mongorestore首先要保证mongod进程存在
  2. mongorestore恢复过程做的都是insert操作,如果设置了唯一性索引,这里插入会报错,所以,如果全量恢复,需要删除之前的数据库;
  3. mongoretore会保存之前的索引信息,索引可以通过
    <pre>
    db.getIndexes()
    </pre>
    查看
  4. mongodump出来的是bson,已经是二进制文件了
  5. 如果只需要恢复一个collection,那么按照
    <pre>
    mongorestore --port $PORT --dir $DIR --db $DB_NANME --collection $COL_NAME
    </pre>

比如
<pre>
mongorestore --port 27000 --dir /tmp/tmp/mongodb_backup/logic1/20150630/hookHeroes/market.bson --db hookHeroes --collection market
</pre>

安全关闭mongo命令:
<pre>
db.shutdownServer()
</pre>

删除数据库命令
<pre>
use a
db.dropDatabase()
</pre>

删除collection命令
<pre>
db.collection.remove()
</pre>

上一篇 下一篇

猜你喜欢

热点阅读