Linux系统实现ftp自动登录上传或下载数据

作者:网络医生 发布于:2011-1-19 20:07 Wednesday 分类:Linux技术

方法一:

操作系统:linux
说明:使用了expect,参数为ftp服务器地址和要下载的文件名
参数:lindex $argv 0  读取ftp服务器ip地址
            lindex $argv 1  读取要下载的文件名
编辑:
#vi ftp.sh
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 ftp.sh 服务器ip地址  文件名称
        (expect ftp.sh 192.168.0.1 filename.txt )
 
扩展:可以根据需要把用户名和密码也作为参数输入里边,这个根据个人需求去做

*********************************************************************************************************

方法二、

使用Shell脚本来实现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即该文件只能被该用户访问

 

标签: ftp备份数据 数据备份

发表评论:

  • 0
  • 3
  • 4
  • 2
  • 7

Powered by emlog