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 host -u smeeting -ppwd -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

上一篇 下一篇

猜你喜欢

热点阅读