平安江南咏 發表於 2019-5-18 11:35:00

MongoDB远程定时备份与还原

<h1><span style="font-size: 18px">全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/10885165.html,多谢~=。=<br></span></h1>
<p>&nbsp;</p>
<h1><span style="font-size: 18px">备份命令mongodump脚本语法及各项参数含义</span></h1>
<p><span style="background-color: rgba(192, 192, 192, 1)">mongodump --host &lt;dbhost&gt; --port &lt;dbport&gt; -d &lt;dbname&gt; --username &lt;dbusername&gt; --password &lt;dbpassword&gt; -o &lt;dbdirectory&gt;</span></p>
<p><span style="font-size: 18px">(1)--host:MongoDB所在服务器地址,默认地址:localhost(127.0.0.1);</span></p>
<p><span style="font-size: 18px">(2)--port:MongoDB所在服务器地址的端口号,例如:27017;</span></p>
<p><span style="font-size: 18px">(3)-d:相当于--db,需要备份的数据库实例,例如:yapi,我们需要备份的YApi数据库;</span></p>
<p><span style="font-size: 18px">(4)--username:访问数据库的用户名,例如:root</span></p>
<p><span style="font-size: 18px">(5)--password:访问数据库的密码,例如:123456</span></p>
<p><span style="font-size: 18px">(6)-o:相当于--out,备份数据需要存放的位置,该目录需要提前建立;</span></p>
<hr>
<p>&nbsp;</p>
<h1><span style="font-size: 18px">撰写备份批处理脚本及各语句含义</span></h1>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">@echo off
rem </span>=====================================================<span style="color: rgba(0, 0, 0, 1)">
rem 以下信息需要手动配置修改
rem </span>=====================================================<span style="color: rgba(0, 0, 0, 1)">

rem 数据库的IP地址
set DB_HOST</span>=<span style="color: rgba(128, 0, 128, 1)">127.0</span>.0<span style="color: rgba(128, 0, 128, 1)">.1</span><span style="color: rgba(0, 0, 0, 1)">
rem 数据库的端口
set DB_PORT</span>=<span style="color: rgba(128, 0, 128, 1)">27017</span><span style="color: rgba(0, 0, 0, 1)">
rem 数据库名
set DB_NAME</span>=<span style="color: rgba(0, 0, 0, 1)">yapi
rem 用户名
set DB_USER</span>=<span style="color: rgba(0, 0, 0, 1)">root
rem 用户密码
set DB_PWD</span>=<span style="color: rgba(128, 0, 128, 1)">123456</span><span style="color: rgba(0, 0, 0, 1)">
rem 数据库的bin目录
set PG_BIN_DIR</span>=C:\Program Files\MongoDB\Server\<span style="color: rgba(128, 0, 128, 1)">3.4</span><span style="color: rgba(0, 0, 0, 1)">\bin
rem 备份文件保存的路径
set BACK_UP_DIR</span>=<span style="color: rgba(0, 0, 0, 1)">F:\Mongodb\databaseBack

rem </span>=====================================================<span style="color: rgba(0, 0, 0, 1)">
rem 以下为批处理逻辑部分,不需要修改
rem </span>=====================================================<span style="color: rgba(0, 0, 0, 1)">

set BAK_FILE_NAME</span>=yapi_bak_%<span style="color: rgba(0, 0, 255, 1)">date</span>:~<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>%%<span style="color: rgba(0, 0, 255, 1)">date</span>:~<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%%<span style="color: rgba(0, 0, 255, 1)">date</span>:~<span style="color: rgba(128, 0, 128, 1)">8</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%%<span style="color: rgba(0, 0, 255, 1)">time</span>:~<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%%<span style="color: rgba(0, 0, 255, 1)">time</span>:~<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%%<span style="color: rgba(0, 0, 255, 1)">time</span>:~<span style="color: rgba(128, 0, 128, 1)">6</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%
%PG_BIN_DIR:~<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>%<span style="color: rgba(0, 0, 0, 1)">
cd </span>%PG_BIN_DIR%<span style="color: rgba(0, 0, 0, 1)">
mongodump </span>--host %DB_HOST% --port %DB_PORT% -d %DB_NAME% --username %DB_USER% --password %DB_PWD% -o %BACK_UP_DIR%\%BAK_FILE_NAME%</pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(1)echo off:关闭接下来所有脚本语句在命令行中的回显;</span></p>
<p><span style="font-size: 18px">(2)@:不显示echo off这条脚本语句本身在命令行中的回显;</span></p>
<p><span style="font-size: 18px">(3)rem:用于注释;</span></p>
<p><span style="font-size: 18px">(4)set:用于定义变量参数,&lt;paramName&gt;=&lt;param&gt;;</span></p>
<p><span style="font-size: 18px">(5)第1句处理逻辑:用于设置存储备份文件夹的名称,格式为yapi_bak_+年月日时分秒,例如:yapi_bak_20190215162500;</span></p>
<p><span style="font-size: 18px">(6)第2句处理逻辑:用于获取MongoDB数据库bin目录盘符并进入,例如:C:;</span></p>
<p><span style="font-size: 18px">(7)第3句处理逻辑:进入MongoDB数据库bin目录;</span></p>
<p><span style="font-size: 18px">(8)第4句处理逻辑:备份远程服务器上的yapi数据库,并存储至本地指定的目录下;</span></p>
<hr>
<h1>&nbsp;<span style="font-size: 18px">设置Windows任务计划程序实现定时备份</span></h1>
<p><span style="font-size: 18px">(1)微软键(键盘上的田字键)+R调出运行窗口,然后输入taskschd.msc启动定时任务设置窗口;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113005716-2045762395.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(2)选择创建基本任务,这里创建的任务可以执行脚本,发送邮件等;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113041240-549891386.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(3)输入定时任务名称和描述,名称和描述不要随意,最好根据任务需求名称来命名;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113055591-1307656303.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(4)设置任务执行的时间,可以某个时间执行,也可以开机时,看任务要求,这里我们设置每天执行,同时设置每天具体执行时间,例如我们设置的每天晚上11点半执行;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113114887-1170799565.png"></span></p>
<p><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113213090-1140513947.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(5)设置任务的执行方式,执行脚本,还是发送邮件,或是显示消息,这里我们选择执行脚本;</span></p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113220079-496880620.png"></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(6)选择要执行的脚本,并填写脚本所在目录;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113231246-1139695478.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(7)最后确认信息,勾选“打开此任务属性对话框”选项,点击完成即可完成定时任务的设置;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113239166-931171097.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(8)可以看到定时任务已经创建成功,需要注意这里要选择“不管用户是否登录都要运行”的选项并核对配置是否与服务器系统吻合;</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113324260-735093970.png"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">(9)备份成功后会生成如下格式的的文件夹,其中文件类型如下:</span></p>
<p><span style="font-size: 18px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113358326-1334540891.png"></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1074523/201905/1074523-20190518113414282-89541744.png"></p>
<hr>
<p>&nbsp;</p>
<h1><span style="font-size: 18px">还原命令mongorestore脚本语法及各项参数含义</span></h1>
<p><span style="background-color: rgba(192, 192, 192, 1)">mongorestore --host &lt;dbhost&gt; --port &lt;dbport&gt; -d &lt;dbname&gt; --drop &lt;path&gt;</span></p>
<p><span style="font-size: 18px">(1)--host:要恢复的MongoDB所在服务器地址,默认地址:localhost(127.0.0.1);</span></p>
<p><span style="font-size: 18px">(2)--port:要恢复的MongoDB所在服务器地址的端口号,例如:27017;</span></p>
<p><span style="font-size: 18px">(3)-d:相当于--db,需要恢复的数据库实例,例如:yapi,我们需要恢复的YApi数据库,当然这个名称也可以和备份时候的不一样;</span></p>
<p><span style="font-size: 18px">(4)--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!;</span></p>
<p><span style="font-size: 18px">(5)&lt;path&gt;:设置备份数据所在位置,例如:F:\Mongodb\databaseBack\yapi_bak_20190215162500\yapi;</span></p><br><br>
来源:https://www.cnblogs.com/dreamsqin/p/10885165.html
頁: [1]
查看完整版本: MongoDB远程定时备份与还原