Windows Server 2008 上实现对象存储异地定时备份演示环境操作系统Windows Server 2008 R2对象存储服务腾讯云COS存储工具coscli一、下载部署coscli官方文档对象存储 COSCLI 简介_腾讯云下载地址https://cosbrowser.cloud.tencent.com/software/coscli/coscli-windows-amd64.exe下载得到文件coscli-windows-amd64.exe将coscli-windows-amd64.exe重命名为coscli.exe我们把coscli.exe放到D:\coscli\coscli.exe可选把D:\coscli\coscli.exe加入系统 PATH 环境变量不加入 PATH 后续脚本写完整绝对路径即可。二、密钥配置两种方式1、交互式配置以管理员身份打开PowerShell执行初始化配置命令D:\coscli\coscli.exe config按提示依次填写根据自己的密钥和地域填写SecretIdAKIDZ2JXXXXXXXXXXXXXXXXXXXXQs6GISecretKeyszwjXXXXXXXXXXXXXXXXXXXXrvpcendpointcos.ap-guangzhou.myqcloud.com广州地域Bucket你的桶名✅ 配置文件自动生成路径C:\Users\Administrator\.coscli.yaml2、手动编写除了使用./coscli config init交互式地生成配置文件外您也可以直接手动编写 COSCLI 的配置文件存放到C:\Users\Administrator\.coscli.yaml即可。COSCLI 的配置文件格式是YAML格式配置文件示例如下cos:base:secretid:XXXXXXXXXXXXXXXsecretkey:XXXXXXXXXXXXXXXXXsessiontoken:protocol:httpsbuckets:-name:examplebucket1-1250000000alias:bucket1region:ap-shanghaiendpoint:cos.ap-shanghai.myqcloud.comofs:false-name:examplebucket2-1250000000alias:bucket2region:ap-guangzhouendpoint:cos.ap-guangzhou.myqcloud.comofs:false-name:examplebucket3-1250000000alias:bucket3region:ap-chengduendpoint:cos.ap-chengdu.myqcloud.comofs:false3、查看配置D:\coscli\coscli.exe config show4、测试coscli可用性执行列举桶内文件命令无报错即为部署成功D:\coscli\coscli.exelscos://data-backup-1252617182/OA_seeyon_backup/三、部署数据自动上传脚本1、创建脚本我们创建一个powershell脚本cos_backup_upload.ps1把脚本保存至D:\coscli\cos_backup_upload.ps1脚本目标取系统昨天日期自动拼接年/月文件夹每天上传前一天的3个备份文件包括*03_00.zip、*03_00.properties、*03_00FanRuanReport.zip脚本示例# 备份文件自动上传腾讯云COS 逻辑取系统昨天日期自动拼接年/月文件夹上传3个备份文件 仅上传不删除本地、不清理云端数据 #$lastDay(Get-Date).AddDays(-1)$y$lastDay.Year$m$lastDay.Month$dtName$lastDay.ToString(yyyy-MM-dd)# 固定路径配置$baseLocalRootD:\UFSeeyon\A8\Enterprise\Backup\$y\$m\$cosTargetPathcos://data-backup-1252617182/OA_seeyon_backup/$coscliExeD:\coscli\coscli.exe# A8固定3个备份文件名$f_zip${dtName}03_00.zip$f_prop${dtName}03_00.properties$f_report${dtName}03_00FanRuanReport.zipWrite-HostWrite-Host待上传备份日期:$dtNameWrite-Host本地备份目录:$baseLocalRootWrite-Host# 判断年月备份目录是否存在if(-not(Test-Path$baseLocalRoot)){Write-Host【错误】年月备份目录不存在$baseLocalRootexit1}# 1.上传主备份压缩包$file1Join-Path$baseLocalRoot$f_zipif(Test-Path$file1){Write-Host开始上传主备份$f_zip$coscliExecp$file1$cosTargetPath}else{Write-Host【警告】缺失主备份文件$file1}# 2.上传properties元信息文件$file2Join-Path$baseLocalRoot$f_propif(Test-Path$file2){Write-Host开始上传备份配置文件$f_prop$coscliExecp$file2$cosTargetPath}else{Write-Host【警告】缺失备份配置文件$file2}# 3.上传业务报表备份$file3Join-Path$baseLocalRoot$f_reportif(Test-Path$file3){Write-Host开始上传报表备份$f_report$coscliExecp$file3$cosTargetPath}else{Write-Host【警告】缺失报表备份文件$file3}Write-Host 备份COS上传任务执行结束 2、手动测试脚本管理员PowerShell执行测试powershell.exe-ExecutionPolicyBypass-FileD:\coscli\cos_backup_upload.ps1执行无报错、正常识别文件即为脚本部署成功。四、配置Windows任务计划程序自动定时执行1、打开任务计划程序WinR 输入taskschd.msc2、新建基础任务运行账号Administrator 本地管理员账号勾选【不管用户是否登录都要运行】、使用最高权限运行3、触发器配置4、操作配置程序或脚本powershell.exe添加参数-ExecutionPolicy Bypass -File D:\coscli\cos_backup_upload.ps1起始于可选D:\coscli5、设置切换到【设置】标签页6、手动运行测试手动运行一次定时任务进行测试点击【运行】会看到状态会变成【运行中】腾讯云cos存储控制台中可以看到文件正在上传五、COS存储桶生命周期配置前往COS存储控制台——【基础配置】——【生命周期】进行生命周期规则配置比如文件上传满10天自动沉降至【低频多AZ存储】节省存储费用文件上传满40天自动删除过期备份避免账单堆积分片碎片30天自动清理彻底解决上传中断残留分片计费问题