Linux expect命令入门

最近新搞了几台机器,需要在几台机器之间同步文件,主文件会放到master上,几台slave会去master上同步文件,手动同步会死人的,所以暂时考虑使用expect+rsync同步文件,设定到crontab来执行。

expect简介:

expect脚本语言是tcl语言的扩展,主要用来解决工具无法自助交互的问题,常见的有ssh,scp,rsync等。

expect实例:

#!/usr/bin/expectset timeout 30spawn /usr/bin/rsync -rlptvz user@x.x.x.x:/home/video/ /home/video/expect -re "password"send "myPasswd\r"expect eof

expect问题:1. 手动执行ok,crontab中执行失败

原因:expect脚本末尾是interactive,如果这样请把最后一行更换为expect eof

2. expect到的字符串不会自动send

原因:检查 expect 后面的引号是不是单引号, expect ‘password’ 换成 expect “password”,原因暂没查

3. 怎么安装expect

办法:centos使用yum install expect安装,ubuntu使用apt-get install expect安装

手动安装请参考,未验证:http://www.cnblogs.com/evilloop/archive/2011/09/23/2185950.html

转载请注明:莫名奇妙の钱小样 » Linux expect命令入门

穷则思变,差则思勤!没有比人更高的山没有比脚更长的路。

Linux expect命令入门

相关文章:

你感兴趣的文章:

标签云: