歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux服務

通過dsh批量管理Linux服務器

 目前在企業網絡中越來越多的出現Linux服務器,而如果方便高效的大量的Linux服務器是系統管理員非常關心的一個問題。現在有大量的開源管理工具,可以實現這樣的管理工具,現在給大家介紹一個通過命令行有效地管理大量Linux的工具---dsh。

  dsh是專為在遠程系統上運行Shell命令設計的,通過dsh可以簡化對大量計算機的操作。dsh命令語法如下:

  dsh [-m machinename | -a | -g groupname] [-f machinefile] [-M] [-q] [--wait-shell]--

  commandline

  常用選項:

  -M:在顯示遠程命令執行的輸出時,在前面加上主機名。

  -a:如果經常操作同一組計算機,可以創建一個全局集合的組。$HOME/.dsh/machines.list文件是全局集合的定義。在該文件中每行一個計算機的IP地址,在指定-a後,dsh就會在machines.list中列出的所有計算機上執行指定的命令。

  -q:指定使用安靜模式輸出。

  -m machinename:指定需要執行指定命令的計算機。

  -g groupname:指定需要執行指定命令的計算機組,主機名組在$HOME/.dsh/group/目錄是定義,每個計算機組一個文件,文件名即是組外,在文件中每行一個計算機IP地址。

  -f machinefile:指定計算機列表文件。

  -wait-shell:在默認情況下,dsh是並行地在計算機上運行命令。如果希望順序地運行命令則指定--wait-shell。[nextpage]

  1、 dsh是通過SSH方式連接到服務器,所以需要在所有服務器上安裝SSH。

  2、 在srv.example.zqin上通過如下命令安裝dsh。

  srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.32:/root/.ssh/authorized_keys如果被管理的服務器比較多也可以編寫個腳本來復制公鑰。下面是一個復制公鑰到多個服務器上的腳本。

  for i in $(seq 200 253)

  do

  ssh 192.168.159.$i -C mkdir /root/.ssh

  scp ~/.ssh/id_rsa.pub 192.168.1.$i:/root/.ssh/authorized_keys

  done4、 為了方便使用dsh,可以將所有被管理服務器分類並存放到對應文件中。

  將所有被管理服務器的IP地址(或FQDN)加入$HOME/.dsh/machines.list文件中(每行一個)。

  在$HOME/.dsh/group/目錄下建立名為web的文件,並將web1、web2的IP地址(或FQDN)加入其中(每行一個)。

  在$HOME/.dsh/group/目錄下建立名為db的文件,並將db1、db2的IP地址(或FQDN)加入其中(每行一個)。

  首頁技術頻道51CTO旗下網站地圖 社區:論壇博客下載讀書更多 登錄注冊組網安全開發數據庫服務器系統虛擬化雲計算嵌入式移動開發

  51CTO.COMCIOage.comWatchStor.comHC3i.cnHC3i.cn靈客風LinkPhone

  家園博客論壇下載自測門診周刊讀書技術圈知道

  Windows Server 2008 R2下載 面向業務的運維 IT短劇解疑難 辟虛擬化新天地 進思傑技術社區 即刻參加微軟Windows Phone培訓 新聞 | Server 2008 | Windows7 | Linux | Solaris | 浏覽器 | 開源 | 移動 | 教程 | 全部您所在的位置: 首頁 > 操作系統 > Linux > Linux應用管理 > Linux使用技巧 > 通過dsh批量管理Linux服務器(3)

   摘要:目前在企業網絡中越來越多的出現Linux服務器,而如果方便高效的大量的Linux服務器是系統管理員非常關心的一個問題。現在有大量的開源管理工具,可以實現這樣的管理工具,現在給大家介紹一個通過命令行有效地管理大量Linux的工具---dsh。

  標簽:dsh 批量管理 Linux

  在上述配置完成後就可以在srv上通過dsh進行批量操作了,下面我們一起來看幾個例子。

  1、 在db1.example.zqin上執行reboot命令。

  srv:~# dsh -M -m db1.example.zqin -- reboot2、 在$HOME/.dsh/machines.list文件中定義的所有服務器上同時執行updatedb命令。

  srv:~# dsh -M -a -- updatedb3、 在$HOME/.dsh/group/web文件中定義的所有服務上面上同時執行命令。

  srv:~# dsh -M -g -- /etc/init.d/apache2 restart作者簡介:張勤(博客),MCSE、MCDBA、RHCE,從事軟件開發(Delphi、Java)、項目管理、系統集成工作。曾參與多個基於Windows及Linux的大型系統集成項目,並在國內多個知名IT網站發表技術類文章。

 

Copyright © Linux教程網 All Rights Reserved