expect实现文件自动传输初级,后面多台服务器可以结合NFS批量分发。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expect实现文件自动传输初级,后面多台服务器可以结合NFS批量分发。相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env expect
set username [ lindex $argv 0 ]
set passwd [ lindex $argv 1 ]
set clientip [ lindex $argv 2 ]
set dir /root/
set file 317.sql
spawn /bin/bash -c "scp -r $dir$file [email protected]$clientip:$dir"
expect "password:"
send "$passwd\r"
interact
expect "#"

说明:

$argv 0表示第1个参数。

$argv 1表示第2个参数。

$argv 2表示第3个参数。

spawn是开启expect命令执行的进程.

expect一般是和send联合起来进行使用,expect指定当看到什么字符出现的情况下,

使用send发送指令来和系统进行交互。


本文出自 “少犟” 博客,请务必保留此出处http://xushaojie.blog.51cto.com/6205370/1758705

以上是关于expect实现文件自动传输初级,后面多台服务器可以结合NFS批量分发。的主要内容,如果未能解决你的问题,请参考以下文章

ssh采用expect实现自动输入密码登录拷贝

分发系统-expect

多台服务器文件同步实现

[转]expect实现ssh自动交互

如何实现Linux多台服务器间的文件双向同步

5-1Expect实现scp非交互传输文件