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 具體的數(shù)據(jù)庫名稱 -c 哪一個(gè)collection -q '{"blockNumber":{"$gt": '$start', "$lte": '$end'}}' -o /保存的路徑/etc_tx_$start'_'$end.json(保存的格式)
done
-
這里的mongoexport.sh 是調(diào)用的別的文件夾下安裝好的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://賬號(hào):密碼@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庫的地址參數(shù)!以及路徑參數(shù)!以及塊數(shù)參數(shù)!
-
在同路徑下有安裝了mongo的話就可以直接用:mongoexport開始
- 導(dǎo)出btc數(shù)據(jù)腳本
#! /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可測(cè)試導(dǎo)出腳本:
#! /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
報(bào)錯(cuò):可能是數(shù)據(jù)庫的btc的權(quán)限未開賬號(hào)不可用!
測(cè)試在Xshell中手動(dòng)導(dǎo)出:
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文件,但是經(jīng)過測(cè)試:共388208條數(shù)據(jù),存json大小為361MB,但是存為csv文件大小為525MB.