google-cloud-storage - GSutil RSync - 更改最大文件路径限制以匹配 Windows
问题描述
我有一个需要使用 GSutil 备份的大型项目。当文件接近 Windows 文件路径限制时,我不断收到“错误 3”。反正有没有让这个工作?
我尝试通过将具有长路径的不同本地文件同步到不同文件夹来重新创建问题。发生了同样的错误。
(控制台输出)https://i.imgur.com/pV8Rj4r.png
我正在运行 Windows 10。我运行的命令是:gsutil -m rsync -r -d -n Test Target
这是失败的路径:
C:\Users\temp\Desktop\Test\TestPath\LongTestTestTestTestTest 测试 - LongTestTestTestTestTest 测试 - LongTestTestTestTestTest 测试 - LongTestTestTestTestTest 测试 -\LongTestTestTestTestTest 测试 \LongTestTestTestTes\SO MUCH LONGER PATH 2\A BIT LONGER AGAIN\LONG FILE NAME,2_1225688.txt
(Windows 路径)https://i.imgur.com/LO2d9UL.png
我遇到的问题是 Windows 允许这些文件存在,但 gsutil 无法同步它们。如果我将路径缩短几个字符,问题就会消失。问题出现在列表阶段它同时出现在源文件夹和目标文件夹中。
解决方案
我在Serverfault.com上找到了一个有用的讨论,这个简单的解决方案适用于我的 Windows Server 2016:
代替
gsutil -m rsync -r C:\ gs://...
经过
gsutil -m rsync -r \\?\C:\ gs://...
推荐阅读
- html - 页面速度洞察中的“预加载关键请求”问题,但代码中的标签存在
- robotframework - 如何使用 Squish 和 Robot 框架检测文本框的着色?
- linux - AArch64 ESR 捕获的 WFI 或 WFE 指令执行
- google-cloud-platform - CDF 中的工作流令牌
- powershell - Powershell 更改多个用户的 AD 属性
- sql - 在使用它的上下文中无效 sql db2 cloud
- excel - 根据 ID 在不同的列范围内检查至少一个相同的值
- graphql - 如何将参数添加到带有边和节点的 graphql 查询
- java - SQL Select CASE-WHEN - 如何从电话号码中删除格式
- xaml - 按钮图标不显示 xamarins 表单 xaml