📌  相关文章
📜  linux 下载 ftp 获取所有文件和文件夹 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:17:21.351000             🧑  作者: Mango

Linux 下载 FTP 获取所有文件和文件夹 - Shell/Bash

在 Linux 系统中,我们可以使用 Shell/Bash 脚本来自动下载 FTP 服务器上的所有文件和文件夹。以下是一个基本的示例:

#!/bin/bash

HOST='ftp.example.com'
USER='username'
PASSWORD='password'
FTP_DIR='/example/directory'

cd /local/directory

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWORD
cd $FTP_DIR
prompt
mget *
quit
END_SCRIPT

exit 0
解读脚本
  • HOST='ftp.example.com':设置 FTP 服务器的地址。
  • USER='username':设置 FTP 登录用户名。
  • PASSWORD='password':设置 FTP 登录密码。
  • FTP_DIR='/example/directory':设置要下载的目录路径。
  • cd /local/directory:切换到本地下载目录。
  • ftp -n $HOST <<END_SCRIPT:启动 FTP 客户端并连接到服务器。
  • quote USER $USER:发送用户名到 FTP 服务器。
  • quote PASS $PASSWORD:发送密码到 FTP 服务器。
  • cd $FTP_DIR:切换到要下载的目录。
  • prompt:禁用交互式模式,这将自动下载所有文件。
  • mget *:下载目录中的所有文件和文件夹。
  • quit:关闭 FTP 连接。
  • exit 0:脚本成功运行后退出。
注意事项
  • 脚本中的变量需要根据实际情况进行修改。
  • 如果 FTP 目录包含子目录,请使用 mget -r 命令递归下载文件和文件夹。
  • 在某些情况下,可能需要先创建本地目录,再执行下载操作。您可以使用 mkdir -p /local/directory 命令来创建目录(如果目录不存在)。
参考链接