我正在尝试在 FTP 服务器上镜像文件。这些文件可能非常大,因此下载可能会中断。我想在将部分文件下载到临时文件夹时保留原始文件,并在完成后覆盖本地旧版本。
- 我可以这样做吗?如何?
- 我可以使用其他易于使用的(命令行)工具吗?
我正在尝试在 FTP 服务器上镜像文件。这些文件可能非常大,因此下载可能会中断。我想在将部分文件下载到临时文件夹时保留原始文件,并在完成后覆盖本地旧版本。
首先,将文件下载到临时目录。使用 -c 以便您可以恢复。
下载完成后,使用复制、重命名或 rsync 将文件复制到最终位置。
注意:考虑在整个过程中使用 rsync,因为它只是为这个用例而设计的,它对服务器和 Internet 造成的压力要小得多。如果您出于这个原因要求他们提供 rsync 访问权限,大多数站点管理员都会很高兴。
查看 wget 手册我看不到此功能,但是您可以编写一个 bash 脚本来执行您想要的操作,这实际上将为每个文件运行一个单独的 wget,然后使用普通的 mv 命令移动它。
或者根据手册查看 rsync有一个设置临时目录的参数
-T --temp-dir=DIR create temporary files in directory DIR
我不是 100% 确定这是它在下载期间放置文件的地方,因为没有机会尝试它。