You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用wget镜像远程目录成功后执行增量更新时报“Cannot write to”错误

使用wget镜像远程目录成功后执行增量更新时报“Cannot write to”错误

我之前也碰到过一模一样的问题,其实这个错误的根源在于wget对URL末尾斜杠的处理逻辑,结合你遇到的情况,咱们来拆解并解决它:

问题根源分析

你第一次执行wget -m -e robots=off https://example.com/folders时,服务器返回了301重定向到带斜杠的https://example.com/folders/,wget会自动创建本地的example.com/folders目录,并把目录索引页和里面的文件都下载进去。

但第二次执行带--timestamp的命令时,你还是用了不带斜杠的URL:

wget -m -e robots=off --timestamp https://example.com/folders

wget再次请求这个不带斜杠的URL,又触发了301重定向到带斜杠的版本。这时候wget会把重定向返回的目录索引HTML页面,尝试写入本地已经存在的example.com/folders目录里——但目录不能被当作文件写入,所以就抛出了Cannot write to ‘example.com/folders’ (Success)的错误。

解决方案:给URL加上末尾的斜杠

把命令改成带斜杠的版本,让wget一开始就明确知道这是一个目录:

wget -m -e robots=off --timestamp https://example.com/folders/

这样wget会直接请求目录的索引页,识别本地已有的example.com/folders目录,然后对比远程和本地文件的时间戳,只下载新增或更新的文件,完美实现增量更新的需求。

额外小提示

  • 如果你担心误覆盖文件,可以额外加上--no-clobber参数,它会确保wget不会覆盖本地已存在的文件(不过-m镜像模式已经包含了类似的安全逻辑,加不加看个人习惯)。
  • 虽然你说本地目录权限没问题,但可以再确认下当前用户对example.com/folders目录有读写权限,避免其他潜在的权限问题。

备注:内容来源于stack exchange,提问作者KevinHJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 13:19:35