Mon collègue et moi aimerions récupérer les données du serveur squid via access.log au serveur mysql sur un autre serveur Debian.insérer des chaînes de données du fichier journal à la base de données mysql
Nous avons trouvé une sorte de guide pour ce genre de choses sur Internet et avons créé un script qui mettra les données dans mysql à partir d'une chaîne dans le fichier access.log. mais cela ne semble pas fonctionner, quelque chose pourrait être avec la chose d'insertion, aucune idée ici. Aidez-nous s'il vous plaît à trouver ce que nous devons trier.
Heres un script:
#!/bin/bash
cp /www/logs/squid/access.log /tmp/squidforparse.log
>/www/logs/squid/access.log
awk '{print "INSERT INTO squid (ip,bytes,link,trans,time) \
VALUES(\""$3"\","$5",\""$7"\",\""$9"\",from_unixtime("$1"));"};' \
< /tmp/squidforparse.log | mysql -D traffics -u root --password=my_sql_passwd
rm -f /tmp/squidforparse.log
Je ne suis pas vraiment grand à sql, si je connais la plupart des opérateurs et des fonctions au niveau de base, encore je ne peux pas comprendre ce qui est pas le faire fonctionner .
Au lieu de construire SQL, pourquoi ne pas simplement utiliser [ 'CHARGE INFILE' DATA] (http://dev.mysql.com/doc/refman/5.5/en/load-data.html)? C'est beaucoup plus indulgent. – tadman
Toutes les mises à jour ....? .. – beck03076