Я получаю arp таблицы от переключателя с помощью snmp. Я могу опросить таблицы к текстовому файлу, но я хочу сделать это к mysql дб. это - код, который я использую для опроса к текстовому файлу
*/5 * * * * root /usr/bin/snmpbulkwalk -v 2c -c public(assumed community) -OXsq (ip adress of switch) .1.3.6.1.2.1.3.1.1.2 > /tmp/S01_ARP.txt
Как я могу изменить так, чтобы результаты были опрошены к таблице arp_tab, что я создал в mysql базе данных, вывод выходит как
atPhysAddress[10][1.172.16.1.5] "80 EE 73 2F 0B 40 "
atPhysAddress[10][1.172.16.1.25] "38 EA A7 6D 2E 8E "
atPhysAddress[10][1.172.16.1.32] "BC 51 FE 50 16 F8 "
atPhysAddress[10][1.172.16.1.200] "00 06 53 FE 39 E0 "
atPhysAddress[10][1.172.16.1.210] "00 18 BA 51 5B 41 "
я хотел бы, чтобы IP-адрес и MAC-адрес были отображены в базу данных
сначала создайте mysql базу данных: databasename
составьте mysql таблицу с 2 текстовыми полями для IP и MAC:
#!/bin/bash
sed 's/atPhysAddress\[10\]\[//g' arp.txt | sed 's/\]\ \"/\|/g' | sed 's/\ \"/\|/g'> /tmp/arp.new
mysql -uroot -ppassword databasename <<EOF
load data infile '/tmp/arp.new'
into table tablename
fields terminated by '|'
escaped by '\\\'
lines terminated by '\n';
EOF
Сначала создайте базу данных mydatabase, затем создайте таблицу mytable с полями ip_address и mac_address. Я предполагаю, что вы знаете, как это сделать. Если нет, укажите это.
Попробуйте получить вывод в формате, подобном приведенному ниже, например:
INSERT INTO mytable SET ip_address = '1.172.16.1.5', mac_address = "80 EE 73 2F 0B 40";
Затем введите команды SQL в базу данных mysql.
mysql mydatabase -u mydatabase_user -p < /tmp/S01_ARP.txt
Введите пароль базы данных при появлении запроса.