mongod拷贝服务器数据至本地
2020-06-13 本文已影响0人
丶赤水断
将服务器mongodb数据拷贝至本地下
方法1
首先创建一个shell文件
#!/bin/sh
# 服务器相关的配置
ipAddress=xx.xx.xx.xx # 你的服务器ip地址
mongoUser=mongo # 服务器mongo user
mongoIp=127.0.0.1 # 服务器连接的mongo ip
mongodb=testdb # 服务器db
mongoPwd=“password” # 服务器密码
mongoInstallPath= /usr/local/mongodb/bin # 服务器上mongo安装的地址
# 本地相关的配置
bakPath=/tmp/mongo/test.dump # 服务器上储存mongo备份文件的地址 需要保证文件夹存在
localBakFilePath=/Users/xxx/data/test.dump
localBakFolderPath=/Users/xxx/data
localmongoIp=127.0.0.1
localMongodb=test
# 连接服务器
ssh -tt root@$ipAddress -p 22 <<remotessh
# 进入mongo安装的路径
cd $mongoInstallPath
# 运行备份指令
./mongodump -h $mongoIp -d $mongodb -u $mongoUser -p $mongoPwd --gzip —archive=$bakPath
# 推出服务器
exit
remotessh
# 删除本地的缓存 多次调用时需要
rm $localBakFilePath -f
# 从远端服务器copy过来
scp root@$ipAddress:$bakPath $localBakFolderPath
# 进入本地mongo安装路径
cd /usr/local/mongodb/bin
# 恢复数据至mongo
./mongorestore -h $localmongoIp:27017 -d $localMongodb --gzip —archive=$localBakFilePath
方法2
创建一个空文件夹
mkdir /tmp/mongo/ -p
连接mongo
mongodump -h pwd -d smeeting -o /tmp/mongo --authenticationDatabase smeeting
压缩
tar -zcvf /tmp/mongo/test.tar.gz /tmp/mongo
将远端的gz copy 过来
scp root@host:/tmp/mongo/test.tar.gz ~/data/db
然后恢复数据
进入本地mongo目录
cd /usr/local/mongo
连接数据库
然后输入下面指令
mongorestore -h 127.0.0.1:27017 -d $dbname ~/data/db