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 &