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批处理脚本,因此选择《启动程序》

⑥ 完成

数据库定时备份winserver2012篇的更多相关文章

  1. Mysql Navicat数据库定时备份,定时删除

    Navicat自带实现数据库定时备份 1.先点击需要备份的数据库,然后点击计划,再点击新建批处理作业 2.然后出现双机可用任务列表,然后在已选择的任务中会出现可用任务 3. 点击保存,弹出对话框,给这 ...

  2. SQL Server数据库定时备份解决方案

    SQL Server数据库定时备份解决方案 1.本方案采用软件为:SQLBackupAndFTP 10.0.3 版本,压缩包自带注册机,请自行破解. 2.软件截图如下: 3.功能说明:自动定时备份相关 ...

  3. Window系统的mysql数据库定时备份

    原文:Window系统的mysql数据库定时备份 - Stars-One的杂货小窝 最近老大提到了数据库备份的功能,由于服务器是window系统的,所以研究了下备份的方案,特此记录 主要是实现每天定时 ...

  4. linux篇-linux mysql数据库定时备份

    1在linux上面创建一个文件夹,并且进行备份 cd /home mkdir backup cd backup 2创建一个脚本 Vi imaginebase.sh #!/bin/bash mysqld ...

  5. windows下mysql数据库定时备份。

    注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...

  6. window自动任务实现数据库定时备份

    原理:利用window定时任务定时cmd加载mytask.bat文件,bat运行php.exe程序编译运行mytask.php文件 ,从而实现了数据库的备份 mytask.bat 内容: D:\php ...

  7. Windows数据库定时备份

    首先打开:任务计划程序 右键任务计划程序库,选择创建基本任务 然后即可以按照实际情况逐步进行 直到启动程序--浏览(程序或脚本)时,这里本人导入的是backup.bat文件,文件内容为 @echo 设 ...

  8. Linux下实现MySQL数据库定时备份

    咳~ 咳~ 为了避免数据操作失误.数据丢失.甚至删库跑路,简单做个数据备份吧 1.创建备份目录 # 习惯放在 local 下 cd /usr/local/ # 创建备份目录 mkdir backup ...

  9. 使用教程 - BestSync同步软件 - SQL2008R2 数据库定时备份解决方案

    需求: 1.      某公司的管理软件,数据库为SQL2008R2.2.      将整个数据库作为一个文件,定时同步到FTP 服务器3.      需要有多个备份,每同步一次,都备份上次的文件到备 ...

  10. MySql 数据库定时备份

    1.使用sqldump+任务计划 mysqldump备份成sql文件==============假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbsMySQL root   密 ...

随机推荐

  1. PHP 合并两个二维数组

    思路:遍历二维数组,合并两个二维数组的值,赋值给新数组 function mergeArray($arr1,$arr2){ $newArr = []; foreach($arr1 as $v1){ f ...

  2. Python 跳动的小球

    一.实验内容:跳动的小球游戏介绍 二.实验对象:<零基础学Python>第13章 Pygame游戏编程 实例01 用以下代码创建一个游戏弹窗: 导入pygame模块并且用init()方法初 ...

  3. Conda 创建、激活、克隆、删除虚拟环境 - 搬运

    Conda 创建.激活.克隆.删除虚拟环境 转自 :https://zhuanlan.zhihu.com/p/547724114 风影忍着   通常来说,对于每一个新的项目,我们都需要创建一个新的环境 ...

  4. TP5.1模板循环标签

    第一种volist name=assign中的变量名 id=数组中的key offset=开始循环的位置 length=步长 {volist name='list' id='vo' offset='0 ...

  5. webpack原理(1):Webpack热更新实现原理代码分析

    热更新,主要就是把前端工程 文件变更,即时编译,然后通知到浏览器端,刷新代码. 服务单与客户端通信方式有:ajax 轮询,EventSource.websockt. 客户端刷新一般分为两种: 整体页面 ...

  6. 从源码彻底理解 Prometheus/VictoriaMetrics 中的 relabel_configs/metric_relabel_configs 配置

    背景 最近接手维护了公司的指标监控系统,之后踩到坑就没站起来过.. 本次问题的起因是我们配置了一些指标的删除策略没有生效: - action: drop_metrics regex: "^e ...

  7. Django笔记四之字段属性

    这篇笔记介绍的 field options,也就是 字段的选项属性. 首先,关于 model,是数据库与 python 代码里的一个映射关系,每一个 model 是django.db.models.M ...

  8. Sokit(TCP/UDP调试工具)

    下载:http://www.winwin7.com/soft/56522.html#xiazai Sokit中文版是一款免费开源的TCP / UDP 测试(调试)工具,它主要可以用于接收和发送TCP/ ...

  9. VBA GET POST HTTP VBA网络爬虫 最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码

    最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码 通过接口获取股票数据内容的主要优点包括以下几点: 实时性高:通过访问股票数据接口,可以实时获取到股票的实 ...

  10. Java设计模式 —— 代理模式

    15 代理模式 15.1 代理模式概述 Proxy Pattern: 给某一个对象提供一个代理或占位符,由代理对象来控制对原对象的访问. 代理对象是客户端和目标对象的之前的桥梁,它接收来自客户端的请求 ...