Shell脚本执行FTP操作

一、从本地上传单个文件到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


版权声明:本文为m759083952原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。