首页 > 其他 > 详细

inux下用expect spawn时的问题

时间:2014-04-01 14:48:02      阅读:592      评论:0      收藏:0      [点我收藏+]

linux下用expect spawn时的问题

2011-04-27 13:14醉听灯|分类:Linux| 浏览7081次
想写个脚本去自动上传测试的LOG,使用spawn scp /log/*.log root@192.168.0.1:/home
执行的时候没有动作,把*改成指定的文件名时则没有问题,想知道怎么自动复制多个文件过去二不需要指定文件名.
单独使用scp /log/*.log root@192.168.0.1:/home时是可以的,只是要输入密码,想自动上传.脚本如下
#!/usr/bin/expect
spawn scp /log/*.log root@192.168.0.1:/home
expect "root@192.168.0.1‘s password:"
exec sleep 5
send "111111\n"

interact


test11.sh

#!/bin/bash

LocalMysqlPath=‘/home/data‘

#设定本地增量备份的sql文件路径

LocalTempFilePath=‘/home/increment‘

#定义当前时间

StopDate=`date +%Y-%m-%d`

#定义前一天时间

StartDate=`date --date="yesterday" +%Y-%m-%d`

#设定开始时间

StartTime=‘3:00:01‘

#结束时间

StopTime=‘0:00:00‘

#数据库名

DataBase=‘bbts‘

#找到binlong文件,是从现在起两天前修改过的文件,当然也包含昨天生成的binlong文件

BinlogFiles=`find $LocalMysqlPath -name ‘mysql-bin.0*‘ -mtime -2`

#首先要执行flushlog吧所有还在内村中的sql语句都flush到前一个binlog文件,并且生成新的binlog文件

#expect $LocalTempFilePath/flushlog.exp

#mysqladmin -uroot -p  flush-logs

expect /usr/local/sbin/mysql.sh

#生成前一天的增量备份sql 文件格式但只是针对 指定的数据库名称 输出文件格式为:2008-08-08.sql

mysqlbinlog --no-defaults --start-datetime="$StartDate $StartTime" --database="$DataBase" $BinlogFiles > $LocalTempFilePath/$StartDate.sql

#scp /kbmc/increment/$StartDate.sql yunwei@192.168.1.22:/home/yunwei/increment

expect /usr/local/sbin/scp.exp


test.sh

set timeout -1

set DATE [exec date "+%Y%m%d"]

#set DATE [exec date "-d last-day" "+%Y%m%d_*"]

spawn  scp -p 1022 /home/yunwei/$DATE.bbtsftp.tar.gz   yunwei@192.168.1.10:/kbmc/bbtsftp/

expect "password:"

send "123456``\r"

expect "]*"


mysql.sh

set timeout -1

#set DATE [exec date "+%Y%m%d"]

#set DATE [exec date "-d last-day" "+%Y-%m-%d"]

spawn mysqladmin -uroot -p  flush-logs

expect "password:"

send "123456\r"

expect "]*"



inux下用expect spawn时的问题,布布扣,bubuko.com

inux下用expect spawn时的问题

原文:http://7177526.blog.51cto.com/7167526/1388131

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!