expect 批量監控主機

2021-06-22 01:03:11 字數 873 閱讀 2697

[oracle@oaprimary shell]$ cat expect.sh 

while read line

douser=`echo $line | awk ''`

ip=`echo $line |awk ''`

passwd=`echo $line | awk ''`

#把shell中的$user $ip $passwd引數傳遞給expect指令碼

expect expect2.exp $user $ip $passwd

done < name.tmp

[oracle@oaprimary shell]$ cat expect2.exp

#!/usr/bin/expect

# 設定超時時間為 60 秒

# set timeout 60

# 設定要登入的主機 ip 位址

# set host=$host

# 設定以什麼名字的使用者登入

# set ip=$ip

# 設定使用者名稱的登入密碼

# set passwd=$passwd

#把shell的引數傳遞給expect指令碼

set user [lindex $argv 0]

set ip [lindex $argv 1]

set passwd [lindex $argv 2]

#spawn 乙個 ssh 登入程序

spawn ssh $user@$ip

# 等待響應,第一次登入往往會提示是否永久儲存 rsa 到本機的 know hosts 列表中;等到回答後,在提示輸出密碼;之後就直接提示輸入密碼

expect

"assword:" {

利用expect互動實現對主機批量建立SSH信任

ssh免密驗證,shell自動設定 echo bin sh etc init.d functions f usr bin expect 若沒expect則安裝 0 安裝失敗則退出 pub whoami ssh id dsa.pub 公鑰路徑 f pub 若沒公鑰則生成 expect自動互動 func...

EXPECT 指令碼 批量 遠端互動

在shell自動部署專案中對自動部署免去使用者互動很痛苦 expect eof 這個一定要加,與spawn對應表示捕獲終端輸出資訊終止,類似於if.endif expect指令碼必須以interact或expect eof結束,執行自動化任務通常expect eof就夠了。設定expect永不超時。...

Shell之批量監控主機磁碟使用率

1 本地磁碟監控 use rate list df h awk dev 結果 dev sda1 10 for use rate in use rate list do part name use rate if use rate ge 80 then echo warning part name p...