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. Rust for Rustaceans: Idomatic Programming for Experienced Developers Chap.2 Types

    翻译的内容如果有不理解的地方或者是其他的差错,欢迎后台回复讨论. 类型在内存中的表示 Rust中的每一个值都有自己的类型(Type).在这一章中,我们将会看到Rust中的类型服务于许多不同的目的,但其 ...

  2. Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据

      本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法.   前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...

  3. PHP 错误设置

    错误显示设置 设置:那些错误该显示,以及该如何显示 在PHP中,有两种方式来设置当前脚本的错误处理 1.PHP配置文件--php.ini 修改配合文件需要重启服务 display_error:是否显示 ...

  4. Android笔记--常用布局

    线性布局--LinearLayout 线性布局的方向 orientation属性值:若为horizontal,内部视图在水平方向从左往右排列 若为vertical,内部视图在垂直方向从上往下排列 如果 ...

  5. mybatis-plus 开发环境在控制台打印日志

    参考博客:https://blog.csdn.net/qq_32929057/article/details/109291919 # 注意在生产环境注释掉 mubatis-plus: configur ...

  6. AES 简介 以及 C# 和 js 实现【加密知多少系列】

    〇.AES 简介 AES 的全称是 Advanced Encryption Standard,意思是高级加密标准.它的出现主要是为了取代 DES(Data Encryption StandardDat ...

  7. 创建镜像发布到镜像仓库【不依赖docker环境】

    image 工具背景 如今,docker镜像常用于工具的分发,demo的演示,第一步就是得创建docker镜像.一般入门都会安装docker,然后用dockerFile来创建镜像,除此以外你还想过有更 ...

  8. Ubuntu桌面顶端没有网络图标

    1 问题描述 刚装完新的linux系统后发现桌面顶部没有出现网络连接图标,网络无法进行连接配置. 2 解决方案 打开终端执行命令 nmcli network on或者sudo nmcli networ ...

  9. grub 命令使用

    命令列表 ubuntu 的 iso 盘内一般有 command.lst 这个文件,里面是 grub 支持的命令 加载字体 ( 方便中文显示 ) grub> loadfont $prefix/fo ...

  10. (原创)【B4A】一步一步入门09:xCustomListView,加强版列表、双行带图片、复选框按钮等自定义列表项(控件篇05)

    一.前言 上篇((原创)[B4A]一步一步入门08:ListView,列表.单行.双行.双行带图片.列表项样式(控件篇04))我们讲了ListView,目前官方已经不推荐再使用ListView了,而是 ...