方法一: 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 批量自动上传方法