Windows服务器文件自动上传至阿里云OSS

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介:

Windows服务器数据文件自动上传至阿里云OSS

背景:

客户需求:实现将Windows服务器上的SQLServer数据库文件上传至阿里云OSS内,实现数据长期备份。

需求难点:网络波动对上次数据完整性的影响,如何在前期规划好后期新增的数据文件的归档分组与优化管理,如何确保数据文件上传的完整性检查。

解决方法1.windows下编写bat批量执行脚本配合定时任务时间数据传输。

     2.选取osscmd工具,支持G级数据的切片上次与解决网络波动时候的断点续传。                    3.打包压缩数据文件,减少传流量带宽,上传完成后删除压缩包(脚本内实现)。

      4.通过在Linux服务器同样使用osscmd的list方法来抓取oss上的文件信息,以便比对与告警。

一、备份服务器端部署

1.安装python,版本在2.5-2.7,建议2.7(已安装忽略)

2.c盘新建OSS目录,并在次目录下解压osscmd文件

下载URLhttps://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_Python_API_20160419.zip?spm=5176.doc32171.2.3.lnaEuy&file=OSS_Python_API_20160419.zip

3.安装rar压缩文件(已安装忽略)

4.修改oss.bat脚本文件

OSS.bat文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@ echo  off
rem mail:xuel@anchnet.com
set  MON=% date :~0,4%% date :~5,2%                 #定义创建的时间目录
set  DATE=% date :~0,4%% date :~5,2%% date :~8,2%     #定义时间
set  TIME=% date %-% time %
set  LOGDIR=C:\                                 #目录
set  DIR=D:\                                    #数据文件的盘符
echo  "%TIME% 脚本开始执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log      #输出日志
set  DIRNAME=SAP_BACKUP                                                #数据文件的目录
set  NAME=上海xx客户科技                                               #客户名称
set  PY=C:\Python27\python.exe                  #python可执行程序路径
set  OSSCMD=C:\OSS\osscmd                       #osscmd路径
set  RAR= "C:\Program Files\WinRAR\WinRAR.exe"   #rar路径
set  BUCKET=oss: //dacexinxi/                    #oss上bucket名称
set  ID=LTAIsSraOIxxxxxxxx                      #access ID
set  KEY=40u5sORa9JAVnlWwhekBJxxxxxxxxxx        #access key
set  HOST=oss-cn-shenzhen.aliyuncs.com          #oss所在区,内网可以根据具体来写
  
set  FILE=Data1                                 #压缩的数据文件目录名称
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%DIRNAME%\%FILE%      #压缩文件
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 压缩文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
%PY% %OSSCMD%  mkdir  %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME% -- id =%ID% --key=%KEY% --host=%HOST%   #创建oss目录
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME%/%DATE%-%FILE%.rar -- id =%ID% --key=%KEY% --host=%HOST%    #使用multiupload上次文件
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 上传文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
del %DIR%%DATE%-%FILE%.rar                     #删除压缩数据文件
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 删除文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
  
set  FILE=
set  FILE=Data2
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%DIRNAME%\%FILE%
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 压缩文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
%PY% %OSSCMD%  mkdir  %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME% -- id =%ID% --key=%KEY% --host=%HOST%
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME%/%DATE%-%FILE%.rar -- id =%ID% --key=%KEY% --host=%HOST%
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 上传文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
del %DIR%%DATE%-%FILE%.rar
set  TIME=
set  TIME=% date %-% time %
echo  "%TIME% %FILE% 删除文件执行完毕!" >>%LOGDIR%\OSS\log\backup-oss.log
echo  "-----------%TIME% 脚本执行完毕!---------" >>%LOGDIR%\OSS\log\backup-oss.log

5.Window创建定时任务

创建定时任务

“程序”/“附件”/“系统工具”/“任务计划程序”命令

wKiom1mD5dmwiUjBAAHnLBMOnP0233.png

点击“创建任务”后如图所示:填写好相应的名称和勾选好必要的条件

wKiom1mD5h_DEFz8AAEuz30TiPY828.png

选择“触发器”选项,点击“新建”,创建任务执行时间,“重复任务间隔”这个选择后,后面有时间选择,是每小时,还是每分,可自己选择后再修改时间,再确定。

wKiom1mD5rKTS8KsAAHguKBr2Uw133.png

wKioL1mD55-g8pCDAAG7SV1iEpc969.png

再来配置需要执行的“操作”,就是选择所写的程序或是BAT文件,这里很重要的配置是选择BAT文件后,在“起始于(可选)”这里一定要填写相应执行程序或是BAT文件的所在目录,要不然是执行不成功的。

wKiom1mD59eRZQ9EAACfUoBqnz0791.png

wKioL1mD5_ajv6LWAANFMloffII270.png

wKiom1mD6umjuRiFAAMsb4uWtXo001.png

wKioL1mD6xrQbFwnAAFN3i848Jg808.png


二、阿里云OSS开通

创建Access key,用于使用osscmd上传时bucket认证标识

wKiom1mD62qwQsN1AADOfGXaQyQ226.png

创建bucket

wKiom1mD66zzzgGrAADJs-P3-Yw968.png


二、监控OSS上传数据

1.下载osscmd工具并放置/oss目录下

wKiom1mD7Cbx08I8AAEbIndsm48816.png

oss_check.sh检测脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
DATE=` date  +%Y%m`
OSSCMD= /oss/osscmd
NAME=上海xx公司
PYCMD= /usr/bin/python
BUCKET=oss: //dacexinxi/
TIME=` date  +%Y%m%d`
DATANAME= "${TIME}-SAP_BACKUP"
ID=LTAIsSraOIHyxxx
KEY=40u5sORa9JAVnlWwhekBJzxxxxx
HOST=oss-cn-shenzhen.aliyuncs.com
WEIXIN= /oss/GFweixin .sh
MAILTIME=` date  +%F ' ' %H:%M`
  
if  [ -d  /oss/log  ]; then
mkdir  -p  /oss/log/ ${TIME} 
fi
$PYCMD $OSSCMD  ls  ${BUCKET}${NAME}/${DATE}/${DATANAME} -- id =$ID --key=$KEY --host=$HOST> /oss/log/ ${TIME} /oss-check- ${TIME}.log
NUM=`$PYCMD $OSSCMD  ls  ${BUCKET}${NAME}/${DATE}/${DATANAME} -- id =$ID --key=$KEY --host=$HOST | grep  rar| wc  -l`
echo  $NUM
if  "${NUM}"  !=  "4"  ]; then
    /bin/bash  /oss/GFweixin .sh xuel dace  "上海xx公司-oss_check is fail! TIME:${MAILTIME}"
else
    /bin/bash  /oss/GFweixin .sh xuel dace  "上海xx公司-oss_check is ok! TIME:${MAILTIME}"
fi
ls  /oss/log/ ${TIME} /oss-check- ${TIME}.log
if  "$?"  !=  "0"  ]; then
/bin/bash  /oss/GFweixin .sh xuel dace  "上海xx公司-oss_check is fail! TIME:${MAILTIME}"
else
/bin/mail  -r xuel@51idc.com -s  "达上海xx公司-oss_check"  serviceadmin@51idc.com < /oss/log/ ${TIME} /oss-check- ${TIME}.log
fi

五、结果展示

1.上传日志查看

wKiom1mD7Lui4V9rAABku3ya49k220.png

1.阿里云oss文件查看

wKioL1mD7SCBlW0dAAEtaqkZYnI988.png


可以在oss上是先以客户名称命名的一个目录,其次是一年月来归档数据文件,其次是数据上传备份目录,最终是打包好的数据压缩文件,如何后期需要定时删除,则只需在脚本内写入根据时间来删除即可,极大增强了扩展性,以日期归档方便后续管理操作。

3.邮件日志

wKioL1mD7YHAMIc0AAMiekB9j7A486.png

4.微信通知

wKioL1mD7cTQ6Y3tAABqZ4tB8Ro388.png










本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1953744,如需转载请自行联系原作者
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
目录
相关文章
|
3天前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
4天前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
6天前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
|
6天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
|
4天前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
2天前
|
弹性计算 运维 安全
阿里云轻量应用服务器是什么?实例通用型、CPU优化、多公网IP、国际型及容量型什么区别?
阿里云轻量应用服务器(Simple Application Server)是面向个人开发者及中小企业的轻量级云服务,适用于网站搭建、开发测试、小程序后端等场景。按套餐售卖,不支持自定义CPU、内存、带宽等配置,内置WordPress、宝塔面板、LAMP/LNMP等多种应用镜像,支持一键部署。提供通用型、CPU优化型、多公网IP型、国际型和容量型五类套餐,默认200M峰值带宽,操作简单、成本低,适合轻量级应用快速上线。
|
2天前
|
存储 缓存 安全
阿里云轻量应用服务器实例:通用型、多公网IP型、CPU优化、国际及容量型区别对比
阿里云轻量服务器分通用型、CPU优化型、多公网IP型、国际型和容量型。通用型适合网站与应用;CPU优化型提供稳定高性能计算;多公网IP型支持2-3个IP,适用于账号管理;国际型覆盖海外地域,助力出海业务;容量型提供大存储,适配网盘与实训场景。
37 1
|
4天前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
5天前
|
存储 人工智能 缓存
深度长文!详解阿里云磐久AL128超节点服务器及互连架构
2025云栖大会上,阿里云发布了全新一代磐久AI Infra2.0 AL128超节点服务器。 作为超节点服务器,磐久AL128采用面向下一代超大集群的服务架构,重构GPU间互连方式,旨在大模型训练与推理中实现算力与通信协同最优,相对于传统架构,同等AI算力下推理性能还可提升50%。 基于此,本文将深入解析磐久AL超节点服务器及其架构,探讨超节点服务器是什么?超节点服务器如何实现GPU间的高效互连?又将引领AI计算技术向何处演进?
304 0
深度长文!详解阿里云磐久AL128超节点服务器及互连架构
|
8天前
|
弹性计算
阿里云8核16G云服务器收费标准:最新价格及省钱购买方法整理
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1约673元/月,一年仅需4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。

热门文章

最新文章