我想将所有文件和文件夹从一台主机复制到另一台主机。旧主机上的文件位于 /var/www/html,我只能通过 FTP 访问该服务器,无法将所有文件打包成 TAR。通过 FTP 定期连接到旧主机会将我带到 /home/admin 文件夹。
我尝试从我的新服务器运行以下命令:
wget -r ftp://username:[email protected]
但我得到的只是一个虚构的 index.html 文件。
通过 FTP 递归使用 wget 的正确语法是什么?
答案1
尝试-m
--mirror
wget -m ftp://username:[email protected]
答案2
你说的对,你只需要在末尾加上一个 * :
wget -r ftp://username:[email protected]/dir/*
对于共享服务器,你可以这样使用:
wget -r ftp://1.2.3.4/dir/* --ftp-user=username --ftp-password=password
因为大多数共享服务器的 ftp 用户名类似于用户名@主机名,所以第一个 wget 命令不起作用,而第二个命令可以正常工作。
答案3
检查下面的 wget 命令以递归方式从 FTP 下载数据。
wget --user="<user-name>" --password="<password>" -r -np -nH --cut-dirs=1 --reject "index.html*" "<URL to download files>"
-r
:用于递归下载。
-np
:表示无父级上升。
-nH
:用于禁止创建名称与 URL 相同的目录,例如 abc.xyz.com
--cut-dirs
:用于忽略父目录的数量。此选项的值将因命令而异。
您可以通过执行上述命令来检查。
答案4
您可以使用“curlftpfs - 将 ftp 主机挂载为本地目录”,挂载后,您可以使用“cp -r”等常规文件工具。