tft每日頭條

 > 科技

 > 本地怎麼執行服務器腳本

本地怎麼執行服務器腳本

科技 更新时间:2024-10-16 09:58:11

筆者之前維護着上千台服務器組成的服務器集群,如果每次需要在服務器上執行命令的時候,都要手動登錄每台服務器進行操作的話,那也太麻煩了。你想想,如果在上千台服務器的集群中,每台服務器中隻需要簡單的執行一個相同的命令,那别說執行命令了,就是讓你依次手動登錄上千台服務器,那也夠你受的了。估計依次登錄上千台服務器,給你三天時間你可能都登不完,那怎麼辦呢?有沒有什麼好的方法來解決這個問題呢?

本地怎麼執行服務器腳本(我寫了一個腳本)1

别急,我們今天就是來解決這個問題的。

說實話,我在維護上千台服務器集群的時候,并沒有去依次手動登錄每台服務器,為啥?沒錯,就是因為我懶啊!我懶的去登錄,并且依次登錄那麼多台服務器,整個人都會崩潰的。

本地怎麼執行服務器腳本(我寫了一個腳本)2

于是,我就想辦法能不能寫個腳本,讓這個腳本接收我要執行的命令,然後将命令依次分發到集群上所有的服務器中執行,這不就解決問題了嗎?說幹就幹。

為了方便小夥伴們理解,這裡我們就假設集群中存在1024台服務器,每台服務器的主機名為binghe1~binghe1024。每台服務器可以通過主機名進行通信,接下來,我寫了一個名稱為distribute_command.sh的腳本,内容如下所示。

#!/bin/bash pcount=$# if((pcount<1));then echonoargs; exit; fi #先在本機上執行命令 echo------------binghe$host----------------- $@ #循環在集群中的遠程節點上執行命令 for((host=1;host<=1024;host=host 1));do echo------------binghe$host----------------- sshbinghe$host$@ done;

這個腳本的含義為:接收傳遞進來的命令,将命令分發到主機名為binghe1~binghe1024的服務器上執行,也就是說,使用這個腳本我們能夠做到:同時在集群的服務器上執行相同的命令。

本地怎麼執行服務器腳本(我寫了一個腳本)3

本地怎麼執行服務器腳本(我寫了一個腳本)4

私我“資料” 獲取!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved