mongodb-定时按日期备份到json文件

数据库备份为文件
mongodump --host 172.17.0.7 --port 27018 --out /root/bak/
使用备份文件还原到另一个库

/usr/local/mongodb-linux-x86_64-4.0.10/bin/mongorestore \
--db=test2 --host 172.17.0.7  \
--port 27018  \
/root/bak/test_mondb/call_record.bson

定时导出对应库中所有字段到json文件并按日期排序

#!/bin/bash

if [ ! $1 ]; then
        echo " Example of use: $0 database_name [dir_to_store]"
        exit 1
fi
db=$1
out_dir=bak/`date +%Y_%m_%d`
#if [ ! $out_dir ]; then
#        out_dir="./"
#else
#        mkdir -p $out_dir
#fi
mkdir -p $out_dir

tmp_file="fadlfhsdofheinwvw.js"
echo "print('_ ' + db.getCollectionNames())" > $tmp_file
cols=`mongo $db --host 172.17.0.8 --port 27017  $tmp_file | grep '_' | awk '{print $2}' | tr ',' ' '`
for c in $cols
do
    mongoexport --host 172.17.0.8 --port 27017  -d $db -c $c -o "$out_dir/exp_${db}_${c}.json"
done
rm $tmp_file

定时运行
0 0 1 * * /data/mongo-data/mongoexport.sh test_unicom_customer > /data/mongo-data/mongoexport.log 2>&1 &

posted @ 2019-12-18 11:05  li66  阅读(382)  评论(0编辑  收藏  举报