linux批量操作shell指令碼

2021-10-11 08:17:39 字數 899 閱讀 9885

初衷是為了批量啟動/停止prometheus而寫的指令碼

#!/bin/bash  

#變數定義

ip_array=

("192.168.134.100"

"192.168.134.101"

)user=

"user"

remote_cmd=

"cd /data/loguser/prometheus;./start.sh;sheel 1"

port=

"22"

for ip in $

do ssh -t -p $port $user@$ip $remote_cmd

done

優點:不用登入每台主機區做多餘的動作。煩且無意義

缺點:需要每次輸入密碼,但與每次登入主機操作好多了

#!/bin/bash  

#變數定義

ip_array=

("192.168.134.100"

"192.168.134.101"

)user=

"user"

remote_cmd=

"cd /data/loguser/prometheus;./stop.sh"

port=

"22"

passww=

"密碼"

for ip in $

do echo $ip

sshpass -p $passww ssh -p $port $user@$ip $remote_cmd

done

這個加了sshpass -p 附值了密碼 可以只執行一次就可以,prometheus的遠端停止指令碼我用這個;啟動指令碼用這個輸出內容過多,需要啟動多次所以我採用第乙個

linux重啟tomcat的shell指令碼

基本思路 先檢查待重啟的tomcat的程序是否存在 存在則執行shutdown.然後再次檢查程序是否還存在,不存在則執行kill 然後刪除工作空間及10天前的日誌。最後執行啟動。bin sh tomname 1 ctompath opt tomcats echo restart tomcat sta...

shell 06 for迴圈及批量遠端命令指令碼

注意 運算子兩邊必須有空格 執行結果 mkdir p package 新建立目錄package cd package 進入package目錄 touch aa.sh 在package 目錄裡建立aa.s 件 cd.回到上級目錄 bin bash for 變數 in 字串 do 語句1 done bi...

linux中shell常用聯合批量操作命令

最近學習過程中,常常使用的聯合批量操作命令,整理供以後參考 1 將目錄下所有檔案都轉化從dos為unix格式 find type f xargs dos2unix 2 將目錄下所有的.svn目錄刪除 1 find type d name svn xargs rm rf 2 find type d i...