如果"一切是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类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
随机推荐
- [Yii Framework] Share the session with memcache in Yii
When developing distributed applications with Yii, naturally, we will face that we have to share the ...
- position固定菜单栏
position:fixed来实现. <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- 终端I/O termios属性设置 tcsetattr设置(转)
终端I/O有两种不同的工作方式: 规范方式输入处理.在这种方式中,终端输入以行为单位进行处理.对于每个读要求,终端驱动程序最多返回一行. 非规范方式输入处理.输入字符不以行为单位进行装配. 如果不作特 ...
- iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链
iptables常用规则:屏蔽IP地址.禁用ping.协议设置.NAT与转发.负载平衡.自定义链 时间 -- :: IT社区推荐资讯 原文 http://itindex.net/detail/4772 ...
- 解决错误: ios property has a previous declaration
今天维护一个项目的时候,我新添加了一个库,运行的时候报错了: ios property has a previous declaration 上网查了一下没有找到思路,不过根据提示自己试了一下,原来这 ...
- .NET 4.0中的缓存功能
# .NET 4.0中的缓存功能 .Net 4.0中有3种,System.Runtime.Caching,System.Web.Caching.Cache,Output.Cache.下面分别对这三者进 ...
- 2. Retrofit2 -- Basic Authentication on Android
2. Retrofit2 -- Basic Authentication on Android android Retrofit tutorial 整合基本的认证 Retrofit 1.9 Retro ...
- J2EE之Servlet初见
Servlet是J2EE12种规范之中的一个.它也是用java语言编写的程序,其本身也是一种JAVA类,在须要的时候被实例化,不须要的时候自己主动销毁,Servlet的执行是在Servlet容器内执行 ...
- CNN图像分割总结
深度学习(三十三)CRF as RNN语义分割-未完待续 http://blog.csdn.net/hjimce/article/details/50888915 Fully Convolutiona ...
- docker-py环境配置
一.系统环境版本介绍: os-version: Linux -.el7.x86_64 python-version: Python six-version: python-six--.el7.noar ...