(1)ftp自动批量下载文件
#####从ftp服务器上的/data/localacc 到 本地的/data/localacc####
#!/bin/bash
ftp -n<<!
open 10.0.129.170
user sfhc sfhc1234
binary
cd /data/localacc
lcd /data/localacc
prompt
mget *.gz
close
bye
!
命令详解:
-n是不使用ftp的自动登录
open host[port]:建立指定ftp服务器连接,可指定连接端口
user username password:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous
my@email
binary:设置文件传输模式为binary,缺省为ascii。binary模式不会对数据进行任何处理,ascii模式会将回车换行
转换为本机的回车字符。关于binary和ascii传输模
式的区别请看:FTP的ASCII和Binary传输模式
cd remote-dir:进入远程主机目录remote-dir
lcd local-dir:将本地工作目录切换至local-dir
prompt:设置多个文件传输时的交互提示(默认为提示,批量下载在每个文件都会提示,输入Y才能进行下一文件的
传输,prompt可取消交互提示)
mget remote-files:下载多个远程文件
close:中断与远程服务器的ftp会话
bye:退出ftp会话过程
!:在本地机器执行交互shell,exit回到ftp环境
(2)ftp自动批量上传文件
####本地的/data/localacc to ftp服务器上的/data/localacc####
#!/bin/bash
ftp -n<<!
open 10.0.129.171
user sfhc sfhc1234
binary
hash
cd /data/localacc
lcd /data/localacc
prompt
mput *.*
close
bye
!
命令详解:
hash:每传输1024个字节,显示一个hash符号(#)
mput local-files:将多个文件传输至远程主机
(3)以上为批量下载上传多个文件,如果想下载单个文件,将mget *.xls更改为get 123.xls 123.xls;如果想上传单个文件,将mput *.xls更改为put123.xls 123.xls。
(4)更多详细ftp详细命令请看:FTP命令详解