一、从本地上传单个文件到FTP
#!/bin/bash
PUTFILE=test.txt
ftp -i -v -n ftp_ip\ ftp_port<<EOF
user ftpusername ftppassword
binary
cd /testdir
lcd ./
prompt
put $PUTFILE
by
EOF
echo "up file end . . ."
命令解析
- ftp命令 用来连接ftp服务器;
注意:如果在linux服务器中执行命令则使用 ftp ftp_ip ftp_port即可以连接ftp服务器;如果在shell脚本中编写ftp命令,则需要“\”对空格进行转义。 - user命令 用来输入ftp的用户名密码;
- binary命令 ftp文件传输类型,将文件传输类型设置为二进制模式。
- cd命令 上传到ftp的目的路径
- lcd命令 本地要上传的文件所在的路径
- prompt命令 文件覆盖提示
- put命令 上传文件命令
- by 命令 退出ftp
二、从本地批量上传文件到FTP
#!/bin/bash
ftp -i -v -n ftp_ip<<EOF
user ftpusername ftppassword
binary
cd /testdir
lcd ./
prompt
mput *
by
EOF
echo "commit to ftp successfully"
命令解析
- mput命令 将本地文件夹下的所有文件都上传到FTP
三、从FTP下载单个文件到本地
#!/bin/bash
ftp -i -v -n ftp_ip<<EOF
user ftpusername ftppassword
binary
cd /download
lcd ./
prompt
get down.txt
by
EOF
echo "download successfully"
命令解析
- get命令 获取ftp中的文件
四、从FTP批量下载文件到本地
#!/bin/bash
ftp -i -v -n ftp_ip<<EOF
user ftpusername ftppassword
binary
cd /download
lcd ./
prompt
mget *
by
EOF
echo "download successfully"
命令解析
- mget命令 获取ftp文件夹中所有的文件
参考资料
https://blog.csdn.net/u012842255/article/details/66969501
https://www.jianshu.com/p/c3d57fd735b8
http://imhuchao.com/323.html