亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 21621 | 回復(fù): 8
打印 上一主題 下一主題

利用SecureCRT腳本,實現(xiàn)對萬臺服務(wù)器的批量管理 [復(fù)制鏈接]

論壇徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亞冠之西悉尼流浪者
日期:2015-06-10 15:01:09
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-08-12 14:04 |只看該作者 |倒序瀏覽
本帖最后由 pxf520 于 2011-08-12 16:38 編輯

如果你想對n臺服務(wù)器進行批量管理,從而提高效率,本文或許對你有些幫助

SecureCRT是一款終端仿真程序,支持ssh、Telnet和rlogin協(xié)議,可以在windows平臺通過它對unix、linux進行訪問,相比同類軟件,它的強大之處就在于支持vbs、js等腳本,利用腳本可實現(xiàn)批量操作,如:獲取服務(wù)器相關(guān)信息、部署軟件、修改密碼、升級軟件、上傳/下載、修改文件等等,還能生成excel報表
最大的優(yōu)點,就是無需在服務(wù)器端安裝agent,這是其他軟件無法與之相媲美的,當(dāng)初在給工行做項目的時候,在3000多臺服務(wù)器上部署軟件,用的就是SecureCRT腳本


下面分享一個例子:該腳本用vbs語言編寫,腳本會讀取iplist文件,通過ssh方式連接服務(wù)器,在centos5.5_64bit系統(tǒng)上自動安裝lrzsz軟件,腳本對目標(biāo)服務(wù)器進行了判斷,如已經(jīng)安裝lrzsz軟件則退出,否則執(zhí)行安裝程序。

SecureCRT-vbs腳本使用說明

一.腳本運行環(huán)境
1.        需要在客戶端安裝SecrueCRT軟件

二.腳本使用方法
1.打開SecureCRT,不連接任何會話


2.選擇腳本菜單----執(zhí)行,選擇你要運行的腳本,
如彈出下面的提示,選擇接受并保存。


3.腳本執(zhí)行過程中,最好不要進行其他操作,腳本執(zhí)行完后會自動退出
三.自動安裝腳本參數(shù)介紹:
  outputpath = ".\install-log.txt"   '輸出文件,腳本運行后會自動創(chuàng)建
  iplistpath = ".\ip.txt"    'ip列表文件,需提前創(chuàng)建,每行有2列,用1個空格作為分隔符,首尾不能有多余的空格或其他字符,iplist格式如下:

192.168.0.1 123456
192.168.0.2 abcd1234


  loginuser = "root"   '登陸用戶
  productpath = "/usr/local/src"    '產(chǎn)品路徑,可自行定義


Ssh、Main部分都已寫成函數(shù),一般情況下無需更改。你需要的是維護腳本具體執(zhí)行相關(guān)功能部門的函數(shù)即可。
  1. # $language = "VBScript"
  2. # $interface = "1.0"

  3. ' Written by Peng Xiaofeng
  4. ' @ 201107
  5. ' QQ:5876006

  6. Const ForReading = 1
  7. Const ForWriting = 2

  8. Dim fso, outputpath , iplistpath , file, iplist, Str, StrIp, StrPwd
  9. Dim loginuser
  10. Dim index , index1 , n ,productpath

  11. '======================path and some parameters ==========================================
  12.   outputpath = ".\install-log.txt"   '輸出文件
  13.   iplistpath = ".\ip.txt"    'ip列表文件,每行有2列,用1個空格作為分隔符,首尾不能有多余的空格
  14.   loginuser = "root"   '登陸用戶
  15.   productpath = "/usr/local/src"    '產(chǎn)品路徑
  16. '=======================define end=================================================

  17. '=======================open file==================================================
  18. Set fso = CreateObject("Scripting.FileSystemObject")
  19. Set file = fso.OpenTextFile(outputpath , ForWriting, True) ' result file path
  20. Set iplist = fso.OpenTextFile(iplistpath , ForReading, False) ' ip-list file path
  21. '========================end open==================================================

  22. '==============================================ssh start===================================================
  23. Sub Ssh(ip)

  24.                 crt.Screen.Synchronous = True
  25.                 On Error Resume Next
  26.                
  27.                 cmd = "/ssh2 /L " & loginuser &" /PASSWORD " & StrPwd & " /C 3DES " & ip
  28.                 crt.Session.Connect cmd
  29.                
  30.                 If Err.Number <> 0 Then
  31.                         file.Write " Can't connect 22 port:" & vbCr
  32.                         index = 99
  33.                         crt.Session.Disconnect
  34.                 Else
  35.                           Do
  36.                                   index = crt.Screen.WaitForStrings("#" , ">" , 10)
  37.                                   Select Case index
  38.                                                   Case "0"
  39.                                                                 file.Write "login fail:" & loginuser
  40.                                                                 index = 99
  41.                                                             Exit Do
  42.                                                   Case "1"
  43.                                                                 index = 100
  44.                                                                 Exit Do
  45.                                                   Case "2"
  46.                                                                 index = 100
  47.                                                                 Exit Do
  48.                                   End Select
  49.                           Loop
  50.                           If index <> 100 Then
  51.                            crt.Session.Disconnect
  52.                           End If
  53.                 End If
  54. End Sub
  55. '==============================================ssh end========================================================

  56. '==============================================install begin==================================================
  57. Sub Install

  58. crt.Sleep 1000
  59. crt.Screen.Send "cd " & productpath & vbCr
  60.     crt.Screen.Send "LANG=en_US.UTF-8;export LANG" & vbCr
  61.                 crt.Sleep 1000                                                                            
  62.                 crt.Screen.Send "LC_ALL=en_US.UTF-8;export LC_ALL" & vbCr
  63.                 crt.Sleep 1000                                                                                                                                                                                                                                                                                                                                                                                                             
  64. crt.Screen.Synchronous = False                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  65. crt.Screen.Send "uname -rsm" & vbCr     '判斷系統(tǒng)版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  66. Do            
  67.         index1 = crt.Screen.WaitForStrings("Linux 2.6.18-194.el5 x86_64", "Linux 2.6.9-55.ELsmp i686", "Linux 2.6.18-194.el5 i686", "Linux 2.6.18-164.ESX x86_64", 5)                                                                                                                                                                                                                                                                                                                                                                                                                                
  68.         Select Case index1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  69.                         Case "0"                                                                                                                                                                                                                                                                                                                                                                                                                                                       
  70.                             Exit Do                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  71.                         Case "1"
  72.                         'CENTOS5.5 64bit
  73.                                                                 crt.Screen.Send "wget ftp://ftp.sunet.se/pub/Linux/distributions/centos/5.6/os/x86_64/CentOS/lrzsz-0.12.20-22.1.x86_64.rpm" & vbCr
  74.                                                                 crt.Sleep 12000
  75.                                                                 crt.Screen.Send "ls" & vbCr
  76.                                                                 crt.sleep 1000
  77.                                                                 Exit Do
  78.                         Case "2"
  79.                                 'RHEL4U4 32bit
  80.                                                                 crt.Screen.Send "ls" & vbCr
  81.                                                                 crt.sleep 1000
  82.                                                                 Exit Do                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  83.                         Case "3"
  84.                          'CENTOS5.5 32bit
  85.                                                                 crt.Screen.Send "ls" & vbCr
  86.                                                                 crt.sleep 1000
  87.                                                                 Exit Do      
  88.                         Case "4"
  89.                                 'ESX 4.1 64bit
  90.                                                                 crt.Screen.Send "ls" & vbCr
  91.                                                                 crt.sleep 1000
  92.                                                                 Exit Do
  93.                 End Select                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  94. Loop

  95. If index1 = 0 Then                                                                                                                            
  96. file.Write " time out! : Cann't confirm os version! "                                                                                                                                  
  97. Else                                                                                                                                                    
  98. crt.Screen.Send "rpm -qa|grep  rzsz" & vbCr   '判斷l(xiāng)rzsz是否安裝                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
  99. If crt.Screen.WaitForString("lrzsz", 5) = True Then
  100.         file.Write " lrzsz Exists "
  101. Else
  102.         crt.Screen.Send "ls" & vbCr     
  103.               crt.sleep 1000                                                                                                                                                                                                                                                                                                                                                                                                                                            
  104.                                 crt.Screen.Send "rpm -ivh lrzsz-0.12.20-22.1.x86_64.rpm"        & vbCr  '執(zhí)行安裝命令
  105.                            crt.sleep 3000          
  106.                            crt.Screen.Send "ls /usr/bin/rz" & vbCr
  107.                            If crt.Screen.WaitForString("/usr/bin/rz", 5) = True Then  '判斷是否安裝成功
  108.                            file.Write "lrzsz install success"   '結(jié)果寫進輸出文件中
  109.                            crt.Screen.Send "rm -f lrzsz-0.12.20-22.1.x86_64.rpm"        & vbCr   '刪除安裝程序
  110.                            crt.sleep 1000
  111.                            Else
  112.                                  file.Write "lrzsz install fail"
  113.                            crt.sleep 1000
  114.                            End If                                                                                   
  115. End If                                                                                                                                        
  116. End If                                                                                                                                                                                                                                                                                                                                                                                                                         
  117. crt.Screen.Send "exit" & vbCr
  118. End Sub
  119. '==============================================install end=================================================

  120. '==============================================Main begin==================================================
  121. Sub Main

  122.   Do While iplist.AtEndOfStream <> True
  123. '逐行讀取iplist文件,分別賦予2個變量StrIp和StrPwd
  124.                 Str = iplist.Readline
  125.                 n = InStr(Str, " ")
  126.                 StrIp = Left(Str, n)
  127.                 n = Len(Str) - n
  128.                 StrPwd = Right(Str, n)
  129. '下面的把結(jié)果寫到輸出文件中                 
  130.                 file.Write "Ip:" & StrIp & "-"
  131.                 Ssh StrIp
  132.                
  133.                 If index = 99 Then                                                             
  134.                 crt.Sleep 1000
  135.                 Else
  136.                 crt.Screen.Send "id " & vbCr
  137.                         If crt.Screen.WaitForString("uid=0", 3) = True Then
  138.                                 crt.Sleep 1000
  139.                                 Install   '執(zhí)行install過程
  140.                         End If
  141.                 End If
  142.                 crt.Session.Disconnect                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  143.                 file.Write vbCrLf
  144.   Loop
  145. End Sub
  146. '===============================================Main end===================================================
復(fù)制代碼
附件: SecureCRT腳本.zip (35.12 KB, 下載次數(shù): 935)

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
2 [報告]
發(fā)表于 2011-08-12 14:28 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亞冠之西悉尼流浪者
日期:2015-06-10 15:01:09
3 [報告]
發(fā)表于 2011-08-12 14:32 |只看該作者
謝謝樓主,VBS看不懂。
zooyo 發(fā)表于 2011-08-12 14:28



    VBS不難的,把常用的幾個參數(shù)了解了就ok了

論壇徽章:
0
4 [報告]
發(fā)表于 2011-08-12 15:58 |只看該作者
回復(fù) 1# pxf520


    謝謝分享~這個腳本如何使用啊

論壇徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亞冠之西悉尼流浪者
日期:2015-06-10 15:01:09
5 [報告]
發(fā)表于 2011-08-12 16:31 |只看該作者
本帖最后由 pxf520 于 2011-08-12 16:39 編輯
回復(fù)  pxf520


    謝謝分享~這個腳本如何使用啊
shplpy 發(fā)表于 2011-08-12 15:58


下載附件,里面有腳本和使用說明

論壇徽章:
0
6 [報告]
發(fā)表于 2012-06-04 10:36 |只看該作者
這又是一種新的批量管理方法,受教了。

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大;照
日期:2014-02-21 14:21:56CU十二周年紀(jì)念徽章
日期:2020-10-15 16:55:55CU大;照
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大;照
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
7 [報告]
發(fā)表于 2012-06-04 12:31 |只看該作者
回復(fù) 6# laolinux


    SecureCRT 有一個功能類似于 expect 的等待字串的功能,做為 windows 下的 expect 也不錯。

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大;照
日期:2014-02-21 14:21:56CU十二周年紀(jì)念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大;照
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大;照
日期:2014-02-21 14:22:52CU大;照
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
8 [報告]
發(fā)表于 2012-06-04 12:33 |只看該作者
如果腳本不需要交互的話,可以設(shè)置 crt.show 0,隱藏窗口執(zhí)行,我的一些下載日志和服務(wù)器狀態(tài)統(tǒng)計的 SecureCRT 腳本就是隱藏窗口執(zhí)行的,加入計劃任務(wù)后自動執(zhí)行,一點也不產(chǎn)生干擾。

論壇徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亞冠之西悉尼流浪者
日期:2015-06-10 15:01:09
9 [報告]
發(fā)表于 2012-07-12 15:43 |只看該作者
seesea2517 發(fā)表于 2012-06-04 12:33
如果腳本不需要交互的話,可以設(shè)置 crt.show 0,隱藏窗口執(zhí)行,我的一些下載日志和服務(wù)器狀態(tài)統(tǒng)計的 Secure ...



您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP