我想将所有文件和文件夹从一台主机复制到另一台主机。旧主机上的文件位于 /var/www/html 中,我只能通过 FTP 访问该服务器,并且无法对所有文件进行 TAR。通过 FTP 定期连接到旧主机将我带到 /home/admin 文件夹。
我尝试从我的新服务器上运行以下命令:
wget -r ftp://username:[email protected]
但我得到的只是一个组成的 index.html 文件。
通过 FTP 递归使用 wget 的正确语法是什么?
我想将所有文件和文件夹从一台主机复制到另一台主机。旧主机上的文件位于 /var/www/html 中,我只能通过 FTP 访问该服务器,并且无法对所有文件进行 TAR。通过 FTP 定期连接到旧主机将我带到 /home/admin 文件夹。
我尝试从我的新服务器上运行以下命令:
wget -r ftp://username:[email protected]
但我得到的只是一个组成的 index.html 文件。
通过 FTP 递归使用 wget 的正确语法是什么?
尝试
-m
_--mirror
你说得对,你只需要一个尾随 * :
对于共享服务器,您可以这样使用:
因为大多数共享服务器都有类似用户名@主机名的 ftp-username,所以,第一个 wget 命令不起作用,第二个命令工作正常。
检查以下 wget 命令以递归方式从 FTP 下载数据。
-r
: 用于递归下载。-np
: 是针对无父升序的。-nH
:用于禁止创建与 URL 同名的目录,即 abc.xyz.com--cut-dirs
: 用于忽略父目录的数量。此选项的值因您的命令而异。您可以通过执行上述命令进行检查。
除了 wget,您还可以在脚本模式下使用lftp 。以下命令会将给定远程 FTP 目录的内容镜像到给定的本地目录中,并且可以将其放入 cron 作业中:
它自动处理递归到目录,并允许指定远程源起始目录从哪里下载数据。
您可以使用“curlftpfs - 将 ftp 主机挂载为本地目录”,一旦挂载,您可以使用“cp -r”等普通文件工具。
应该工作尝试:
由于递归深度,使用 -m 而不是 -r。
http://www.editcorp.com/Personal/Lars_Appel/wget/wget_2.html#SEC11
利用:
它将镜像所有文件和文件夹。
这是正确的语法。不知道为什么你没有得到预期的结果。
与以往一样,有不止一种方法可以做到这一点。尝试 ncftp,尤其是 ncftpget
我可以理解您是否尝试将其转储到 cron 或其他东西中,但为什么不使用普通客户端和 mget * 简单地 ftp 到服务器?这可能是一条通往成功的捷径。