630 字
3 分钟
upyun
启
前段时间折腾存储空间,折腾一圈还是又拍云最香,免费。但是自己不小心把一个文件夹删了,想要找回,却没有回收站这个功能,很遗憾,它就这么没了。
所以想找个办法备份图床,另外在 Github 逛到了 upyun-sdk 所以就拿来写写。
- 将又拍云存储的数据下载到本地,并且上传到一个新的存储空间内。
- 为保证数据完整,禁止删除任意文件。
- 支持同步
中
写这个脚本的最终目的不是省钱(图床一共也没几个钱),而是锻炼自己!
有目的的学习效率更高!
通过这个脚本,学习到了一些python
的知识
- 类的定义 (定义了一个
myupyun
的子类) - 类的继承 (
myupyun
类继承了 upyun-py 中的UpYun
类,并且添加了一些新的代码) - 递归函数 (又拍云并未提供列举所有目录的接口,自己用递归编写了文件遍历函数)
- 多级文件夹 (
os.open
有时并不能创建文件夹,os.mkdir
只能创建一级文件夹,创建多级文件夹要用os.mkdirs
另外还认识到一些不足之处来日补上
- 函数有些凌乱
- 并发下载
- 进度条使用不完善
- 数据库
潮
讲完自己的,下面来讲将给读者的(没错就是屏幕前的你!),分享一下使用方法(0 基础)。
环境要求 python3
+你喜欢的编辑器
克隆仓库
在你喜欢的地方打开
powershell
orgit bash
这里更建议放服务器里面,当然 Windows 也行git clone https://github.com/wxydejoy/upyun-backup-server.git
安装依赖
python -m venv venv # 创建虚拟环境 pip install -r requirements.txt
配置参数
打开
main.py
按照提示填入合适的参数# 只下载和上传,不删除,也就是说不需要删除权限 # 源仓库配置 st1_name = "" st1_operator = "" st1_password = "" # 目标仓库配置 st2_name = "" st2_operator = "" st2_password = "" st2_link = "" # 本地配置 local_dir = "local/" # 本地相对路径
RUN
运行
main.py
即可
终
这个备份当然可以自动
服务器 宝塔:添加定时任务定时运行脚本即可,注意运行路径 非宝塔:自行百度添加服务器定时任务
Windows 打开系统搜索,搜
任务计划程序
点击创建基本任务,按照引导创建即可(友情提示:任务计划程序很好用,思路放开)