方法一: 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
cd $local_dir
cd $target_dir
mput
*
bye
END_SFTP
阅读(507) | 评论(1) | 转发(0) |
0
上一篇:没有了
下一篇:没有了