Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6370721
  • 博文数量: 162
  • 博客积分: 3600
  • 博客等级: 中校
  • 技术积分: 10366
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-19 11:23
个人简介

专注系统运维、网络架构,研究技术解决方案,记录我的思想轨迹、工作学习、生活和关注的领域

文章分类
文章存档

2014年(2)

2013年(16)

2012年(27)

2011年(117)

分类: LINUX

2011-02-23 14:40:35

操作系统:linux
说明:使用了expect,  参数为ftp服务器地址和要下载的文件名
参数:lindex $argv 0  读取ftp服务器ip地址
      lindex $argv 1  读取要下载的文件名
编辑:
#vi
spawn ftp [lindex $argv 0]
expect "Name (*):"
send "anonymous\r"
expect "Password:*"
send "\r"
expect "ftp>"
send "binary\r"
expect "ftp>"
send "hash\r"
expect "ftp>"
send "get [lindex $argv 1]\r"
expect "* Transfer complete."
send "exit\r"
执行方法:expect 服务器ip地址  文件名称
        (expect 192.168.0.1 filename.txt )
 
 
使用Shell脚本来实现FTP的自动上传下载
(这里要确定ftp用户所在的目录)
1. FTP自动登录下载文件。

#####从ftp服务器上的/home/data 到 本地的/home/databackup####

#!/bin/bash

ftp -n<

open 192.168.1.171

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

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

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/databackup 下####

#!/bin/bash

ftp -n<

open 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

put a.sh a.sh

close

bye

!

使用.netrc文件方式自动登录

在用户目录下下建.netrc的文件
.netrc文件的内容如下:
        machine         host2        :host2作为登陆用的主机名
        login        username        :ftp用户名
        password         userpwd        : host2用户的口令
        macdef                init        :定义一个名为init的宏,它将在自动注册进程的最后被执行
        bin                        :文件以二进制传输
        lcd                /backup        :进入本地目录/backup
        cd                /pub        :进入远程主机目录/pub
        mput                        :将/backup目录下的所有文件传输至远程主机
        bye                        :退出ftp
并修改文件属性:$chmod 600 .netrc即该文件只能被该用户访问

 


阅读(13650) | 评论(0) | 转发(6) |
给主人留下些什么吧!~~