从具有服务器限制的纯 ftp 服务器下载所有文件



我需要从FTP服务器下载所有文件,但服务器对10,000的查找限制使事情复杂化。

我不能使用 wget -m ftp://username:password@server-adress,因为它只会下载前 10,000 个文件。我可以使用mget 20[12]*mget 20[34]*mget,但这很麻烦,有些下载失败而我不知道是哪些下载。

现在我遇到了lftp.我对这个命令抱有希望

mirror --use-pget=10 --only-missing --no-symlinks

但它不会下载任何东西,它只是输出

To be removed: 0 directories, 70695 files, 0 symlinks

现在我不知道如何实际从FTP服务器下载所有文件

,并受到限制

编辑

现在,我继续创建了一个脚本,该脚本生成一个missing.txt,其中包含我仍然需要下载的文件列表。如何使用该文件逐个下载文件?该列表n分隔。

所以我继续制作了一个脚本,其中包含所有丢失的文件,称为missing.txt。然后我创建了一个循环来下载每个文件。现在它实际上是一一下载。download.sh脚本如下所示

#!/bin/bash
HOST='HOSTNAME'
USER='USERNAME'
PASSWD='PASSWORD'
echo open $HOST > ftp.txt
# echo ascii >> ftp.txt
echo user $USER $PASSWD >> ftp.txt
# echo prompt no >> ftp.txt
while read p; do
    echo "get $p"
done <missing.txt >> ftp.txt
echo bye >> ftp.txt
ftp -in < ftp.txt
rm ftp.txt

然后这只是运行./download.sh的问题.

相关内容

  • 没有找到相关文章

最新更新