mongodb定时备份

mongodump备份文件


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

本来不打算压缩文件,可是每天全量dump,过不了几天,总数据就开始上G了。所以这里为了节约空间,一定要压缩文件。
压缩文件

tar -zcf 20150623.tar.gz 20150623

560M的文件直接压缩为70M

解压缩文件


tar -xf 20150623.tar.gz

mongorestore恢复命令


mongorestore --host $HOST --port $PORT --dir $FILE_PATH

  1. mongorestore首先要保证mongod进程存在
  2. mongorestore恢复过程做的都是insert操作,如果设置了唯一性索引,这里插入会报错,所以,如果全量恢复,需要删除之前的数据库;
  3. mongoretore会保存之前的索引信息,索引可以通过

    db.getIndexes()

    查看
  4. mongodump出来的是bson,已经是二进制文件了
  5. 如果只需要恢复一个collection,那么按照

    mongorestore --port $PORT --dir $DIR --db $DB_NANME --collection $COL_NAME

比如


mongorestore --port 27000 --dir /tmp/tmp/mongodb_backup/logic1/20150630/hookHeroes/market.bson --db hookHeroes --collection market

安全关闭mongo命令:


db.shutdownServer()

删除数据库命令


use a
db.dropDatabase()

删除collection命令


db.collection.remove()

你可能感兴趣的:(mongodb定时备份)