使用go语言geth 同步区块数据
在同步区块数据geth经常莫名其妙挂掉,导致服务器数据未同步。百度与谷歌也没有找到相应的解决方案。因此使用了一种守护线程来解决该问题
geth 启动脚本 startNode.sh 启动区块
nohup geth --syncmode "fast" --cache=512 --maxpeers 50 --datadir "/mnt/geth_data/prod1" --rpc --rpcport 8545 --rpcapi db,net,eth,web3,personal --rpcaddr 0.0.0.0 --rpccorsdomain "*" 2>>geth_log &
守护线程脚本 startShNode.sh 异步守护线程
while true; do
server=` ps aux | grep geth | grep -v grep`
printf "$server"
if [ ! "$server" ]; then
`sh /mnt/startNode.sh`
sleep 10
fi
sleep 5
done
后台启动守护线程 startBaseShNode.sh
nohup sh startShNode.sh > startShNode.log 2>&1 &