Назад | Перейти на главную страницу

как запросить версию прошивки (с помощью сценария) на объединительной плате / корпусе интеллектуального массива HP?

Я хотел бы сохранить список установленных микропрограмм в базе данных, и я могу получить нужные мне данные в выводе hpacucli, но я не могу найти надежный способ проанализировать этот файл;

# hpacucli ctrl slot=2 enclosure 4I:1 show  

Smart Array P800 in Slot 2

   DL320s           at Port 4I, Box 1, OK
      Fan Status: OK
      Temperature Status: OK
      Power Supply Status: Redundant
      Vendor ID: HP      
      Serial Number: 
      **Firmware Version: 1.20**
      Drive Bays: 12
      Port: 4I
      Box: 1
      Location: Internal

   Expander 249
      Device Number: 249
      Firmware Version: 1.20
      WWID: 500508B300DCED50
      Port: 4I
      Box: 1
      Vendor ID: HP      

   Expander 250
      Device Number: 250
      Firmware Version: 1.02
      WWID: 50014380036D183F
      Vendor ID: HP      

   Enclosure SEP (Vendor ID HP, Model DL320s) 247
      Device Number: 247
      Firmware Version: 1.20
      WWID: 500508B300DCED63
      Port: 4I
      Box: 1
      Vendor ID: HP      
      Model: DL320s          

   SEP (Vendor ID HP, Model P800) 248
      Device Number: 248
      Firmware Version: 1.02
      WWID: 50014380036D183E
      Vendor ID: HP      
      Model: P800            

как мне извлечь оттуда это значение?

Некоторые корпуса, внутренние, вообще не имеют прошивки

Я попытался разобрать вывод hpacucli подобное в прошлом, и вот что мне пришлось сделать:

Запустите команду ACU и сохраните вывод в файл. Написанный вами скрипт будет анализировать файл по одной строке за раз. При чтении файла игнорируйте каждую строку, пока не увидите строку, начинающуюся с «Smart Array». Найдя эту строку, вы начнете искать пустые строки. Когда вы видите пустую строку, вы знаете, что раздел вот-вот начнется. Сохраните строку, следующую за пустой строкой, как title. Продолжайте читать по строкам, ищите строку с надписью «Версия прошивки». Если вы найдете такую ​​строку, проанализируйте ее число (проще всего разделить строку по двоеточию) и сохраните ее как version. Напишите title и version в выходной файл. Когда вы найдете еще одну пустую строку, удалите старые значения title и version и повторите процесс.

Я не могу найти свой сценарий в данный момент, иначе я бы опубликовал его как образец кода. Насколько я помню, я сделал это на Ruby, и это было не больше дюжины или около того строк.