使用 wget 从 ftp 站点下载图片

使用 wget 从 ftp 站点下载图片

我正在尝试设置一个脚本,该脚本将远程 FTP 目录中的所有图像与我可以定期运行的本地目录同步,以确保我已将所有新图像添加到远程目录中。我一直在尝试使用 wget 的解决方案,但似乎无法获得正确的语法。这是我所拥有的:

wget -r -N --no-remove-listing -nd ftp://user:[email protected]/images/

所有这些似乎只是创建一个本地 index.html 文件,其中包含指向远程文件的链接列表(我不想要)。如何修改此命令,以便它只下载远程目录中的所有图像?或者,是否有另一个 unix 命令可以尝试从远程 FTP 站点同步图像?

答案1

有人建议我使用 lftp 命令(http://lftp.yar.ru/lftp-man.html) 像这样:

lftp -c 'open ftp.server.com; user username password; mirror -e --only-missing images .; quit'

看起来运行良好并且它已内置于大多数版本的 Unix 中。

答案2

您也可以尝试使用 ncftp 包中的 ncftpget。请参阅http://www.ncftp.com/但尝试为您的发行版安装一个 ncftp 包。

来自“man ncftpget”

-R      Recursive mode; copy whole directory trees.

You  can retrieve an entire directory tree of files by using the -R flag.  However, this will work only if the remote FTP server is a UNIX server, or emulates UNIX's list output.
   Example:

       $ ncftpget -R ftp.ncftp.com /tmp /pub/ncftp

答案3

如果您想使用WGET,请尝试使用A开关指定可接受的文件扩展名:

wget -r --accept=jpg,gif,png ftp://user:[email protected]/blah/*

相关内容