Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70908
  • 博文数量: 44
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-19 16:49
文章分类

全部博文(44)

文章存档

2018年(2)

2017年(1)

2016年(41)

我的朋友

分类: LINUX

2016-04-26 09:53:03

原文地址:expect shell问题综合 作者:suifeng5739

定时推送mysql备份至备份中心,通过expect来实现,结果在执行脚本的时候报错
问题一
./scp_to_bkcenter.sh "wish_2015-06-07.sql"
-bash: ./scp_to_bkcenter.sh: /usr/expect/bin/expect: bad interpreter: No such file or directory
由提示可知/usr/expect/bin/expect不存在,表明没有安装expect
安装参考:http://www.cnblogs.com/daojian/archive/2012/10/10/2718390.html

问题二
在备份过程中,需要把文件名称作为输入的位置参数来引用
# ./scp_to_bkcenter_bak.sh "portal_112.74.78.64_2015-06-12.sql"
can't read "1": no such variable
    while executing
"spawn scp /mnt/backup/$1 61.233.75.34:/home/mysql_bk_center/"
    (file "./scp_to_bkcenter_bak.sh" line 3)
问题来了不识别位置参数
# cat scp_to_bkcenter.sh
#!/usr/expect/bin/expect -f
set file_name [lindex $argv 0]  --需要这么来引用
spawn scp /mnt/backup/$file_name 111.111.1.11:/home/mysql_bk_center/
expect "111.111.1.11's password:"
sleep 10
send "1234567\r"
interact



阅读(822) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~