如何使用Ansible将文件上传至FTP服务器?
本地文件上传至FTP服务器(需登录验证)的操作方法
一、命令行方式
1. 使用lftp工具(推荐,功能更完善)
- 先安装lftp:
- Ubuntu/Debian:
sudo apt install lftp - CentOS/RHEL:
sudo yum install lftp - macOS(需先装Homebrew):
brew install lftp
- Ubuntu/Debian:
- 连接FTP服务器:
执行命令lftp -u 用户名,密码 ftp://服务器地址,比如:lftp -u alice,MyPass123 ftp://ftp.my-server.com - 上传文件:
直接用put 本地文件的完整路径,比如:put /home/alice/files/data.csv
如果要上传整个本地目录,用mirror -R 本地目录路径(-R表示反向同步,把本地目录传到服务器) - 操作完成后输入
exit断开连接
2. 使用原生ftp命令
- 连接服务器:
执行ftp 服务器地址,比如ftp ftp.my-server.com - 输入验证信息:
终端提示Name (ftp.my-server.com:yourname):时输入用户名,然后提示Password:时输入密码 - 上传文件:
用put 本地文件路径,比如put /Users/bob/docs/notes.txt
注意:如果文件路径包含空格,要加引号,比如put "/Users/bob/docs/my note.txt" - 若服务器要求被动模式,输入
passive开启 - 完成后输入
bye断开
二、图形化工具方式(以FileZilla为例)
- 下载安装FileZilla(对应系统版本可直接从官网获取)
- 打开软件后,点击顶部菜单栏的「文件」→「站点管理器」
- 点击「新站点」,在右侧配置:
- 协议选择「FTP - 文件传输协议」
- 主机填写FTP服务器地址
- 端口保持默认21(如果服务器自定义了端口就填对应值)
- 登录类型选「正常」,然后输入用户名和密码
- 点击「连接」,成功连接后,左侧面板是本地文件目录,右侧是服务器目录
- 找到本地要上传的文件/目录,直接拖拽到右侧服务器的目标目录即可
注意事项
- 确保本地网络能访问FTP服务器的21端口(主动模式),如果是被动模式,要确认服务器开放了对应的被动端口范围
- 上传大文件时,尽量保持网络稳定,避免中断
- 部分服务器可能限制上传文件的大小或格式,提前确认服务器规则
内容的提问来源于stack exchange,提问作者Costales
相关产品推荐
相关产品推荐

