13. 自動化運維——批量關閉tomcat服務
生產環境中往往在多臺機器上執行同一個服務(tomcat),本案例的需求是批量關閉這多臺機器上的tomcat服務。假設以下場景:
1)提供一個機器IP和tomcat使用者的密碼列表(/data/ip-passwd.txt),格式如下:
10.111.22.101 passwd1
10.111.22.102 passwd2
10.111.22.103 passwd3
...
2)tomcat所在路徑是 /opt/tomcat/ ;
3)關閉tomcat服務的命令是 /opt/tomcat/bin/shutdown.sh ;
4)遠端機器上只有tomcat一個java應用,即程式java只是關於tomcat的。
參考指令碼如下:
#!/bin/bash
#批量關閉遠端機器上的tomcat服務
ipfile=/data/ip-passwd.txt
cat >> kill_tomcat.exp << EOF
#!/usr/bin/expect
set passwd [lindex \$argv 0]
set host [lindex \$argv 1]
spawn ssh tomcat@\$host
expect{
"yes/no" { send "yes\r"; exp_continue} # \r表示回車;exp_continue表示再一次互動
"password:" { send "\$passwd\r" }
}
expect "]*"
send "/opt/tomcat/bin/shutdown.sh\r"
expect "]*"
send "if ps aux |grep -q tomcat;then killall -9 java;fi"
expect "]*"
send "exit\r"
expect eof
EOF
chmod a+x kill_tomcat.exp
cat $ipfile |while read line
do
ip=`echo $line |awk '{print $1}'`
pw=`echo $file |awk '{print $2}'`
./kill_tomcat.exp $pw $ip
done
指令碼中,
-
expect指令碼中,set設定變數,spawn後面跟要執行的命令
-
expect指令碼中,第一個引數用[lindex $argv 0]表示,第二個引數用[lindex $argv 1]表示,依次類推
-
]* 匹配 ]# 和 ]$ ,不管是root使用者還是普通使用者
相關文章
- IT運維之自動化運維運維
- win10 自動更新如何關閉_win10關閉自動更新服務步驟Win10
- 啟動與關閉服務
- Ansible自動化運維工具運維
- 什麼是自動化運維?為什麼選擇Python做自動化運維?運維Python
- IT運維支援如何轉化為服務運維
- 9. 啟動、關閉tomcatTomcat
- ansible自動化運維入門運維
- 簡化IT運維工作,就要學會使用自動化運維工具!運維
- 記一次解決tomcat自動關閉的bugTomcat
- win10 自動維護如何關掉_win10自動維護怎麼關閉Win10
- python自動化指令碼例項100條-自動化運維基礎例項解析-Python批量登入到伺服器執行任務...Python指令碼運維伺服器
- 批量關閉程式
- 自動化運維工具Ansible介紹運維
- 分層運維自動化監控運維
- 自動化運維的快速演進運維
- ansible自動化運維資料庫運維資料庫
- win10 維護怎麼關閉_win10自動維護要怎麼關閉Win10
- 指標是構築自動化運維與智慧化運維的基石指標運維
- 效能優化|Tomcat 服務優化優化Tomcat
- 騰訊雲Kafka海量服務自動化運營實踐Kafka
- Linux Shell互動式自動化運維程式Linux運維
- 分析服務打造數智化運營閉環方案
- 阿里雲釋出ECS自動化運維套件,幫助企業實現自動化運維轉型阿里運維套件
- 自動化運維工具——ansible詳解(一)運維
- 自動化運維工具——ansible詳解(二)運維
- 運維自動化之賬單系統運維
- Oracle 自動化運維-Python連線OracleOracle運維Python
- 論IT運維自動化的重要性運維
- Python自動化運維之IPy模組Python運維
- 自動化運維工具ansible的實踐運維
- Python+Django+Ansible Playbook自動化運維PythonDjango運維
- 自動化運維工具之Puppet模組運維
- IT運維和自動化運維以及運維開發有啥不同?能解釋下嗎?運維
- 支撐性服務 & 自動化
- 自動化運維,國產化信創替代方案運維
- Ubuntu 伺服器採用Systemed管理Tomcat服務自動啟動Ubuntu伺服器Tomcat
- 函式計算自動化運維實戰1 -- 定時任務函式運維