如果"一切是IO"“一切是file”是成立的,那么上述的想法也一定可以实现吧 awk对apache日志分析 ---
定时执行
自动化处理
直接入库
再去读取这个file入库;
root@VM---ubuntu:/var/log/apache2# awk '{print $1 "\t" $7}' access.log | grep -v '113.' | grep -v '101.226.' | awk '{print "INSERT INTO TAB1 ('\''" $1 "'\'', '\''" $2 "'\'');"}' | head > wawk_select.txt
root@VM---ubuntu:/var/log/apache2# awk '{print $1 "\t" $7}' access.log | grep -v '113.' | grep -v '101.226.' | awk '{print "INSERT INTO TAB1 ('\''" $1 "'\'', '\''" $2 "'\'');"}' | head > wawk_select.sql
w
root@VM---ubuntu:/var/log/apache2# ls
access.log access.log..gz access.log..gz access.log..gz error.log error.log..gz error.log..gz error.log..gz
access.log. access.log..gz access.log..gz access.log..gz error.log. error.log..gz error.log..gz error.log..gz
access.log..gz access.log..gz access.log..gz access.log..gz error.log..gz error.log..gz error.log..gz error.log..gz
access.log..gz access.log..gz access.log..gz access_log error.log..gz error.log..gz error.log..gz other_vhosts_access.log
root@VM---ubuntu:/var/log/apache2# vi access.log
root@VM---ubuntu:/var/log/apache2# awk '{print $1 "\t" $7}' access.log | grep -v '113.' | grep -v '101.226.' | awk '{print "INSERT INTO TAB1 ('\''" $1 "'\'', '\''" $2 "'\'');"}' | head
INSERT INTO TAB1 ('180.153.206.16', '/rockmongo');
INSERT INTO TAB1 ('125.39.207.33', '/');
INSERT INTO TAB1 ('183.57.53.196', '/skins/vector/csshover.htc');
INSERT INTO TAB1 ('180.153.214.199', '/skins/vector/csshover.htc');
INSERT INTO TAB1 ('112.90.82.218', '/4e5e5d7364f443e28fbf0d3ae744a59a');
INSERT INTO TAB1 ('112.90.82.218', '/jenkins');
INSERT INTO TAB1 ('180.153.201.66', '/jenkins');
INSERT INTO TAB1 ('107.151.148.193', 'http://www.proxyjudge.info/azenv.php');
INSERT INTO TAB1 ('107.151.148.193', 'www.alipay.com:443');
INSERT INTO TAB1 ('107.151.148.193', '');
root@VM---ubuntu:/var/log/apache2#

问题:
针对上边的case得到awk分析文本的结果:
0-怎样直接写入结构化或非结构化的数据库或保存为非数据库形式的file,便于进一步处理?
1-访问日志同步写入数据库,会加大有损用户体验的服务器负担?措施:同步地、相对写入数据库而言低功耗地写入file,之后再在服务器相对低并发的时间段,异步写入数据库?
Linux下apache日志分析与状态查看方法_Linux_脚本之家
http://www.jb51.net/article/33647.htm
对原始的Apache访问日志
下面那个命令是筛选出访问IP不是 177.126 或 192.168 开头的IP,显示访问者的IP,访问时间和访问路径
如果"一切是IO"“一切是file”是成立的,那么上述的想法也一定可以实现吧 awk对apache日志分析 ---的更多相关文章
- IO流,File类的测试........课堂加总结
package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...
- Java输入输出流(IO)-----文件类File详解
1.java.io.File类简介 凡是与输入.输出相关的类.接口等都定义在java.io包下 File是一个类,可以有构造器创建其对象.此对象对应着一个文件(.txt .avi .doc .p ...
- Java IO体系之File类浅析
Java IO体系之File类浅析 一.File类介绍 位于java.io下的Java File类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等.File对 ...
- JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...
- System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)
一.建立的文件夹(对这些文件进行以上四个类的操作): 父目录: 父目录的子目录以及父目录下的文件: 子目录下的文件: 二.效果图 三.代码实现 using System; using System.I ...
- java io学习之File类
1.先看下四个静态变量 static String pathSeparator The system-dependent path-separator character, represented a ...
- java io知识点汇总FIle类
1.路径分隔符问题: 因为java有跨平台行,而在windows和linux中的目录分隔符是不同的.windows是"\" 而linux是"/" 所以必须想办 ...
- Java笔记(二十七)……IO流中 File文件对象与Properties类
File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果 ...
- 【Java IO流】File类的使用
File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
随机推荐
- 点滴积累【JS】---JQuery实现条形统计图,适用于选择题等统计
效果: 思路:前台JS实现动态数据效果,后台可以拼接字符串或者用JSON加载数据 代码: <%@ Page Language="C#" AutoEventWireup=&qu ...
- CentOS安装自动补全安装包
CentOS7标准版有这个功能,但是CentOS6却没有,其实很简单: 1.安装bash-completion yum install bash-completion 2.保存一下最新的缓存 yum ...
- SVN使用(自己总结)
1.第一次导入,注意要新建个readme.txt文件用于记录版本更改,每次导入时 要填写import message 2.第二次增加文件导入时 勾选未受控版本文件(新增加文件) 完成上传就可更新增加的 ...
- 【JS设计模式】装饰者模式
装饰者模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象 装饰模式的特点 (1) 装饰对象和真实对象有同样的接口.这样clien ...
- Makefile 之 $(Q)
# To put more focus on warnings, be less verbose as default # Use 'make V=1' to see the full command ...
- nyoj 742 子串和再续 类似 HDU 1024
子串和再续 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给你一个序列 S1, S2, S3, S4 ... Sx, ... Sn (1 ≤ x ≤ n ≤ 1,000 ...
- QT .pro文件 LIBS用法详解
在程序中需要使用到团队其它成员开发的静态库和动态库,起初是知道使用LIBS变量在在.pro文件中指定需要包含的库,但是实际使用的时候却遇到很大麻烦,但其实确实是因为自己看官方文档不太用心造成的. 下面 ...
- scala读写文件
def main(args: Array[String]): Unit = { //1 read for( i<- Source.fromFile("test.dat").g ...
- linux2.4中netfilter_nat_alg机制分析--以FTP流程为例,分析NAT和ALG
以FTP流程为例,分析NAT和ALG 网络环境: ×5+6=1286) 创建×5+6=1286),更新skb的应用层信息(这里应用层信息还是×5+6=1286) 创建×5+6=1286) 创建×5+6 ...
- IOS中的多线程和NSRunLoop概述(转载)
线程概述 有些程序是一条直线,从起点到终点,如Hello World,运行打印完,它的生命周期便结束了:有些程序是一个圆,不断循环,直到将它切断,如操作系统,一直运行直到你关机. 一个运行着的程序就 ...