我正在尝试设置一个脚本,该脚本将远程 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/*