发布于 2023-01-26, 更新于 2024-09-07
之前上传文件到 FTP 服务器,一般通过客户端软件,这个操作比较繁琐,而且每个操作系统的客户端软件操作也不太一致,需要找到一个配置一次后可直接执行的方法。
封装为 shell 脚本后,也可以进一步通过服务器实现远程打包、传输等操作。
更新:经过实际使用体验,推荐直接只使用 lftp 完成上传下载即可。
Ubuntu 安装:
apt-get install ncftp lftp
Mac 安装:
brew install ncftp lftp
比如,将本地的 ~/project/out/* 下的所有文件上传到 FTP目录 /home 下。
ncftpput -u '用户名称' -p '密码' -P 21 -m -R 地址 /home ~/project/out/*
参数说明:
-m:如果目标目录不存在,传输前先在目录位置尝试创建目录-R:递规传子目录创建配置文件: ~/.config/lftp/rc
如果服务器不是 ssl 模式验证,需设置:
set use-feat no
set ssl-allow no
lftp 可以将目录同步到服务器,传输速度比 ncftp 以上用法更快,更推荐使用。
lftp username:password@hostname <<EOF
mirror -R /localpath /remotepath
bye
EOF
使用 lftp 进行下载;通过 quit 命令,标记处理完毕后退出可交互界面。
lftp -u username,password -e "mirror /remotepath /localpath; quit" ftp://hostname