curl命令下载ftp文件

# 仅保留错误日志到 /tmp/ftp_download.err,标准输出丢弃 1、/usr/bin/curl -s --connect-timeout 15 --retry 4 -m 15 --ftp-skip-pasv-ip --ftp-pasv --user 用户名:密码 ftp://<IP:端口><路径><文件> -o 路径/文件 >/dev/null 2>/tmp/ftp_download.err

2、补充说明:

FTP 主动 / 被动模式(核心)

主动模式(PORT):FTP 服务器主动连接客户端的指定端口,易被客户端防火墙拦截;

被动模式(PASV):跨网络下载文件时,建议用 FTP 被动模式 —— 客户端会在指定端口范围内随机选端口连 FTP 服务器(服务端防火墙只需放行这个端口范围即可)。加--ftp-pasv参数能强制开启该模式,是这类场景的首选方案。

–ftp-skip-pasv-ip 解决的问题:比如 FTP 服务器内网 IP 是 10.0.0.1,公网 IP 是 203.0.113.1,客户端通过公网连接时,服务器返回的 PASV IP 是 10.0.0.1,客户端会尝试连接该内网 IP 导致失败,跳过验证后客户端会直接连接 FTP 服务器的公网 IP。

Categories: 系统运维