1.ftp单文件下载
#!/bin/bash
FTILE_NAME=$1
ftp -n <<- EOF
#需要下载文件的主机或者IP地址
open www.leftso.com
#配置用户名和密码
user username password
#切换远程端目录
cd /home/xqlee/backup
#切换本地存放目录
lcd /home/tomcat/test/ftp
#二进制方式传输
bin
#执行下载文件操作
prompt
get $FTILE_NAME
#退出
bye
EOF
上面脚本执行方式:
./ftp-shellscriptname.sh 文件名
注意:脚本需要修改权限使其拥有执行权限如chmod 755 脚本名称
2.下载多个文件
#!/bin/bash
ftp -n <<- EOF
#需要下载文件的主机或者IP地址
open www.leftso.com
#配置用户名和密码
user username password
#切换远程端目录
cd /home/xqlee/backup
#切换本地存放目录
lcd /home/tomcat/test/ftp
#二进制方式传输
bin
#执行下载文件操作
prompt
mget 文件名1 文件名2 *.xml ...
#退出
bye
EOF
下载多个文件使用过得命令是mget,mget后面跟着文件名称规则多个规则之间使用空格隔开
3.ftp上传文件
#!/bin/bash
FTILE_NAME=$1
ftp -n <<- EOF
#需要上载文件的主机或者IP地址
open www.leftso.com
#配置用户名和密码
user username password
#切换远程端目录
cd /home/xqlee/backup
#切换本地存放目录
lcd /home/tomcat/test/ftp
#二进制方式传输
bin
#执行上载文件操作
prompt
put $FTILE_NAME
#退出
bye
EOF
不难观察出,上传和下载只是一个命令的区别,put与get
4.ftp上传多个文件
#!/bin/bash
FTILE_NAME=$1
ftp -n <<- EOF
#需要上载文件的主机或者IP地址
open www.leftso.com
#配置用户名和密码
user username password
#切换远程端目录
cd /home/xqlee/backup
#切换本地存放目录
lcd /home/tomcat/test/ftp
#二进制方式传输
bin
#执行上载文件操作
prompt
mput 文件名规则1 文件名2 ...
#退出
bye
EOF
本ftp脚本原理都是通过实际测试出来的结果,在我使用这个命令前我百度搜索一圈居然很多错误比如get后面跟着多个名称就是下载多个文件,实际是只下载最后一个文件名的文件..
本文档仅做个人使用参考,欢迎提出建议
https://www.leftso.com/article/149.html