出處:http://keynes0918.wordpress.com/2009/10/19/%E5%88%A9%E7%94%A8distribute-shell-%E4%BB%A5%E4%B8%80%E5%8F%B0%E4%B8%BB%E6%A9%9F%E9%81%A0%E7%AB%AF%E7%AE%A1%E7%90%86%E5%A4%9A%E5%8F%B0server_by-keynes/
2009 年 10 月 19 日發表迴響
實驗情境
CentOS5.3(node1): 為安裝 Distribute Shell 主要端角色
已安裝Apache(/usr/local/apache)Web 服務並已啟動
建立資料夾 /var/wuda (後面將實作drsync會用到)
CentOS5.3(node2): 為 node1 主機Remote 受控管理Server
未安裝Apache 服務
建立資料夾 /var/wuda
測試指令 :dssh , dfind , dscp,drsync,dcmd_distributekeys
目標: 利用Distribute Shell 主機 以一台控管多台主機增加MIS管理效率
(1.)[安裝]去Sourceforge 網頁上查尋 dcmd 關鍵字, 並下載dcmd-0.91.tar.gz 主程式
shell> tar zxvfdcmd-0.91.tar.gz #將程式下載於nod1主機上,並解開壓縮檔
shell> mv dcmd /usr/local #本人習慣將程式安裝於/usr/local
(2.)[修改etc/hosts & /usr/localdcmd/etc/dcmd.hosts]將欲遠端控管的主機名稱對應通通加入此檔案中
vi /etc/hosts/ #編輯將入以下主機 node2
192.168.0.171 node2
vi /usr/localdcmd/etc/dcmd.hosts #編輯將入以下主機 node2
root@node2
(3.)[修改~/.bash_profile] 在此必須指定dmcd程式環境變數如下,修改後
執行完成後 source ~/.bash_profile 使其生效
(4.)[產生無須密碼登入系統金鑰並散部到遠端主機] 利用ssh-keygen建立金鑰並派送到遠端主機(NODE2)
利用dssh 指令 為遠端主機node2 建立目錄" ~/.ssh " dssh mkdir -p ~/.ssh
利用dcmd_distributekeys 指令將金鑰散布於NODE2 主機上 ,並更名為authorized_keys ,即可完成無金鑰登入系統程式
dcmd_distributekeys ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
(5.)[測試1_瀏覽受控端主機 (node2) ~/ 目錄下檔案名細] dssh ls -l ~/ #請在node1下command
(6.)[測試2_dfind 查尋 (node2)主機關鍵字檔案位置 ] defind /home/ -user wuda #請在node1下command
(7.)[測試3_將node1編譯安裝OK後的apache檔派送到 (node2)主機上並測試啟動是否可行? ]
先利用dscp -rp 指令傳送本機(node1) /usr/local/apache 資料夾至遠端/usr/local 目錄下
[ ]: <—代表所受控名單內逺端主機
查驗是否已經將/usr/local/apache 資料夾傳輸到node2上(已完成傳送) #切換node2主機
切回node1主機,下command dssh /usr/local/apache/bin/apachectl start #node2_Apache服務已順利啟動
,
利用dps 指令查尋遠端主機程式執行狀況(Node2_APACHE 服務已順利執行中)
(8.)[測試4_ node1主機與node2 資料夾/var/wuda 是否可進行資料夾間同步 與RSYNC 相同功效] 利用 drsync
替node1 , node2 主機建立 /var/wuda 資料夾,並於 node1 產生 test.html 測試檔案後
執行
drsync -vrplogDtH /var/wuda [ ]:/varwuda #手動進行本機端與遠端資料夾同步已成功
PS.搭配Crontab 執行效果絕妙