溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

OGG運維優(yōu)化腳本(十二)-信息同步類--信息上傳

發(fā)布時間:2020-07-30 22:57:05 來源:網(wǎng)絡(luò) 閱讀:426 作者:netsman1030 欄目:數(shù)據(jù)庫

文件: upload.sh

路徑:$HOME/ggscript/ggupload

功能:該腳本不會直接使用,為滿足其他腳本進(jìn)行信息上傳而設(shè)計,在腳本內(nèi)直接調(diào)用上傳相應(yīng)的文件信息

他會讀取系統(tǒng)信息配置文件sysinfo內(nèi)的系統(tǒng)配置信息

范例

[detest#]

Ip-MTMyLjEyMS4xMDEuODYK

UserName-Z2dzCg==

PassWord-Z2dzxxxxxx

Port-MjIK

path-L2RhdGExL2dncy9nZ3NlcnZlci9kaXJkZWYK

[#detest]

以上信息以base64進(jìn)行加密,保證信息安全,獲取IP 用戶名,密碼,以及端口路徑

并將相應(yīng)的文件下發(fā)至對應(yīng)的機器

#!/bin/bash
if [ $# -eq 0 ]; then
        echo "info host file checkf"
        exit 2
fi

 
if [ $# -eq 1 ]; then
        echo "info host file checkf"
        exit 2
fi

if [ $# -eq 1 ]; then
        echo "info host file checkf"
        exit 2
fi
host=$1
file=$2
checkf=$3
cd $HOME/ggscript/ggupload

#sed  '/"$host"/,/5/p' $checkf > infotmp
cat $HOME/ggscript/ggupload/$checkf | awk '/'$host'#/,/#'$host'/{if(i>1)print x;x=$0;i++}' > $HOME/ggscript/ggupload/infotmp

ip=`cat $HOME/ggscript/ggupload/infotmp|grep -w "Ip"|cut -d "-" -f 2`
pw=`cat $HOME/ggscript/ggupload/infotmp|grep -w "PassWord"|cut -d "-" -f 2`
port=`cat $HOME/ggscript/ggupload/infotmp|grep -w "Port"|cut -d "-" -f 2`
us=`cat $HOME/ggscript/ggupload/infotmp|grep -w "UserName"|cut -d "-" -f 2`
path=`cat $HOME/ggscript/ggupload/infotmp|grep -w "path"|cut -d "-" -f 2`

echo "code"
echo "ip=$ip"
echo "pw=$pw"
echo "port=$port"
echo "user= $us"
echo "path=$path"


echo $ip > tmp

perl -MMIME::Base64 -ne 'print decode_base64($_)' <  tmp > out
ip=`cat out`

echo $pw > tmp
perl -MMIME::Base64 -ne 'print decode_base64($_)' <  tmp > out
pw=`cat out`

echo $port > tmp
perl -MMIME::Base64 -ne 'print decode_base64($_)' <  tmp > out
port=`cat out`

echo $us > tmp
perl -MMIME::Base64 -ne 'print decode_base64($_)' <  tmp > out
us=`cat out`

echo $path > tmp
perl -MMIME::Base64 -ne 'print decode_base64($_)' <  tmp > out
path=`cat out`


#echo "decode"
#echo "ip=$ip"
#echo "pw=$pw"
#echo "port=$port"
#echo "user=$us"
#echo "path=$path"


while [ ${#port} -le 1 ]
do
	port=22
done

#echo $ip $pw $port $path
expect -c "
  spawn scp -r -P $port $file $us@$ip:$path
  expect {
    \"*assword\" {set timeout 300; send \"$pw\r\";}
    \"yes/no\" {send \"yes\r\"; exp_continue;}
  }
expect eof"


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI