Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- rm *.toNOC
- adr='10.21.'
- login='root'
- pass='admin'
- logout='quit'
- administrative_domain_id='5' #1 default 5=DSLAM 3=Сisco-switch
- activator_id='1' #1 default
- profile_name='Huawei.VRP1' #Siemens.HIX5630 Huawei.VRP1 Huawei.VRP
- snmp_ro='public' #
- snmp_rw=''
- trap_community='public'
- tags='adsl,ma5605,' #tag,tag1,tag2,
- description='Huawei MA5605 add from zabbix'
- N=0
- #echo "select ip from hosts where status = 0" \
- #| mysql -u zabbix -ppass -h127.0.01 zabbix \
- #| sort -u | grep -v 127.0.0.1 \
- #| grep -v ip | grep $adr[12][] \
- #> zabbix.hosts
- echo "SELECT ip FROM hosts WHERE status = 0 AND hostid IN (SELECT hostid FROM hosts_groups WHERE groupid = 10)" \
- | mysql -u zabbix -ppass -h127.0.01 zabbix \
- | sort -u | grep -v 127.0.0.1 \
- | grep -v ip |grep $adr\
- > zabbix.hosts
- echo "select address from sa_managedobject" | psql noc \
- |grep -v [a-zA-Z] | grep -v '-' | sort -u | awk {'print $1'} | grep $adr\
- > noc.hosts
- diff ./zabbix.hosts ./noc.hosts | grep '<' | awk {'print $2'} > zabbixtonoc.diff
- FILE=`cat ./zabbixtonoc.diff`;
- for I in $FILE
- do
- MOD=`(sleep 4; echo $login; sleep 1; echo $pass;sleep 5; echo $logout) | telnet $I | grep ">"\
- | awk -F">" {'print $1'} | sed -e "s/[<>]//g" | grep -E -v "^$"`
- echo "hostname=" $MOD
- echo "IP=" $I
- #echo "user"=$login "password=" $pass "snmp_ro="$snmp_ro "snmp_rw=" $snmp_rw "trap_community=" $trap_community
- #echo "administrative_domain_id=" $administrative_domain_id "activator_id="$activator_id "profile_name="$profile_name
- #echo "description="$description "tags=" $tags
- if [ "$MOD" != "" ]; then
- ###
- #тут должен быть скрипт вбивания все в БД
- ##режем все переводы строк
- ## echo $sql | perl -i~ -pne "s/\n//g" | pgsql -pPassword -uUsername database
- psql -d noc -U noc -c 'INSERT INTO sa_managedobject ( name, is_managed, administrative_domain_id, activator_id, profile_name, scheme, address, "user", password, super_password, remote_path, trap_source_ip, trap_community, is_configuration_managed, repo_path, snmp_ro, snmp_rw, description, tags ) '" \
- VALUES ( '$MOD', true, '$administrative_domain_id', '$activator_id', '$profile_name', 0, '$I', '$login', '$pass', '', '', '$I', '$trap_community', true, '$MOD', '$snmp_ro', '$snmp_rw', '$description', '$tags' )"
- echo "add successful"
- echo $MOD
- ID=`psql -d noc -U noc -c "SELECT id FROM sa_managedobject WHERE name='$MOD'" |awk '{if (NR==3) print}'`
- psql -d noc -U noc -c "INSERT INTO cm_config ( repo_path, push_every, pull_every, managed_object_id ) \
- VALUES ( '$MOD', 86400, 86400, '$ID' )"
- echo $ID "conf add successful"$
- N=`expr $N + 1`
- else
- echo "нет Hostname пропускаем"
- fi
- done
- echo "добавленно="$N " узлов"
- #Delete tmp files
- rm -f ./importtmp.csv
- rm -f ./*.hosts
- rm -f ./*.diff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement