Escrevendo para o banco de dados mysql no Ubuntu Server 12.04 LTS

0

Estou recuperando as tabelas arp de um switch usando snmp. Eu posso pesquisar as tabelas para um arquivo de texto, mas eu quero fazer isso no banco de dados do mysql. este é o código que estou usando para pesquisar um arquivo de texto

*/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

Como posso modificar para que os resultados sejam pesquisados para a tabela arp_tab que eu criei no banco de dados mysql A saída sai como

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 "

eu gostaria que o endereço IP e o endereço MAC fossem mapeados para o banco de dados

    
por sosytee 22.08.2013 / 14:19

2 respostas

1

primeiro crie o banco de dados mysql: databasename

crie uma tabela mysql com 2 campos de texto para IP e 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
    
por jet 22.08.2013 / 23:53
0

Primeiro, crie um banco de dados mydatabase. Em seguida, crie uma tabela mytable com os campos ip_address e mac_address. Eu estou supondo que você saiba como fazer isso. Se você não fizer isso, especifique isso.

Teste sua saída em um formato como o exemplo abaixo:

INSERT INTO mytable SET ip_address = '1.172.16.1.5', mac_address = "80 EE 73 2F 0B 40";

Em seguida, insira os comandos SQL no banco de dados mysql.

mysql mydatabase -u mydatabase_user -p < /tmp/S01_ARP.txt

Forneça a senha do banco de dados quando solicitado.

    
por crafter 22.08.2013 / 22:47