使用 bash 脚本从 ftp 服务器下载多个文件

使用 bash 脚本从 ftp 服务器下载多个文件

我有 2 或 3 个 FTP 服务器,我们的托管商每天都会将数据库备份放在这些服务器上。由于他只保留一个,所以我被要求编写一个 bash 脚本,用于每天下载所有数据库备份,这样我们就有不止一天前的备份。

我试图用 ftp 命令让它工作,但是由于似乎无法下载完整的目录,我认为我可以使用 for 循环来完成它,但这不适用于 ftp 命令并且我总是收到意外的文件结束错误。

我应该说,只能通过服务器上的 ftp 进行连接。没有 SSH 访问或其他方式!

目前我有这个:

echo "Download all the database backups from honds ftp-servers"

SERVERS="ftp.srv1.de ftp.srv2.de"

#for SERVER in $SERVERS; do
    ftp -in ftp://user:[email protected] << EOF
    binary
    get Datenbankbackup
EOF

答案1

您可以 cd 进入目录,然后使用mget命令获取该目录中的所有文件:

ftp -in ftp://user:[email protected] << EOF
    binary
    cd Datenbankbackup
    mget *
EOF

相关内容