【发布时间】:2013-08-27 17:57:47
【问题描述】:
我和我的同事想通过 access.log 从 squid 服务器获取数据到另一个 Debian 服务器上的 mysql 服务器。
我们在互联网上找到了这类事情的指南,并制作了一个脚本,将数据从 access.log 文件中的字符串放入 mysql。但这似乎不起作用,插入的东西可能有问题,这里不知道。请帮助我们找出我们需要解决的问题。
这是一个脚本:
#!/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
我不是很擅长 sql,虽然我知道大多数基本级别的运算符和函数,但我仍然不知道是什么使它无法工作。
【问题讨论】:
-
不构造SQL,为什么不直接使用
LOAD DATA INFILE呢?它更宽容。
标签: mysql sql unix logging debian