当前位置:网站首页>数据库定时备份winserver2012篇
数据库定时备份winserver2012篇
2022-08-03 20:22:00 【xie_zhr】
数据库定时备份winserver2012篇
1 序言
数据是无价的,所以生产环境中定时备份数据库显得尤为重要。备份能防止服务器故障、天灾人祸和人为误操作带来的数据丢失。
上一篇文章我们说了Linux环境下的数据备份。这一篇就把之前留下的坑给填上了。
这一篇我们说一说winserver2012环境下如何做好数据库备份?
工作中虽然大部分生产环境首选服务器是Linux,Linux的性能毋庸置疑。但是也不排除会用的windows server作为服务器的情况
这里呢还是以这几年工作中接触到的几种常见数据库为例吧。
- 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
@echo off
echo hello world
pause & exit
2.2.2 批处理常用命令介绍
本来在这里加了一堆批处理常用命令,发现篇幅太长了。那就后面单独弄一篇总结Windows批处理常用命令吧(又给自己挖了一个坑)。

3 各个数据库备份脚本
将需要备份的脚本添加到backup.bat中
3.1 Oracle数据库
@echo off
echo 当前的盘符及路径:%~dp0
echo 当前的盘符及路径的短文件名格式:%~sdp0
set filename=%date:~0,4%%date:~5,2%%date:~8,2%
set expcmd=scott/tiger file=%~dp0\%filename%.dmp owner=scott log=%~dp0\%filename%.log buffer=9999999
echo 导出 >>exe%filename%.log 2>&1
call exp %expcmd%
echo 压缩 >>exe%filename%.log 2>&1
7zr a %filename%.dmp.7z %filename%.dmp %filename%.log
echo 删除 >>exe%filename%.log 2>&1
del %filename%.dmp
3.2 Mysql数据库
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\MySQL\bin\mysqldump -u root -p123456 --databases db1 > D:\db_backup\db1_%Ymd%.sql
@echo on
3.3 postgresql数据库
@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
SET PGPATH=D:\PostgreSQL\9.3\bin\pg_dump
SET SVPATH=E:\
SET PRJDB=db1
SET DBUSR=postgres
SET DBROLE=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k
SET DBDUMP=%PRJDB%_%d%_%t%.backup
@ECHO OFF
%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f %SVPATH%%DBDUMP% %PRJDB%
echo Backup Taken Complete %SVPATH%%DBDUMP%
pause
--SET SVPATH=E:\ 表示文件存放路径
--SET PRJDB=BaoShan 表示要备份的数据库名称
--%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f %SVPATH%%DBDUMP% %PRJDB% 表示本机执行
3.4 mongoDB数据库
@echo off
set SrcDir=E:\mongodb4.1.7\backup
forfiles /p %SrcDir% /s /m *.* /d -7 /c "cmd del /c /f /q /a @path"
set path=%path%;E:\mongodb4.1.7\bin
set Ymd=%date:~,4%%date:~5,2%%date:~8,2%
mongoexport -d dbcloudresource -c sys_resource -u cloud_resource -p cloud_resource --type=JSON -o E:\mongodb4.1.7\backup\backup_%Ymd%.js
set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
%RAR_CMD% a -df "E:\mongodb4.1.7\backup\backup_%Ymd%.rar" "E:\mongodb4.1.7\backup\backup_%Ymd%.js"
4 添加任务计划定时备份数据库
① 首先打开系统的管理工具,选择《任务计划程序》

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

③ 点击下一步选择定时任务执行频率

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

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


⑥ 完成

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJYJt8oz-1659275990435)(https://gitee.com/xiezhr/image-learn-bed/raw/master/image/20210320134902.gif)]](/img/73/c21b731908ee1406de81fac3b1a35f.png)
边栏推荐
- Lecture topics and guest blockbuster, TDengine developers conference to promote data technology "broken"
- leetcode 剑指 Offer 58 - II. 左旋转字符串
- 直播小程序源码,UI自动化中获取登录验证码
- codeforces:C. Maximum Subrectangle【前缀和 + 贪心 + 最小子数组和】
- 一种能有效缓解环境噪声对音频质量干扰的方案
- Pytorch GPU 训练环境搭建
- Power button 206 - reverse list - the list
- 力扣707-设计链表——链表
- 化算力为战力:宁夏中卫的数字化转型启示录
- leetcode 2119. 反转两次的数字
猜你喜欢

tRNA甲基化偶联3-甲基胞嘧啶(m3C)|tRNA-m3C (3-methylcy- tidine)

149. The largest number on a straight line, and check the set

Edge box + time series database, technology selection behind Midea's digital platform iBuilding

In-depth understanding of JVM-memory structure

RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405

Li Mu hands-on learning deep learning V2-BERT fine-tuning and code implementation

化算力为战力:宁夏中卫的数字化转型启示录

MySQL Basics

ECCV 2022 | 清华&腾讯AI Lab提出REALY:重新思考3D人脸重建的评估方法

华为设备配置VRRP与BFD联动实现快速切换
随机推荐
149. 直线上最多的点数-并查集做法
php截取中文字符串实例
Leetcode 899. An orderly queue
leetcode 899. 有序队列
Lecture topics and guest blockbuster, TDengine developers conference to promote data technology "broken"
leetcode 1837. The sum of the digits in the K-base representation
数学之美 第六章——信息的度量和作用
Power button - 203 - remove the list elements linked list
高并发,你真的理解透彻了吗?
leetcode 231. 2 的幂
Advantages and Disadvantages of Blind and Buried Via PCB Stacked Via Design
汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机
Hinton2022年RobotBrains访谈记录
刷题错题录1-隐式转换与精度丢失
glusterfs 搭建使用
力扣203-移除链表元素——链表
极验深知v2分析
演讲议题及嘉宾重磅揭晓,TDengine 开发者大会推动数据技术“破局”
leetcode 072. 求平方根
abs()、fabs() 和 labs() 的区别