最近在维护之前的一个项目,涉及到一些用户上传的图片。由于是企业应用,图片直接保存在了服务器本地,并未使用相关的图片存储服务。而且服务器也没做什么靠谱的备份方案,感觉不是很放心,想把用户上传的相关文件定期保存到阿里云的OSS。搜索了一下发现有一个基于Python的脚本,大致是使用osscmd这个工具,定期打包文件上传到服务器,并删除过期文件。看了一下要在服务器上安装Python,配置一下相关key。Python不是很懂,看了一下相关的SDK,比较简单,打算用.NET 造个轮子。
首先参考阿里云OSS .NET SDK 创建 AccessKeyId和 AccessKeySecret,再次软件的主要实现以下功能。
1.设置备份目录打包文件并上传到阿里云,支持断点续传。
2.由于OSS 存储空间有限,需要删除过期备份文件。
3.配合Windows计划任务,设置自动备份任务。
待完善功能:
使用Server酱发送备份消息到微信,但是想到备份任务都是在半夜执行,半夜突然收到一条微信提醒感觉不是很友好,所以就暂时没添加相关通知功能。或许可以考虑添加一个邮件通知。
工具下载 AliyunOSSBackUp
使用说明
1.解压文件夹
2.使用编辑器打开 AliyunOSSBackUp.exe.config 文件
3.根据说明修改配置信息
4.需要 .NETFramework,Version=v4.7.2
相关源代码参考 GitHub