我一直在尝试使用 wget 镜像服务器上的目录,然后仅使用较新的文件更新下载的树。本地机器运行的是MacOS 12.6.3;服务器是 CloudLinux,版本 6。
该服务器是半私有的,这意味着它没有密码保护,但不做广告,并且有无机器人建议。
我想使用比设置 rsync (ssh 密钥等)更简单的东西。我在 Unix SE 网站上找到的建议似乎是实现此目的的简单方法。
所以我运行了这个命令:
wget -m -e robots=off https://example.com/folders
(“文件夹”目录Options +Indexes
中有一个指令.htaccess
)
这就创建了最初的目标。一切都下载得很好,并在我的本地计算机上创建了初始“文件夹”目录树,所有文件都完好无损。
然后,我在最初下载的服务器上的树中创建了一个新文件,然后尝试运行它以查看它是否会获取新文件:
wget -m -e robots=off --timestamp https://example.com/folders
但我收到这个错误:
Cannot write to ‘example.com/folders’ (Success).
完整输出:
--2023-12-24 05:29:07-- https://example.com/folders
Resolving example.com (example.com)... 123.456.789.123
Connecting to example.com (example.com)|123.456.789.123|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://example.com/folders/ [following]
--2023-12-24 05:29:07-- https://example.com/folders/
Reusing existing connection to example.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 3671 (3.6K) [text/html]
example.com/folders: Is a directory
Cannot write to ‘example.com/folders’ (Success).
我检查了提到的文件夹的权限,它们都很好。
搜索“无法写入”消息产生了一堆与我的用例无关的结果。
我不太确定它为什么起作用,但请尝试
/
在 URL 后面添加斜杠 ( ),如下所示,以便按预期运行: