linux之间远程拷贝文件

linux之间远程拷贝文件,新手的土方法,写着玩留作备份,有问题请指正:

copyforder.sh

 1 #!/bin/sh
 2 BASEHOME=/home/han/base
 3 data=`date +%Y%m%d`
 4 
 5 #过滤我想要的格式 0000160816 
 6 
 7 #将data日期截串 20160816 -> 160816
 8 
 9 fdr=*0000${data:2}*
10 
11 #ssh 远程登录获取目录列表>并将内容写入日志
12 ssh -l root 192.168.11.111 "ls -d /home/han/send/$fdr" > /home/han/log/copy_${data:2}.log
13 
14 #将每一行传到exscp.sh中去执行
15 while read line || [[ -n ${line} ]];
16 do
17 str=$line
18 substr=${str##*/}
19 /home/han/base/./exscp.sh $substr
20 done < /home/han/log/copy_${data:2}.log #当天日志
21 #功能 过滤需要接收的文件

 

excopy.sh

1 #!/software/expect5.45/expect
2 set timeout 60s
3 spawn /home/han/base/copyforder.sh
4 expect "assword" { send "666666\r"}
5 interact
6 #功能 ssh输入密码

 

exscp.sh

#!/software/expect5.45/expect
set substr [lindex $argv 0] 
set timeout 120s
spawn scp -r root@192.168.11.111:/home/han/send/$substr/ /home/han/base/
expect "assword" { send "666666\r"}
expect eof
#功能 scp自动输入密码

将远程send下的某个目录拷贝到本地base下

版权声明:本文为watcsgg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/watcsgg/p/5775770.html