五一勞動節被叫過去加班,要公升級程式,有100多台的伺服器。
需要先登入伺服器,再將伺服器上的程式停掉,伺服器上的程式程序是用screen建立的,ps -ef 他的程序pid 然後kill掉
#!/usr/bin/expect
set ipaddr [lindex $argv 0]
spawn ssh ict@$ipaddr
expect "yes/no)?"
sleep 3
send "yes/r"
expect "password:"
sleep 6
send "123ic#/r"
expect "]$"
send '`}
send "/r"
expect "]$"
send "screen -wipe/r"
expect "]$"
send "exit"
expect eof
exit
迴圈所有節點ip
#!/bin/bash
cat redhat_client_ip.txt | while read line; do
echo "$line"
./kill_process.sh $line >$line.log
done
expect使用ssh登入指令碼
基礎篇 u s ssh spawn ssh l root 10.10.10.24 等待響應,第一次登入往往會提示是否永久儲存 rsa 到本機的 know hosts 列表中 等到回答後,在提示輸出密碼 之後就直接提示輸入密碼 expect yes no password host interact ...
expect實現自動登入指令碼
寫在前面 目前在公司是一人一台虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次 ssh 指令登入虛擬機器 有很多方式解決這個問題,如使用xshell securecrt等工具記錄常用的連線,我就寫了乙個簡單的指令碼實現一鍵登入 login.sh指令碼內容如下 usr bin expec...
expect指令碼實現批量ssh互信
搭hadoop時候需要配置多節點ssh互信,節點數量多了,手工配起來就很麻煩。網上有很多自動配置ssh互信的指令碼,但基本都不能直接用。今天摸索了下,自己寫了個簡易版,測試還能用,在這裡分享下。1 每個節點安裝expect包 yum install expect y 2 將auto ssh.sh及i...