使用expect登陸定時複製檔案指令碼

2021-10-04 17:29:24 字數 1883 閱讀 3807

使用expect登陸定時複製檔案指令碼

[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=( 'u2fsd**kx1/ytycvgeefilstrjcmqgozezro8jj' )

for i in "$"

do echo "$i" "===" "$"

echo "$"

host_pawd=`echo $ | openssl aes-128-cbc -d -k 123 -base64`

echo $host_pawd

/usr/bin/expect <

set timeout -1

spawn scp -r -p 52113 /home/homepage/index.html yunwei@$:/home/yunweizhrt/production/static.code/static/

expect \n"}

} "*assword:" \n"

} }

expect "100%"

expect eof

eofdone

[yunweizhrt@vm_50_centos shelldir]$

指令碼實現中不能使用明文密碼,解決方案是先加密,在解密儲存到變數;

[root@vm_33_centos shelldir]# echo "trbungnzh2bsfp&82ytfkbanl#it" |base64 -i

vfjcvu5htlpimkjtrk9dsyv**jgywvrgs0jbtkwjsvqk

[root@vm_33_centos shelldir]# echo "vfjcvu5htlpimkjtrk9dsyv**jgrgs0jbtkwjsvqk" |base64 -d

trbungnzh2bsfock%p&82ytfkbanl#it

[root@vm_33_centos shelldir]# echo abc | openssl aes-128-cbc -k 123 -base64

u2fsd**kx1/ytycvgeefilstrjcmqgozezro8jj/noaw=

[root@vm_33_centos shelldir]# echo u2fsd**kx1/ytycvgeefilstrjcmqgozezro8jj/noaw= | openssl aes-128-cbc -d -k 123 -base64

abc[root@vm_33_centos shelldir]#

注釋:指令碼重要資訊已經過處理

expect實現自動登陸

1.首先安裝expect2.指令碼編寫,下面是乙個通過ssh登陸遠端機器 gll5530 的例子,密碼 wzj.1989 opt exptools bin expect f set timeout 30 spawn ssh gll5530 expect password send wzj.1989 ...

Shell指令碼免密登陸 Expect

1 建立在tcl上的乙個工具 2 用於進行自動化控制和測試 3 解決shell指令碼中互動相關的問題。1 判斷上次輸出結果中是否包含指定的字串,如果有則立即返回,否則就等待超時時間後返回 2 只能捕捉由spawn啟動的程序的輸出 3 用於接收命令執行後的輸出,然後和期望的字串匹配。1 向程序傳送字串...

sqlplus 登陸使用

select from dept input order by dname 追加文字命令 del n 刪除語句 celar buffer 清除緩衝區的命令 conn sys as sysdba 登陸使用者 一般只要安裝了oracle的伺服器端或者客戶端,sqlplus都被預設安裝。而sqlplusw...