MongoDB远程定时备份与还原 (参考资料带定时)
远程备份mongo
mongodump --host <dbhost> --port <dbport> -o <dbdirectory>
缺省 -d <dbname> 可备份数据库整体
缺省 --username <dbusername> --password <dbpassword> 当没有创建用户密码时用
远程还原mongo
参考: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;