我一直尝试使用 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).
我检查了所提及的文件夹的权限并且没有问题。
搜索“无法写入”消息产生了一堆与我的用例无关的结果。
答案1
我不太确定它为什么会起作用,但请尝试/
在 URL 后添加斜线 ( ),如下所示,以使其按预期运行:
wget -m -e robots=off https://example.com/folders/