如何实现自动ftp上传功能:expect

来源:互联网 发布:淘宝详情页切片教程 编辑:程序博客网 时间:2024/05/29 02:50

为了实现高度自动化的系统资源监控,且实现对监控到数据异常时日志文件的上传(ftp),实现了如下脚本(脚本名称:autofileupload):
#!/usr/local/bin/expect

set file [lindex $argv 0];
#set date [lindex $argv 1];
set timeout -1;
while {1} {
        spawn ftp 218.108.xxx.xxx;
        expect "Name";
        send "test/r";
        expect "Password";
        send "youpassword/r";
        expect "Login failed." {send "quit/r";close;wait} "ftp>" break;
}
send "mkdir $date/r";
expect "ftp>";
send "cd $date/r";
expect "ftp>";
send "bi/r";
expect "ftp>";
send "put $file/r"
expect "ftp>";
send "quit/r";

解释:lindex表示list index,表示参数列表;
argv 0即表示第1个参数,agrv 1表示第二个...以此类推。
用法:./autofileupload [filename] [newdirname]。

原创粉丝点击