mongoexport.sh
1.原始的:
skip=100000
for ((i=10200000; i<10500000; i+=$skip))
do
start=$i
end=$[$i+$skip]
echo $start'_'$end
/backup/etc/mongo/bin/mongoexport --host IP地址 -d 具体的数据库名称 -c 哪一个collection -q '{"blockNumber":{"$gt": '$start', "$lte": '$end'}}' -o /保存的路径/etc_tx_$start'_'$end.json(保存的格式)
done


-
这里的mongoexport.sh 是调用的别的文件夹下安装好的mongo
172.26.178.248:27017
2.带authSource 的 mongoexport
#! /bin/bash
skip=100000
for ((i=10000000; i<10600000; i+=$skip))
do
start=$i
end=$[$i+$skip]
echo $start'_'$end
mongoexport --uri mongodb://账号:密码@mongo库地址/chain_info_etc(库名)?authSource=admin -c transactions(具体的collection) -q '{"blockNumber":{"$gt": '$start', "$lte": '$end'}}' -o /backup/etc/new_tx/etc_tx_$start'_'$end.json(保存路径+格式)
done
-
mongo库的 url 连接方式:
-
mongo的普通连接:
-
注意,mongo库的地址参数!以及路径参数!以及块数参数!
-
在同路径下有安装了mongo的话就可以直接用:mongoexport开始
- 导出btc数据脚本
#! /bin/bash
skip=100000
for ((i=1; i<1000000; i+=$skip))
do
start=$i
end=$[$i+$skip]
echo $start'_'$end
/backup/etc/mongo/bin/mongoexport --uri mongodb://btc:btc123@s-8vbb2c155414aa44.mongodb.zhangbei.rds.aliyuncs.com:3717,s-8vbb1ba3aa777034.mongodb.zhangbei.rds.aliyuncs.com:3717/chain_info_btc?authSource=admin -c transaction -q '{"blockNumber":{"$gt": '$start', "$lte": '$end'}}' -o /backup/btc/new_tx/btc_tx_$start'_'$end.json
done
btc可测试导出脚本:
#! /bin/bash
skip=100000
for ((i=1; i<1000000; i+=$skip))
do
start=$i
end=$[$i+$skip]
echo $start'_'$end
/backup/etc/mongo/bin/mongoexport -h mongodb://btc:btc123@s-8vbb2c155414aa44.mongodb.zhangbei.rds.aliyuncs.com:3717,s-8vbb1ba3aa777034.mongodb.zhangbei.rds.aliyuncs.com:3717/chain_info_btc?authSource=admin -c transaction -q '{"blockNumber":{"$gt": '$start', "$lte": '$end'}}' -o /backup/btc/new_tx/btc_tx_$start'_'$end.json
done
報錯:可能是数据库的btc的权限未开账号不可用!

测试在Xshell中手动导出:
mongoexport --uri mongodb://etc:etc123@s-8vbb2c155414aa44.mongodb.zhangbei.rds.aliyuncs.com:3717,s-8vbb1ba3aa777034.mongodb.zhangbei.rds.aliyuncs.com:3717/chain_info_etc?authSource=admin -c transactions -q '{"blockNumber":{"$gt": '1', "$lte": '100000'}}' -o /backup/etc/new_tx_test/etc_tx_$start'_'$end.json
最后解决:
在 /home/linxiao目录下跑脚本就行

脚本在有道云
也可以将后缀.json 改为 .csv 就可以存为csv文件,但是经过测试:共388208条数据,存json大小为361MB,但是存为csv文件大小为525MB.





