背景需求:

某部门需要将windows机器上的SQL server数据做一个异地备份,经过对现有的软硬件资源评估,决定使用阿里云的OSS存储

方法:利用SQLserver自带的维护计划做指定数据库的备份,通过bat批量执行脚本将备份文件上传到OSS---->(所需环境:python、osscmd、winrar)

问题:bat批执行脚本无法识别 * 这个正则匹配符,导致不能由每天的日期去识别备份文件。

解决方法:通过维护计划制定备份目录,每天备份后,上传到OSS后再将其删除

脚本如下:

@echo off
rem mail:baiyufeideyouxiang@.com
set MON=%date:~,%%date:~,%
set DATE=%date:~,%%date:~,%%date:~,%
set TIME=%date%-%time%
set LOGDIR=G:\back_oss\data_back
set DIR=G:\back_oss\data_back
echo "%TIME% 开始执行完毕!">>%LOGDIR%\backup-oss.log
set NAME=某部备份
set DIRNAME=AIS20180831000315
set PY=G:\back_oss\software\python27\python.exe
set OSSCMD=G:\back_oss\software\OSS_PYTHON_API\osscmd
set RAR=G:\back_oss\software\winrar\WinRAR.exe
set BUCKET=oss://basebackup/
set ID=------
set KEY=------
set HOST=oss-cn-hangzhou.aliyuncs.com set FILE=AIS20180831000315
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%FILE%
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 压缩文件执行完毕!">>%LOGDIR%\backup-oss.log
%PY% %OSSCMD% mkdir %BUCKET%%NAME%/%MON --id=%ID% --key=%KEY% --host=%HOST%
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST% --thread_num=
if errorlevel (
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST% --thread_num=
) else (
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 上传文件执行完毕!">>%LOGDIR%\backup-oss.log
)
del %DIR%%DATE%-%FILE%.rar
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 删除文件执行完毕!">>%LOGDIR%\backup-oss.log set FILE=
set FILE=AIS20180831000316
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%FILE%
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 压缩文件执行完毕!">>%LOGDIR%\backup-oss.log
%PY% %OSSCMD% mkdir %BUCKET%%NAME%/%MON% --id=%ID% --key=%KEY% --host=%HOST%
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST%
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 上传文件执行完毕!">>%LOGDIR%\backup-oss.log
del %DIR%%DATE%-%FILE%.rar
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 删除文件执行完毕!">>%LOGDIR%\backup-oss.log
echo "-----------%TIME% 执行完毕!---------">>%LOGDIR%\backup-oss.log

SQL server数据异地备份到OSS的更多相关文章

  1. SQL Server 数据备份存储过程

    原文:SQL Server 数据备份存储过程 今天开园,分享一下我一直在使用的数据备份存储过程,欢迎转载!!! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  2. 对 sql server 数据库的备份进行加密

    原文:对 sql server 数据库的备份进行加密 嗯,最近在研究数据库备份相关的东西,考虑到应该为数据库备份加个密,就准备从网上搜索一下看看有什么好办法,没想到还挺乱... 首先,我从网上搜到的, ...

  3. 用分离、附加的方式实现sql server数据库的备份和还原

    一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...

  4. ApexSQL Log 从意外UPDATE和DELETE操作中恢复SQL Server数据

    下载地址:https://www.apexsql.com/download.aspx 如何从意外UPDATE和DELETE操作中恢复SQL Server数据 ApexSQL Log 从意外UPDATE ...

  5. SQL Server 2012完全备份、差异备份、事务日志备份和还原操作;

    SQL Server 2012完全备份.差异备份.事务日志备份和还原操作: 1.首先,建立一个测试数据库,TestA:添加一张表,录入二条数据:备份操作这里我就不详细截图和讲解了.相信大家都会备份,我 ...

  6. SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法

    SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法 在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备 ...

  7. SQL server数据缓存依赖

    SQL server数据缓存依赖有两种实现模式,轮询模式,通知模式. 1  轮询模式实现步骤 此模式需要SQL SERVER 7.0/2000/2005版本以上版本都支持        主要包含以下几 ...

  8. [SQL]SQL Server数据表的基础知识与增查删改

    SQL Server数据表的基础知识与增查删改 由张晨辉(学生) 于19天 前发表 | 阅读94次 一.常用数据类型 .整型:bigint.int.smallint.tinyint .小数:decim ...

  9. Sql Server数据的加密与解密

    Sql Server数据的加密与解密 在sql server中,我们如何为数据进行加密与解密,避免使用者窃取机密数据? 对于一些敏感数据,如密码.卡号,一般不能使用正常数值来存储.否则会有安全隐患.以 ...

随机推荐

  1. R 语言—基本绘图

    https://www.harding.edu/fmccown/r/   这个网站上有壮观的 R 绘制的实际图形 下面只记录自己感兴趣的内容 单变量绘图下包含 1. 带状图 2. 茎叶图 3. 直方图 ...

  2. dubbo客户端源码分析(一)

    rpc框架有很多,公司自研.开源的thrift.dubbo.grpc等.我用过几个框架,了解了一下实现原理,客户端基本都是用代理实现,jdk动态代理.cglib等.最近一段时间想了解一下dubbo源码 ...

  3. Vue指令的钩子函数使用方法

    在Vue 中可以把一系列复杂的操作包装为一个指令. 什么是复杂的操作? 我的理解是:复杂逻辑功能的包装.违背数据驱动的 DOM 操作以及对一些 Hack 手段的掩盖等.我们总是期望以操作数据的形式来实 ...

  4. Drupal7配置简洁URL(Clear URL)

    参考:Apache Rewrite url重定向功能的简单配置 这两天折腾死了 首先说一下我的环境: Aache2.4.25-x64-vc14-r1;php-7.0.19-Win32-VC14-x64 ...

  5. Angular面试题三

    十六.一个 angular 应用应当如何良好地分层? 目录结构的划分 1.对于小型项目,可以按照文件类型组织,比如: css Js  {  controllers  models  services ...

  6. 手动替换WORDPRESS的GOOGLE字体等加速【非插件】

    手动替换WORDPRESS的GOOGLE字体等加速[非插件] 179 看过 | 2015年3月4日 | Linux, 随意Coding | 暂无评论 查找需要替换的地方 Linux下,在网站文件夹中, ...

  7. shell学习笔记--持续记录

    1.#!/bin/sh 使用sh程序来执行下边的代码 #!/bin/more 输出下边的代码 #!/bin/可执行程序 下边的代码将会作为此程序的输入 2. * 可以用来匹配文件名,正则匹配,作为乘法 ...

  8. JavaScript运算符优先级引起的bug

    [下面是昨天发给同事的邮件,为防止泄露商业机密,隐去了项目名和变量名] ==================================================== 昨天发现Nx代码中的一 ...

  9. 使用wm_concat函数导致字符串过长

    场景:使用select wm_concat(xxxxx) from table 的时候 返回的字符串过长 解决方案 :使用to_clob 将字符串转成 clob类型,但是由于使用的前端框架不能解析cl ...

  10. HTML5-入门。

    什么是HTML5? HTML5是超文本语言,不是编程语言,html5是html语言的最新版本,需要注意浏览器的兼容性问题. HTML5技术一般是指的是HTML5.CSS3.JavaScript三种技术 ...