您当前的位置:首页 >> 数码 >> 详情
【天天新要闻】数据库定时备份winserver2012篇
来源: 阿里云      时间:2023-02-17 22:40:29

1序言


(资料图片)

数据是无价的,所以生产环境中定时备份数据库显得尤为重要。备份能防止服务器故障、天灾人祸和人为误操作带来的数据丢失。

上一篇文章我们说了Linux环境下的数据备份。这一篇就把之前留下的坑给填上了。

这一篇我们说一说winserver2012环境下如何做好数据库备份?

工作中虽然大部分生产环境首选服务器是Linux,Linux的性能毋庸置疑。但是也不排除会用的windowsserver作为服务器的情况

这里呢还是以这几年工作中接触到的几种常见数据库为例吧。

Oracle

mysql

postgresql

mongoDB

2任务计划相关知识点介绍

2.1任务计划是什么?

任务计划是Windows操作系统非常强大的一个功能,利用任务计划,我们可以将任何脚本、程序或文档安排在每天、每周、每个月甚至某个特定的时间运行。

windows本身也有一些定时任务

比如通过任务计划可以让QQ在每周五晚上7点准时运行。注意,只有在开机状态任务计划才能起作用。

2.2批处理文件

2.2.1批处理文件简介

应用于DOS和Windows系统中的一种简化的脚本语言。

批处理文件的扩展名为.bat或.cmd

类似于Unix中的Shell脚本。简单的可以使是逐行书写在命令行中的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程

分为DOS批处理和PS批处理两类。

可以用记事本直接编辑或用DOS命令创建或各种编辑器打开

我们可以用一下命令实现helloworld

@echooffechohelloworldpause&exit

2.2.2批处理常用命令介绍

本来在这里加了一堆批处理常用命令,发现篇幅太长了。那就后面单独弄一篇总结Windows批处理常用命令吧(又给自己挖了一个坑)。

3各个数据库备份脚本

将需要备份的脚本添加到backup.bat中

3.1Oracle数据库

@echooffecho当前的盘符及路径:%~dp0echo当前的盘符及路径的短文件名格式:%~sdp0setfilename=%date:~0,4%%date:~5,2%%date:~8,2%setexpcmd=scott/tigerfile=%~dp0\%filename%.dmpowner=scottlog=%~dp0\%filename%.logbuffer=9999999echo导出>>exe%filename%.log2>&1callexp%expcmd%echo压缩>>exe%filename%.log2>&17zra%filename%.dmp.7z%filename%.dmp%filename%.logecho删除>>exe%filename%.log2>&1del%filename%.dmp

3.2Mysql数据库

@echooffset"Ymd=%date:~,4%%date:~5,2%%date:~8,2%"D:\MySQL\bin\mysqldump-uroot-p123456--databasesdb1>D:\db_backup\db1_%Ymd%.sql@echoon

3.3postgresql数据库

@ECHOOFF@setlocalenableextensions@cd/d"%~dp0"SETPGPATH=D:\PostgreSQL\9.3\bin\pg_dumpSETSVPATH=E:\SETPRJDB=db1SETDBUSR=postgresSETDBROLE=postgresFOR/F"TOKENS=1,2,3DELIMS=/"%%iIN("DATE/T")DOSETd=%%i-%%j-%%kFOR/F"TOKENS=1,2,3DELIMS=:"%%iIN("TIME/T")DOSETt=%%i%%j%%kSETDBDUMP=%PRJDB%_%d%_%t%.backup@ECHOOFF%PGPATH%-hlocalhost-p5432-U%DBUSR%--role%DBROLE%-w-Fc-b-v-f%SVPATH%%DBDUMP%%PRJDB%echoBackupTakenComplete%SVPATH%%DBDUMP%pause--SETSVPATH=E:\表示文件存放路径--SETPRJDB=BaoShan表示要备份的数据库名称--%PGPATH%-hlocalhost-p5432-U%DBUSR%--role%DBROLE%-w-Fc-b-v-f%SVPATH%%DBDUMP%%PRJDB%表示本机执行

3.4mongoDB数据库

@echooffsetSrcDir=E:\mongodb4.1.7\backupforfiles/p%SrcDir%/s/m*.*/d-7/c"cmddel/c/f/q/a@path"setpath=%path%;E:\mongodb4.1.7\binsetYmd=%date:~,4%%date:~5,2%%date:~8,2%mongoexport-ddbcloudresource-csys_resource-ucloud_resource-pcloud_resource--type=JSON-oE:\mongodb4.1.7\backup\backup_%Ymd%.jssetRAR_CMD="C:\ProgramFiles\WinRAR\Rar.exe"%RAR_CMD%a-df"E:\mongodb4.1.7\backup\backup_%Ymd%.rar""E:\mongodb4.1.7\backup\backup_%Ymd%.js"

4添加任务计划定时备份数据库

(1)首先打开系统的管理工具,选择《任务计划程序》

(2)点击创建基本任务,输入这个定时任务的名称,比如我这边就是做一个db1数据库的备份

(3)点击下一步选择定时任务执行频率

(4)点击下一步选择任务开始时间今晚0点10分开始

(5)选择执行的操作,此处选择上面已经添加好的backup.bat批处理脚本,因此选择《启动程序》

(6)完成

标签: