linux下的expect的安装和使用

  • Post author:
  • Post category:linux



1、安装expect


首先安装tcl(下载地址:

http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz



解压

tar -zxvf tcl8.4.11-src.tar.gz

cd tcl8.4.11/unix/

./configure

make && make install

安装expect(下载地址:

http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download



tar -zxvf expect5.45.tar.gz

cd expect5.45

./configure –with-tclinclude=/tmp/tcl8.4.11/generic –with-tclconfig=/usr/local/lib/


make && make install




检查安装情况


[root@node1 expect5.45]# expect

expect1.1>

expect1.1>


安装完成.




2、写一个可以远程备份的脚本


vi scp.exp



#!/usr/local/bin/expect -f

spawn scp -r /opt/test / root@192.168.11.67:/home/

set timeout 10

expect {


“yes/no” {send “yes\r”;exp_continue}

}

expect “root@192.168.11.67’s password:”

exec sleep 1

send “123\n”                              #密码

interact


在crontab -e中加入定时任务


0 23 * * * /tmp/scp.exp       #每天23点执行任务


如果出现报错:/bin/sh: /tmp/scp.exp: /usr/bin/expect: bad interpreter: No such file or directory


将脚本中的头文件



#!/usr/bin/expect   改成

#!/usr/local/bin/expect





版权声明:本文为silenceray原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。