如果"一切是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类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
随机推荐
- laravel配置文件(自定义配置文件)
laravel配置文件存放目录config里面的文件是自定加载的,也就是说,你在文件夹里面新建一个custom.php,按配置格式写,是可以正常访问的. 1.读取配置的方法: $value = con ...
- 【Android界面实现】View Animation 使用介绍
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 我们能够使用view animation 动画系统来给View控件加入tween动画(下称& ...
- vsftp 虚拟用户高级设置(转载)
发布:xiaokk 来源:net [大 中 小] vsftp 虚拟用户高级设置 本文转自:http://www.jbxue.com/article/1724.html 1.安装所需软件包 ...
- atitit.提升性能AppCache
atitit.提升性能AppCache 1.1. 起源1 2. 离线存储2 3. AppCache2 3.1. Appcache事件点如图2 3.2. Manifest文件4 3.3. 自动化工具4 ...
- atitit. 管理哲学 大毁灭--- 如何防止企业的自我毁灭
atitit. 管理哲学 大毁灭--- 如何防止企业的自我毁灭 1. 为什么企业组织的生命力 普遍不如国家组织的长久 2 2. 企业的不稳定因子如下:: 2 3. 决策制度 2 3.1. 我们老大说 ...
- [svc][jk][mem]linux 内存清理/释放命令
1.清理前内存使用情况 free -m 2.开始清理 echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: ...
- jdbc preparedstatement 调用存储过程的问题
preparedstatement 是可以执行正常的存储过程 executeQuery() 正常执行 在实际开发中遇到一种问题当 preparedstatement.setMaxRows 设置了这 ...
- vim编码设置
转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...
- mysql update语句添加表关联查询
UPDATE tab_game_version as a INNER JOIN tab_game_version as b ON a.id=b.idSET a.advert_data=0 where ...
- git patch生成方法
先把改动commit掉,然后生产改动patch给提交代码的同事,详细操作过程例如以下: 改动代码的同事: git format-patch al821_xxx origin/al821_xxx 会生成 ...