背景需求:

某部门需要将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. 03-Tomcat服务器

    一.Java分类 JavaSE Java的标准版,一般用来开发桌面应用程序, 但是在开发桌面应用程序上相对VB,Delphi,VC++并没有什么优势. JavaEE 也就是Java Enterpris ...

  2. 创建Web项目运行时出小错误及解决方法

    1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language=" ...

  3. 全面认识Docker和基本指令

    Docker逐渐成为虚拟化技术的佼佼者,Java架构师之路接下来会推出一系列的Docker相关技术文章,Docker技术也是架构师的必备技能. 什么是Docker Docker 是一个开源的应用容器引 ...

  4. 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题[转]

    如题: 在项目中要在当前页面中,再新开一个页面, 新开页面的地址是ajax请求后返回的url --------- 试了,浏览器提示组织弹窗..... 网上找,找到了一个处理方式,思路是 1. 先打开一 ...

  5. Python FFT (Fast Fourier Transform)

    np.fft.fft import matplotlib.pyplot as plt import plotly.plotly as py import numpy as np # Learn abo ...

  6. How to block a specific IP Address using UFW

    How to block a specific IP Address using UFW The key to blocking a specific IP address with UFW is t ...

  7. Android SDK开发与使用的那些事儿

    前言 最近由于工作需要,将应用里的部分功能独立了出来,封装成 SDK 提供给合作伙伴使用.由于经验不足,网上也没多少写这方面内容的文章,遇到了不少的坑,决定记录下来. SDK 其实,刚说到要写SDK也 ...

  8. 网络文学带动的IP热

    网络文学从最初被人诟病不入流到现今直接带动整个网络文学产业链发展以及IP热,其发展历程如何?现今布局如何?以下做简单概括. 下图为艾瑞PC指数文学网站排名,由图可看出晋江原创网排名首位. 晋江隶属盛大 ...

  9. Android解析WindowManagerService(一)WMS的诞生

    前言 此前我用多篇文章介绍了WindowManager,这个系列我们来介绍WindowManager的管理者WMS,首先我们先来学习WMS是如何产生的.本文源码基于Android 8.0,与Andro ...

  10. Java多线程学习笔记(三)同步和异步

    首先是一段代码: public class HasSelfPrivateNum { public void addI(String username){ try { int num=0; if(use ...