使用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...