背景
我使用自动化脚本配合bypy上传备份到百度云盘:如何一键在云端备份自己的小破站 – 软软橘子
并且写过一些备份恢复实战的经验:网站备份恢复实战——假如炸站了 – 软软橘子
然后还提供了一些bypy的使用建议:python虚拟环境和bypy – 软软橘子
然而,bypy在9月中突然不能正常使用upload命令了!
- 详情参考:Slice MD5 mismatch, waiting 10 seconds before retrying · Issue #741 · houtianze/bypy
- 百度网盘开放平台中的相关功能:分片上传;单步上传
解决方案
在github issue #741中有人给出了参考解决方案。
看了这个解决方案后,我发现主要原因是百度云盘修改了API接口,这就导致一些原本能够正常使用的接口和配置现在失效了。这里实际上只需要修改bypy的命令就可以暂时解决问题。只需要使用-s参数指定分片大小即可,如下:
# 原本的上传代码
$VENV_PYTHON -m bypy upload "$archive_parent_dir" "$remote_dir"
# 现在修改后的上传代码
$VENV_PYTHON -m bypy -s 100MB upload "$archive_parent_dir" "$remote_dir"
也就是只需要添加一个-s 100MB的参数即可指定分片大小为100MB。
请注意,由于我的所有文件不超过这个大小,因此可行;如果实际情况下大小更大,可能需要使用更大的值或者看参考解决方案中的其他方法。
可以使用以下命令获取bypy的help信息,供参考:
# 如果你有全局python环境
python3 -m bypy help
# 或者如果你在系统变量中设定了python路径
$VENV_PYTHON -m bypy help
# 或者如果你设定了bypy的别名
bypy help

京公网安备 11010802038961号
Comments NOTHING