Silence Ray的博客

不忘初心,方得始终

linux下的expect的安装和使用

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 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/silenceray/article/details/54582345
个人分类: linux
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭