小型自动化运维--expect脚本之自动同步
expect脚本可以运用于自动化运维多个方面,例如:可以自动到远程机器执行命令,也可以传输文件到远程机器上。
脚本如下:
#!/usr/bin/expect
set passwd "wtf"
spawn rsync -av root@192.168.8.103:/tmp/shiyan.txt /tmp/
expect {
"yes/no" { send "yes\r";exp_continue}
"password:" { send "$passwd\r" }
}
expect eof
注:
(1)192.168.8.103这个ip地址是远程机的,不是本地主机的!
(2)上述脚本是用来自动到远程机器执行命令,即把远程主机/tmp目录下shiyan.txt文件,远程同步到本地主机/tmp目录下!
(3)最后面的 expect eof 一定要加上。