服务器上的文件需要传到ftp,传统做法要先下载到本地,再通过FileZilla图形化工具上传到ftp,比较费时。
经过查阅相关资料可以使用curl操作ftp。
文件上传
curl --ftp-create-dirs -T /root/docker-pack-env/pack/linux/xxx.tar.gz.md5 ftp://username:password@192.168.10.91:221/2022/20220226/xxx.gz.md5
--ftp-create-dirs 代表在ftp上自动创建目标文件夹。
-T 上传文件
ftp目标路径
ftp://username:password@192.168.10.91:221/
- username是ftp用户名
- password是ftp密码,需要注意密码中包含特殊字符时需要转码,可以用前面推荐的“帮小忙”
https://tool.browser.qq.com/urlencode.html
- ip后面可以跟端口号(ftp默认端口21,为了提升安全有时候特意改成其他,本文以221端口为例)
curl关于FTP用法说明
文件下载
- 查看目录下面的文件
curl ftp://username:password@192.168.10.91:221/test/
最后一定要加斜杠“/”,否则报错
- 下载文件到本地
curl ftp://username:password@192.168.10.91:221/test/20211229/xxx.dat -o /root/xxx.dat
这里用到的参数是 -o,注意参数位置,不在最前面。
其他常用参数
-k 忽略证书
-v 查看详细信息
-H http请求头
可以参考阮一峰老师的文章curl 的用法指南 - 阮一峰的网络日志 (ruanyifeng.com),或者查看官方说明(curl --help 以及 curl --manual)