rclone 版本 v1.64.2
同步命令:
rclone -vv copy s3:/bucket/sftp_sync_test sftp:/sftp_sync_test
同步任务详细日志:
2024/03/15 13:10:33 DEBUG : test_2023225/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf: Need to transfer - File not found at Destination
2024/03/15 13:10:33 DEBUG : sftp://admin@azuressh2_sftp:22//sftp_sync_test: Waiting for checks to finish
2024/03/15 13:10:33 ERROR : test_2023225/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf: Failed to copy: Update Create failed: sftp: "InvalidUTF8: The input supplied is invalid UTF-8." (SSH_FX_BAD_MESSAGE)
2024/03/15 13:10:33 DEBUG : test_20240315/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf: Size and modification time the same (differ by 0s, within tolerance 1s)
2024/03/15 13:10:33 DEBUG : test_20240315/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf: Unchanged skipping
2024/03/15 13:10:33 DEBUG : sftp://admin@azuressh2_sftp:22//sftp_sync_test: Waiting for transfers to finish
2024/03/15 13:10:33 INFO : test_2023225/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会�.pobafay0.partial: Failed to remove failed partial copy: stat failed: sftp: "InvalidUTF8: The input supplied is invalid UTF-8." (SSH_FX_BAD_MESSAGE)
2024/03/15 13:10:33 ERROR : Attempt 3/3 failed with 1 errors and: Update Create failed: sftp: "InvalidUTF8: The input supplied is invalid UTF-8." (SSH_FX_BAD_MESSAGE)
同步失败文件:
test_2023225/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf
在 Python 中对文件名进行编码测试,确认是否为非法 utf8 字符串。
In [1]: file = '(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会会议通知(0).pdf'
In [2]: file.encode('utf8')
Out[2]: b'\\xef\\xbc\\x88\\xe5\\x8d\\xb0\\xe7\\xab\\xa0\\xe6\\x96\\x87\\xe4\\xbb\\xb6\\xef\\xbc\\x89\\xe5\\xb9\\xbf\\xe4\\xb8\\x9c\\xe7\\x9c\\x81\\xe5\\x99\\xa8\\xe5\\xae\\x98\\xe5\\x8c\\xbb\\xe5\\xad\\xa6\\xe4\\xb8\\x8e\\xe6\\x8a\\x80\\xe6\\x9c\\xaf\\xe5\\xad\\xa6\\xe4\\xbc\\x9a\\xe6\\xb6\\x88\\xe5\\x8c\\x96\\xe9\\x81\\x93\\xe8\\x82\\xbf\\xe7\\x98\\xa4\\xe8\\xa7\\x84\\xe8\\x8c\\x83\\xe5\\x8c\\x96\\xe8\\xaf\\x8a\\xe7\\x96\\x97-\\xe9\\xa6\\x96\\xe5\\xb1\\x8a\\xe4\\xb8\\xad\\xe9\\x9d\\x92\\xe5\\xb9\\xb4\\xe4\\xb8\\x93\\xe5\\xae\\xb6\\xe4\\xba\\xa4\\xe6\\xb5\\x81\\xe4\\xbc\\x9a\\xe4\\xbc\\x9a\\xe8\\xae\\xae\\xe9\\x80\\x9a\\xe7\\x9f\\xa5(0).pdf'
测试结果看起来没有问题,文件名是合法的 utf8。
仔细观察日志,发现这样一行:
2024/03/15 13:10:33 INFO : test_2023225/(印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会�.pobafay0.partial: Failed to remove failed partial copy: stat failed: sftp: "InvalidUTF8: The input supplied is invalid UTF-8." (SSH_FX_BAD_MESSAGE)
可以看到这里在操作一个奇怪的文件 “印章文件)广东省器官医学与技术学会消化道肿瘤规范化诊疗-首届中青年专家交流会�.pobafay0.partial”,我们来源文件里并没有这样一个文件,对比原始文件名,像是被重命名了,不是很理解这里的逻辑。