#!/bin/bash
SRC_HOST=192.168.0.63     #定义源机器IP(从哪台机器上拷贝)
SRC_PORT=22            #定义源SSH端口
SRC_USER=hbssliulei      #定义使用在源机器上使用哪个用户登陆拷贝
SRC_PWD=qweQWErty321    #定义与之对应用户的密码
PATH=/data/db_backup     #定义源机器备份文件的存放目录及本机存放目录
time=$(/bin/date +"%F")    #获取当前日期
SRC_FILENAME=appmarket.$time.gz   #定义备份文件格式
/usr/bin/expect -c "
spawn /usr/bin/scp -P $SRC_PORT $SRC_USER@$SRC_HOST:$PATH/$SRC_FILENAME $PATH/
expect \"*(yes/no) \"   #捕捉含yes/no,等待用户输出指令的语句
send \"yes\r\"         #将yes发送给该指令
expect \"*password: \"    #捕捉含password,等待用户输出指令的语句
send \"$SRC_PWD\r\"    #将密码发送给该指令
expect eof
"

注:该脚本已在线上使用,注释只为方便自己理解。