houtianze / bypy

Python client for Baidu Yun (Personal Cloud Storage) 百度云/百度网盘Python客户端
MIT License
7.89k stars 1.4k forks source link

执行两次一样的上传命令会导致文件被删除 #692

Open 2010dainifei opened 4 months ago

2010dainifei commented 4 months ago

为了保证每次上传的文件不丢失,不缺失,我尝试在第一次上传文件命令执行完成后, 等待1分钟, 再执行一次一模一样的命令,确保有上传失败的文件或者丢失的文件再次补偿上传,结果发现这样操作会导致第一次上传成功的文件被全部删除,最终文件全部上传失败。。。。。。。我发现好像是第二次上传的时候比对第一次上传的网盘文件的hash不一样导致删除了第一次文件的hash。但是两次上传的文件都是一样的,不明白为什么文件hash会不一样。。。。。。。

诉求: 1、希望可以修复这个BUG,第二次执行和第一次执行相同的文件上传命令的时候 不会删除第一次已经上传成功的文件(怀疑是文件hash不一致导致的)。 2、希望命令里面可以加入 验证文件是否百分百上传成功了的参数,自定义设置重试次数,自定义设置是否必须上传成功才能上传下一个文件。最终目的是希望文件不要丢失,都能上传。

最后感谢作者的无私奉献才让我们有了这么好用的工具。

houtianze commented 4 months ago

谢谢反馈。这个问题应该还是因为百度那边计算的MD5第一次是不正确的导致的。客户端想不到有什么正确和可用的解决方法。 如果只是确认上传没问题,可以用bypy compare,但是可能要用--skip-hash flag因为百度md5的计算不正确。。

2010dainifei commented 4 months ago

按照你教我的方法我执行了这个命令,但是返回的是: ==== Same files === ==== Different files === ==== Local only ==== ==== Remote only ====

Statistics:

Same: 0 Different: 0 Local only: 0 Remote only: 0

虽然结果错了,但是我发现 结果是个统计数,而没办法真实知道具体是哪个文件没有上传成功,这似乎并不是我想要的。因为我需要知道具体是哪个文件上传失败了然后重新上传。

自由自在 @.***

 

------------------ 原始邮件 ------------------ 发件人: "houtianze/bypy" @.>; 发送时间: 2024年6月11日(星期二) 晚上9:42 @.>; @.**@.>; 主题: Re: [houtianze/bypy] 执行两次一样的上传命令会导致文件被删除 (Issue #692)

谢谢反馈。这个问题应该还是因为百度那边计算的MD5第一次是不正确的导致的。客户端想不到有什么正确和可用的解决方法。 如果只是确认上传没问题,可以用bypy compare,但是可能要用--skip-hash flag因为百度md5的计算不正确。。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

houtianze commented 3 months ago

这个应该是远程/本地目录打错了,要不然会显示具体的不同文件目录,你这个结果是本地和远程目录都为空。你打bypy help compare看一下具体的参数。