您的位置:首页 > 运维架构 > Linux

UNIX/linux系统下FTP自动上传文件脚本

2010-03-03 11:39 651 查看
方法一: Expect 实现交互

UNIX 窗口中 输入以下命令:

expect ftplinux.txt 10.0.15.22 ftplinux.txt

ftplinux.txt 中内容如下:

--开始-----

spawn ftp [lindex $argv 0]

expect "Name(*):"

send "ftp/r"

expect "Password:*"

send "hell05a/r"

expect "ftp>"

send "binary/r"

expect "ftp>"

send "hash/r"

expect "ftp>"

send "put [lindex $argv 1]/r"

expect "* Transfer complete."

send "exit/r"

-----结束----

可将 文件ftplinux.txt 上传到对方FTP默认目录下

方法二: ftp 直接实现交互

FTP自动登录批量下载文件

 

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

---建立一个文件 ftp.ssh 命令: vi ftp.ssh

---开始----- 

!/bin/bash

ftp -v -n 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

mget *

close

bye

----结束-----------

在命令行输入: ./ftp.ssh

  FTP自动登录批量上传文件

 

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

---建立一个文件 ftp.ssh 命令: vi ftp.ssh

---开始----- 

-----开始---- 

#!/bin/bash

ftp -v -n 192.168.1.171 << END

user guest 123456

binary

hash

cd /home/data

lcd /home/databackup

prompt

mput *

bye

END

---结束-----

在命令行输入: ./ftp.ssh

----设定定时运行,命令行输入:

crontab -e

然后在文件中设定 时间 和文件ftp.ssh的路径

这样就可以自动调用ftp.ssh文件运行上传程序。

----------SFTP 批量自动上传方法

#
!/
bin
/
bash

local_dir
=/
path
/

target_dir
=/
path
/

user
=
user

password
=
password

serverip
=
serverip

lftp
-
u $user,$password sftp:
//
$serverip <<END_SFTP

l

cd $local_dir

cd $target_dir

mput
*

bye

END_SFTP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: