使用expect登陆定时复制文件脚本

使用expect登陆定时复制文件脚本

运营需要在网站的首页添加行业资讯,以此来增加网站在百度的SEM权重值,开发人员解决方案是生产成首页,然后让我们运维复制到静态资源的服务器,我们使用云服务器没有相互互信,如果复制到其它主机就需要手工输入密码,我使用expect解决实现复制。
安装expect #yum install expect - y
脚本实现如下:

[yunweizhrt@VM_50_11_centos shelldir]$ more /home/shelldir/3wcn_scp.sh
#!/bin/bash
#
#####################################
#@brief 配置定时复制任务,每天9点启动
#@author xiajing
#@version 1.0
#@date 2020/04/01
#@log no
#####################################m
#shell Env
. /home/yunweizhrt/.bash_profile
file_date=`date '+%Y%m%d'`
echo $file_date
\cp  -r   /home/homepage/index.html /home/yunweizhrt/production/static.code/static/
host_ip_arr=( 10.38.38.27 )
host_pawd_arr=( 'U2FsdGVkX1/yTYCVGeefIlStRjcmQGOZEZro8Jj' )
for i in "${!host_ip_arr[@]}"
        do 
          
        echo  "$i" "===" "${host_ip_arr[$i]}"
        echo  "${host_pawd_arr[$i]}"
        host_pawd=`echo  ${host_pawd_arr[$i]} |  openssl aes-128-cbc -d -k 123 -base64`
        echo  $host_pawd
        /usr/bin/expect <<-EOF
        set timeout -1
        spawn scp -r  -P 52113 /home/homepage/index.html  yunwei@${host_ip_arr[i]}:/home/yunweizhrt/production/static.code/static/

        expect {  
        "(yes/no)?" {  
        send "yes\n"  
        expect "*assword:" { send "${host_pawd}\n"}  
        }  
        "*assword:" {  
        send "${host_pawd}\n"  
        }  
        } 

expect "100%"  
expect eof  
EOF
done
[yunweizhrt@VM_50_centos shelldir]$

脚本实现中不能使用明文密码,解决方案是先加密,在解密保存到变量;

[root@VM_33_centos shelldir]# echo "TRBUNGNZH2BSFP&82YTFKBANL#IT" |base64 -i
VFJCVU5HTlpIMkJTRk9DSyVQJjgyWVRGS0JBTkwjSVQK
[root@VM_33_centos shelldir]# echo "VFJCVU5HTlpIMkJTRk9DSyVQJjgRGS0JBTkwjSVQK" |base64 -d
TRBUNGNZH2BSFOCK%P&82YTFKBANL#IT
[root@VM_33_centos shelldir]# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX1/yTYCVGeefIlStRjcmQGOZEZro8Jj/nOaw=
[root@VM_33_centos shelldir]# echo U2FsdGVkX1/yTYCVGeefIlStRjcmQGOZEZro8Jj/nOaw=  | openssl aes-128-cbc -d -k 123 -base64
abc
[root@VM_33_centos shelldir]#

注释:脚本重要信息已经过处理
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值