mongodb定时备份

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>

    原文作者:randyjia
    原文地址: https://www.jianshu.com/p/b21d3b349262
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞