小樱 发表于 2016/2/8 18:09

Linux下SSH用FTP命令上传文件详解,使用Shell脚本实现ftp的自动上传下载,手动测试

下面我以Linux下SSH用FTP命令上传文件至另一个FTP空间为实例给大家介绍ssh用ftp命令上传文件的一些实例方法。
如果没有ftp 提示: -bash: ftp: command not found
请先安装ftp应用程序: yum -y install ftp

#ftp 127.0.0.1 21 输入远程空间的FTP IP和端口号,回车
然后根据提示输入用户名和密码即可!

ftp>lcd 本地工作目录
ftp>cd 远程目录
ftp>binary 采用二进制传输
ftp> tick 开启传输时的字节计数器,再执行一次即可关闭
ftp>mput 文件
FTP> bye(或by) 结束和远程电脑的linux中ftp命令参数会话并退出linux中ftp命令参数。
FTP> cd 更改远程电脑上的工作目录。
FTP> get 使用当前文档转换类型将远程文档复制到本地电脑。
格式:get remote-file
FTP >lcd 更改本地电脑上的工作目录。默认情况下,工作目录是启动linux中ftp命令参数的目录。
格式:lcd
FTP >ls 显示远程目录文档和子目录的缩写列表。
FTP >mdelete 删除远程电脑上的文档。
格式:mdelete remote-files [ ...]
说明:remote-files 指定要删除的远程文档。
FTP >mdir 显示远程目录文档和子目录列表。能够使用 mdir 指定多个文档。
格式:mdir remote-files [ ...] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 – 使用远程电脑上的当前工作目录。

1、连接ftp服务器
格式:ftp
a)在linux命令行下输入:ftp www.boluo.org
b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

2、下载文件
下载文件通常用get和mget这两条命令:
a) get 格式:get
将文件从远端主机中传送至本地主机中.
如要获取服务器上/ftp/1.rar,则
ftp> get /ftp/1.rar 1.rar (回车)
b) mget 格式:mget
从远端主机接收一批文件至本地主机.
如要获取服务器上/ftp下的所有文件,则
ftp> cd /ftp
ftp> mget *.* (回车)
注意:文件都下载到了linux主机的当前目录下。

3、上传文件
a) put 格式:put local-file
将本地一个文件传送至远端主机中.
如要把本地的1.zip传送到远端主机/ftp,并改名为1.rar
ftp> put 1.zip /ftp1.rar (回车)
b) mput 格式:mput local-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有rar文件上传到服务器/ftp 下
ftp> cd /ftp (回车)
ftp> mput *.rar (回车)

4、断开连接
bye:中断与服务器的连接。


1. ftp自动登录批量下载文件。
#####从ftp服务器上的/home/data 到 本地的/home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!

2. ftp自动登录上传文件。
####本地的/home/databackup to ftp服务器上的/home/data####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!

3. ftp自动登录下载单个文件。
####ftp服务器上下载/home/data/a.sh to local /home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
get a.sh a.sh
close
bye
!

4. ftp自动登录上传单个文件。
####把本地/home/databachup/a.sh up ftp /home/data 下####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh
close
bye
!


小结:把以上脚本另存为文件加入到crontab中即可实现ftp自动上传、下载文件。
注解:
1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
2. << 是使用即时文件重定向输入。
3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。

不可名 发表于 2016/2/9 00:33

大年初二帮顶·~·
页: [1]
查看完整版本: Linux下SSH用FTP命令上传文件详解,使用Shell脚本实现ftp的自动上传下载,手动测试