Поиск по этому блогу

пятница, 23 сентября 2011 г.

Скрипт для сбора версий ПО на коммутаторах Dlink DES 30XX

Вот собственно сам скрипт:


#!/usr/local/bin/bash                                                                                                                                    
FILE=`cat ./ipaddr | sort -u`                                                                                                                            
                                                                                                                                                         

for I in $FILE                                                                                                                                            

do                                                                                                                                                        
ping -c 1 -t 1 $I                                                                                                                                        
                                                                                                                                               

    if [ $? = 0 ]                                                                                                                                        

    then                                                                                                                                                  
    MOD=`(sleep 1; echo "admi"; echo "qjd9ud6"; echo "logout";) | telnet $I | grep [dD][eE]  | awk {'print  $2'}`                                        
    FIRM=`(sleep 1; echo "admi"; echo "qjd9ud6"; echo "logout";) | telnet $I | grep [fF][iI] | awk {'print  $4'}`                                        
        if ! [ -z $MOD ]                                                                                                                                  
        then                                                                                                                                              
         if ! [ -d ./$MOD ]                                                                                                                              
         then                                                                                                                                            

         mkdir ./$MOD                                                                                                                                    
         fi                                                                                                                                              
        echo $I >> ./$MOD/$FIRM                                                                                                                          

        else                                                                                                                                              

        echo $I >> ./DES-2108                                                                                                                            
        fi                                                                                                                                                
                                                                                                                                                                                                                                                                                                                      
    fi                                                                                                                                                    

done                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                      
rm -f $1      

Сразу видно какие коммутаторы нуждаются в обновлении :)

                                                                                                                                             

1 комментарий:

  1. Я смотрю версии ПО на коммутаторах, путем grep в директории с конфигурационными файлами, загруженных с rancid.

    grep -l "DES-3052 Configuration" * | xargs grep --files-without-match "Build 2.80.B08"

    Находим все коммутаторы DES-3052 с версией прошивки отличной, от того что указано.

    ОтветитьУдалить