Advertisement
Izya12

run_sn_old.sh

Apr 11th, 2014
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 11.59 KB | None | 0 0
  1. #/bin/bash
  2. . "/etc/CFG_FULL.cfg"
  3.  
  4. #rm $pwd/db_ip_test.txt
  5. #rm $pwd/db_ip_agr.txt
  6.  
  7. nmap --excludefile $pwd/db_ip_exclude.txt -sn 192.168.212.0/22 --unprivileged | egrep -v "Host|nmap" | awk '{print $5}' | grep "[[:digit:]]" > $pwd/db_ip_test.txt
  8. nmap --excludefile $pwd/db_ip_agr_exclude.txt -sn 192.168.212.2-49 --unprivileged | egrep -v "Host|nmap" | awk '{print $5}' | grep "[[:digit:]]" > $pwd/db_ip_agr.txt
  9.  
  10. cd $pwd/name_sn
  11. DATE="$(date +"%Y%m%d")"
  12. #------------------------------------------------------------------------------------------------------------------------------------#
  13. #------------------------------------------------------------------------------------------------------------------------------------#
  14. #------------------------------------------------------------------------------------------------------------------------------------#
  15. #Коммутаторы доступа
  16. #------------------------------------------------------------------------------------------------------------------------------------#
  17. #------------------------------------------------------------------------------------------------------------------------------------#
  18. #------------------------------------------------------------------------------------------------------------------------------------#
  19. # Задаем имена таблици
  20. echo "IP, Модель, HW, FW, Всего портов, Занято портов, Улица, Дом, Подъезд, SN, MAC, IP-TV, PPPoE, PPPoE name" > LOG/name_sn.db_1_$DATE.csv
  21.  
  22. while read IP
  23. do
  24.  
  25.   HW=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.16.19.3.0 | awk '{ print $4 }' | sed -e "s/\"//g")
  26.  
  27.   if [ "$HW" = "A1" -o "$HW" = "B1" ]
  28.     then
  29.       MODEL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $5}' | sed -e "s/\"//g")
  30.       if [[ "$MODEL" = DES-3200* ]]
  31.       then
  32.     #------------------------------------------------------------------------------------------------------------------------------------#
  33.     SN=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  34.     NAMEUL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $1}')
  35.     NAMEDOM=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $2}')
  36.     NAMEPOD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $3}')
  37.     MAC=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  38.     BUILD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  39.     PORTOV=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  40.     if [ "$PORTOV" = "26" ]
  41.     then
  42.       VLANIPTV=$($VARSNMPWALK -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.5.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  43.     else
  44.       VLANIPTV=$($VARSNMPWALK -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.3.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  45.     fi
  46.     VLANPPPoE=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1 | grep -E "4.3.1.1.[[:digit:]][[:digit:]][[:digit:]][[:digit:]]" | awk -F "." '{print $9}' | awk '{print $1}' | head -n 1)
  47.     VLANPPPoEName=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.$VLANPPPoE | awk '{print $4}' | sed -e "s/\"//g")
  48.     ZANYATO=$(cat $pwd/port_up_down/log/$IP.log | grep "[[:digit:]]" | wc -l)
  49.     echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  50.       elif [[ "$MODEL" = DES-1228* ]]
  51.       then
  52.     SN=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  53.     NAMEUL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $1}')
  54.     NAMEDOM=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $2}')
  55.     NAMEPOD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $3}')
  56.     MAC=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  57.     BUILD=$($VARSNMPGET -v2c -c $CommunityRO $IP  1.3.6.1.2.1.16.19.2.0 | awk '{print $5}' | sed -e "s/\"//g")
  58.     PORTOV=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  59.     VLANIPTV=$($VARSNMPWALK -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.116.2.2.7.8.1.1 | awk '{print $4}')
  60.     VLANPPPoE=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1 | grep -E "4.3.1.1.[[:digit:]][[:digit:]][[:digit:]][[:digit:]]" | awk -F "." '{print $9}' | awk '{print $1}' | head -n 1)
  61.     VLANPPPoEName=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.$VLANPPPoE | awk '{print $4}' | sed -e "s/\"//g")
  62.     ZANYATO=$(cat $pwd/port_up_down/log/$IP.log | grep "[[:digit:]]" | wc -l)
  63.     echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  64.       fi
  65.  
  66.     #------------------------------------------------------------------------------------------------------------------------------------#
  67.     elif [ "$HW" = "C1" -o "$HW" = "A3" ]
  68.     then
  69.       #------------------------------------------------------------------------------------------------------------------------------------#
  70.       SN=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  71.       NAMEUL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $1}')
  72.       NAMEDOM=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $2}')
  73.       NAMEPOD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $3}')
  74.       MODEL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $4}' | sed -e "s/\"//g")
  75.       MAC=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  76.       BUILD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  77.       PORTOV=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  78.       VLANIPTV=$($VARSNMPWALK -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.12.64.3.1.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  79.       VLANPPPoE=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1 | grep -E "4.3.1.1.[[:digit:]][[:digit:]][[:digit:]][[:digit:]]" | awk -F "." '{print $9}' | awk '{print $1}' | head -n 1)
  80.       VLANPPPoEName=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.$VLANPPPoE | awk '{print $4}' | sed -e "s/\"//g")
  81.       ZANYATO=$(cat $pwd/port_up_down/log/$IP.log | grep "[[:digit:]]" | wc -l)
  82.       echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  83.       #------------------------------------------------------------------------------------------------------------------------------------#
  84.     else
  85.       #------------------------------------------------------------------------------------------------------------------------------------#
  86.       SN=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  87.       NAMEUL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $1}')
  88.       NAMEDOM=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $2}')
  89.       NAMEPOD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $3}')
  90.       MODEL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $5}' | sed -e "s/\"//g")
  91.       MAC=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  92.       BUILD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  93.       PORTOV=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  94.       VLANIPTV=$($VARSNMPWALK -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.3.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  95.       VLANPPPoE=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1 | grep -E "4.3.1.1.[[:digit:]][[:digit:]][[:digit:]][[:digit:]]" | awk -F "." '{print $9}' | awk '{print $1}' | head -n 1)
  96.       VLANPPPoEName=$($VARSNMPWALK -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.$VLANPPPoE | awk '{print $4}' | sed -e "s/\"//g")
  97.       ZANYATO=$(cat $pwd/port_up_down/log/$IP.log | grep "[[:digit:]]" | wc -l)
  98.       echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  99.       /bin/echo "$IP $HW" >> $pwd/name_sn/erorr_log_$DATE.log
  100.       #------------------------------------------------------------------------------------------------------------------------------------#
  101.   fi
  102. done < $pwd/db_ip_test.txt
  103. #------------------------------------------------------------------------------------------------------------------------------------#
  104. #------------------------------------------------------------------------------------------------------------------------------------#
  105. #------------------------------------------------------------------------------------------------------------------------------------#
  106. #Коммутаторы агригации
  107. #------------------------------------------------------------------------------------------------------------------------------------#
  108. #------------------------------------------------------------------------------------------------------------------------------------#
  109. #------------------------------------------------------------------------------------------------------------------------------------#
  110. # Задаем имена таблици
  111. echo "IP, Модель, Всего портов, FW, Адрес, SN, MAC" > LOG_AGR/name_sn.db_agr_$DATE.csv
  112. while read IP
  113. do
  114.   #------------------------------------------------------------------------------------------------------------------------------------#
  115.   SN=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  116.   NAME=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g")
  117.   MODEL=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $4}' | sed -e "s/\"//g")
  118.   MAC=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  119.   BUILD=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  120.   PORTOV=$($VARSNMPGET -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  121.   echo "$IP, $MODEL, $PORTOV, $BUILD, $NAME, $SN, $MAC" >> LOG_AGR/name_sn.db_agr_$DATE.csv
  122.   #------------------------------------------------------------------------------------------------------------------------------------#
  123. done < $pwd/db_ip_agr.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement