shell自動打補丁

2022-08-02 15:00:36 字數 2954 閱讀 7019

#!/bin/bash

#todo:執行前設定主機間ssh信任,將要更新的主機的ip放在mip中

#變數設定

#待更新主機ip存放在mip檔案中

if [ ! -f mip ]

then

echo

"mip doesn't exist

"exit 1fi

ip=$(cat mip|awk''

)#遠端登陸使用者

user="

root

"#目標檔案

tfile="

/root/youfindthis

"#目標路徑

tpath="

/root

"#更新檔案

pfile="

/root/youupdate

"#日誌檔案autoplog

#獲得總數並測試是否建立信任

s=0for i in

$ipdo

ssh -o numberofpasswordprompts=0 -o stricthostkeychecking=no $i "

echo

"if [ $? -eq 255

]then

ssh-copy-id

$ifi

s=`expr $s + 1

`done

####log :log type message 日誌記錄

log()

####### check file######## checkfile user tfile ip 查詢檔案

checkfile()

local fexist=`check &`

sleep

1if [ ! -f ."$i"

findfin ]

then

log error

"$user@$i ssh link failed

"rm -f ."$i"

findfin

return 1fi

rm -f ."$i"

findfin

if [[ $fexist =~ "

not"

]]then

log failed

"$user@$i :$tfile doesn't exist

"return

2else

log info

"$user@$i :$tfile exists

"return 0fi

}####### back up ######### backup user tfile ip 備份檔案

backup()

local backupresult=`bp &`

sleep

1if [ ! -f ."$i"

backupfin ]

then

log error

"$user@$i ssh link failed

"rm -f ."$i"

backupfin

return 1fi

rm -f ."$i"

backupfin

if [[ $backupresult =~ "

failed"]]

then

log failed

"$user@$i :$tfile backup failed!!!

"return

1else

log info

"$user@$i :$tfile backup succeeded! $tfile.backup

"return 0fi

}#######distribute file######## distributefile user pfile ip tpath 發布檔案

distributefile()

#######autopackage####### autopackage user pfile ip tfile tpath 主流程

autopackage()

######## main ########

if [ ! -f autoplog ]

then

touch

autoplog

fiif [ ! -f $pfile ]

then

log warning

"$pfile doesn't exist!!!!!!

"exit 1fi

for i in

$ip

doautopackage $user $pfile $i $tfile $tpath &

done

wait

#統計資訊

scount=0

fcount=0

rm -f .failedip

touch

.failedip

for i in

$ipdo

if [ -f ."$i"

updatefin ]

then

let

"scount+=1

"rm -f ."$i"

updatefin

else

echo $i>>.failedip

let

"fcount+=1"fi

done

echo

echo

"*****total:$s succeeded:$scount failed:$fcount*****

"if [ ! $fcount -eq 0

]then

echo

echo

"failed list

"cat

.failedip

fiecho

echo

"log has been recorded in `pwd`/autoplog

"echo

oracle自動打補丁

實現方式 在藍鯨自動化運維平台,使用標準運維saas應用,實現對oracle自動打補丁進行流程編排實現。應用介紹 藍鯨自動化運維平台,簡稱藍鯨,是一套基於 paas 的技術解決方案,提供了完善的前後臺開發框架 排程引擎 公共元件等模組,幫助業務的產品和技術人員快速構建低成本 免運維的支撐工具和運營系...

記得打補丁

之前遇到個很怪的問題 買了個新硬碟,160g,重新裝了vs.net 2003,誰知道安裝後 安裝過程完全順利 在新建web專案時,出現如下資訊提示框,為什麼呢?於是便開始排除法解決。系統是win2000 sp4的,已經打了windows的補丁,硬碟c是fat32的。於是將.net framework...

OBIEE打補丁教程

要點 2 補丁解壓要徹底,直到出現etc files資料夾。昨天在使用obiee開發報表時遇到bug,決定給它打個補丁。二 配置環境 打補丁要先配置想要的opatch環境 在path環境變數中新增opatch目錄 f obi oracle bi1 opatch 或直接使用listary搜尋obiee...