用expect不用输密码自动scp数据(续)

post by rocdk890 / 2013-10-18 9:19 Friday linux技术
  在上一篇用expect不用输密码自动scp数据中,给大家讲了怎么使用expect自动把数据拷到本地来,但今天公司要求既要原来每周自动down数据回来,又要在手动去down数据的时候是服务器上最新备份的,好吧,为了满足这样的要求,我在原脚本上做了一些修改.

手动down数据脚本:
#!/usr/bin/expect -f
set timeout -1
set passwd passwd
spawn ssh -p18330 root@72.11.x.x
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "$passwd\r" }
}
expect "*#*" { send "sh /root/soft_shell/copy_newfile.sh\r" }
spawn scp -r -P18330 root@72.11.x.x:/root/newfile/* /root/sqlbak/
match_max 100000
expect "*assword*" { send "$passwd\r"}
expect eof


copy_newfile.sh脚本内容:
#!/bin/bash
location="/root/sqlbak/"
newfile="/root/newfile"
old_file='/root/newfile'
rm -f ${old_file}/*
file=$(find $location -type f -mtime -1)
\cp $file $newfile


思路解说:也就是让脚本先登录到服务器,执行下copy_newfile.sh脚本,把最新的备份筛选出来,然后再自动down到本地.
很简单吧,这里再说次要安装expect,使用下面命令:
yum -y install expect

好了,就这样吧.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-473.html

标签: 数据 exp 下载 expect 自动 最新 download

评论: