MongoDB远程定时备份与还原 (参考资料带定时)

远程备份mongo

 
 

mongodump --host <dbhost> --port <dbport>  -o <dbdirectory>

缺省 -d <dbname> 可备份数据库整体

缺省 --username <dbusername> --password <dbpassword> 当没有创建用户密码时用

 

远程还原mongo

 mongorestore -h <host> --drop <path>
缺省port 使用默认
缺省 -d 使用全局
--drop 先清空数据库再恢复
<path> 备份的数据库根目录
 

参考:https://www.cnblogs.com/dreamsqin/p/10885165.html

 

备份命令mongodump脚本语法及各项参数含义

mongodump --host <dbhost> --port <dbport> -d <dbname> --username <dbusername> --password <dbpassword> -o <dbdirectory>

(1)--host:MongoDB所在服务器地址,默认地址:localhost(127.0.0.1);

(2)--port:MongoDB所在服务器地址的端口号,例如:27017;

(3)-d:相当于--db,需要备份的数据库实例,例如:yapi,我们需要备份的YApi数据库;

(4)--username:访问数据库的用户名,例如:root

(5)--password:访问数据库的密码,例如:123456

(6)-o:相当于--out,备份数据需要存放的位置,该目录需要提前建立;


 

撰写备份批处理脚本及各语句含义

复制代码
@echo off
rem =====================================================
rem 以下信息需要手动配置修改
rem =====================================================

rem 数据库的IP地址
set DB_HOST=127.0.0.1
rem 数据库的端口
set DB_PORT=27017
rem 数据库名
set DB_NAME=yapi
rem 用户名
set DB_USER=root
rem 用户密码
set DB_PWD=123456
rem 数据库的bin目录
set PG_BIN_DIR=C:\Program Files\MongoDB\Server\3.4\bin
rem 备份文件保存的路径
set BACK_UP_DIR=F:\Mongodb\databaseBack

rem =====================================================
rem 以下为批处理逻辑部分,不需要修改
rem =====================================================

set BAK_FILE_NAME=yapi_bak_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
%PG_BIN_DIR:~0,2%
cd %PG_BIN_DIR%
mongodump --host %DB_HOST% --port %DB_PORT% -d %DB_NAME% --username %DB_USER% --password %DB_PWD% -o %BACK_UP_DIR%\%BAK_FILE_NAME%
复制代码

 

(1)echo off:关闭接下来所有脚本语句在命令行中的回显;

(2)@:不显示echo off这条脚本语句本身在命令行中的回显;

(3)rem:用于注释;

(4)set:用于定义变量参数,<paramName>=<param>;

(5)第1句处理逻辑:用于设置存储备份文件夹的名称,格式为yapi_bak_+年月日时分秒,例如:yapi_bak_20190215162500;

(6)第2句处理逻辑:用于获取MongoDB数据库bin目录盘符并进入,例如:C:;

(7)第3句处理逻辑:进入MongoDB数据库bin目录;

(8)第4句处理逻辑:备份远程服务器上的yapi数据库,并存储至本地指定的目录下;


 设置Windows任务计划程序实现定时备份

(1)微软键(键盘上的田字键)+R调出运行窗口,然后输入taskschd.msc启动定时任务设置窗口;

 

 

(2)选择创建基本任务,这里创建的任务可以执行脚本,发送邮件等;

 

 

(3)输入定时任务名称和描述,名称和描述不要随意,最好根据任务需求名称来命名;

 

 

(4)设置任务执行的时间,可以某个时间执行,也可以开机时,看任务要求,这里我们设置每天执行,同时设置每天具体执行时间,例如我们设置的每天晚上11点半执行;

 

 

(5)设置任务的执行方式,执行脚本,还是发送邮件,或是显示消息,这里我们选择执行脚本;

 

 

(6)选择要执行的脚本,并填写脚本所在目录;

 

 

(7)最后确认信息,勾选“打开此任务属性对话框”选项,点击完成即可完成定时任务的设置;

 

 

(8)可以看到定时任务已经创建成功,需要注意这里要选择“不管用户是否登录都要运行”的选项并核对配置是否与服务器系统吻合;

 

 

(9)备份成功后会生成如下格式的的文件夹,其中文件类型如下:

 


 

还原命令mongorestore脚本语法及各项参数含义

mongorestore --host <dbhost> --port <dbport> -d <dbname> --drop <path>

(1)--host:要恢复的MongoDB所在服务器地址,默认地址:localhost(127.0.0.1);

(2)--port:要恢复的MongoDB所在服务器地址的端口号,例如:27017;

(3)-d:相当于--db,需要恢复的数据库实例,例如:yapi,我们需要恢复的YApi数据库,当然这个名称也可以和备份时候的不一样;

(4)--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!;

(5)<path>:设置备份数据所在位置,例如:F:\Mongodb\databaseBack\yapi_bak_20190215162500\yapi;

 

 
 
posted @ 2021-11-08 15:21  小黑狐狸1001  阅读(185)  评论(0编辑  收藏  举报