常用日志维护脚本

日志格式

2015/01/03 22:13:53 [error] 30310#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2015/01/03 22:15:54 [notice] 31090#0: signal process started
2015/01/03 22:15:54 [error] 31090#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2015/01/03 22:19:51 [notice] 32601#0: signal process started
2015/01/03 22:19:51 [error] 32601#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2015/01/03 23:01:51 [notice] 4960#0: signal process started
2015/01/04 13:22:05 [notice] 4644#0: signal process started
2015/01/04 21:08:07 [notice] 7135#0: signal process started
2015/01/11 20:59:24 [notice] 5201#0: signal process started
2015/01/12 23:31:29 [notice] 5121#0: signal process started

1. 打印大于2015年1月3号的日志

shell> gawk -F ‘ ‘ ‘{if($1>"2015/01/03"){print $0}}‘ /usr/local/nginx/logs/error.log

2015/01/04 13:22:05 [notice] 4644#0: signal process started
2015/01/04 21:08:07 [notice] 7135#0: signal process started
2015/01/11 20:59:24 [notice] 5201#0: signal process started
2015/01/12 23:31:29 [notice] 5121#0: signal process started

2. 打印1月3号到1月12号之间的日志

shell> gawk -F ‘ ‘ ‘{if($1>"2015/01/03"&&$1<"2015/01/12"){print $0}}‘ /usr/local/nginx/logs/error.log 

2015/01/04 13:22:05 [notice] 4644#0: signal process started
2015/01/04 21:08:07 [notice] 7135#0: signal process started
2015/01/11 20:59:24 [notice] 5201#0: signal process started

3. 打印当天22:13:53以后的日志

shell> gawk -F ‘ ‘ ‘{if($1=="2015/01/03"&&($2>"22:13:53")){print $0}}‘ /usr/local/nginx/logs/error.log 

2015/01/03 22:15:54 [notice] 31090#0: signal process started
2015/01/03 22:15:54 [error] 31090#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2015/01/03 22:19:51 [notice] 32601#0: signal process started
2015/01/03 22:19:51 [error] 32601#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2015/01/03 23:01:51 [notice] 4960#0: signal process started

4. 打印5分钟内的日志

shell> gawk -F ‘ ‘ ‘{if($1=="2015/01/03"&&($2>"22:13:53"&&$2<"22:18:53")){print $0}}‘ /usr/local/nginx/logs/error.log
2015/01/03 22:15:54 [notice] 31090#0: signal process started
2015/01/03 22:15:54 [error] 31090#0: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

5. 每天定时切割nginx日志脚本

#!/bin/bash
# This script run at 00:00

# The Nginx logs path
logs_path="/usr/local/webserver/nginx/logs/"

mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`

设置crontab,每天凌晨00:00切割nginx访问日志
crontab -e

输入以下内容:
引用
00 00 * * * /bin/bash  /usr/local/webserver/nginx/sbin/cut_nginx_log.sh
时间: 2024-10-09 11:07:58

常用日志维护脚本的相关文章

用友维护常用SQL语句脚本

用友维护常用SQL语句脚本(经典)(上) 用友维护人员常用SQL 脚本 --查询用友版本号 use ufsystem go select * from UA_Version go ----------------------------------------------------------------- --查看系统用户信息表 use ufsystem selec ... 用友维护人员常用SQL 脚本--查询用友版本号use ufsystemgoselect * from UA_Versi

linux常用的日志分析脚本

linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.0 (Windows; U; Windows NT

XenDesktop SQL Server Mirror事务日志维护

当使用SQL Server高可用性功能的时候,例如,XenDesktop站点数据库使用完整的事务日志记录模式下运行的数据库镜像. 通过完整的事务日志记录模式下运行的事务日志会增长过大,直到数据库空间被填满或事务日志空间大小被填满.如果事务日志文件不会被监视的,默认情况下,SQL Server的配置日志文件会自动增长.这将导致2个问题: 1.事务日志文件会占用大量的磁盘空间 2.事物日志增长填满数据库空间,导致数据库不可用. 因此Citrix建议定期备份日志文件.这可以通过调度作业或维护计划来完成

python常用运维脚本实例【转】

file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先open是内置函数,使用方式是open('file_name', mode, buffering),返回值也是一个file对象,同样,以写模式打开文件如果不存在也会被创建一个新的. f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,

linux系统web日志分析脚本

linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照互联网上图文教程也无从下手.对于此情况我编写了一个web日志分析脚本,功能比较简单,无需配置,有需要的朋友可以再尝试一下.  脚本地址: gbk版(一般ssh客户端不用调整直接可用: wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/weblogch

Android APP压力测试(三)之Monkey日志自动分析脚本

Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 2.脚本原理 3.操作实例 1.Monkey日志分析脚本 1).脚本文件:Monkey_Log分析.bat @ECHO OFF ECHO.::::::::::::::::::::::::::::::::::::::::::::::::: ECHO.::             分析Monkey日志 

linux tomcat一键维护脚本(值得收藏)

<span style="font-family: Arial, Helvetica, sans-serif;">#! /bin/sh</span> a="/usr/share/tomcat7/webapps/ROOT" b="/usr/share/tomcat7/webapps/ROOT.war" c="ROOT.war" tomcat_stop="/usr/share/tomcat7/bi

Linux Shell 高级编程技巧4----几个常用的shell脚本例子

4.几个常用的shell脚本例子    4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释    4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash current_PID=$$ ps -aux | grep "/usr/sbin/httpd" | grep -v "grep" | awk '{print $2}' > /tmp/${current_PID}.txt for pid in `cat /tmp/${

php简单日志记录脚本

自己的站点经常被搜索引擎爬到,想知道搜索引擎和来访者都对哪些内容比较感兴趣,于是写了一个简单的日志记录"系统",来记录来访者的信息. 分为三个文件,record.php,log.php,conn.php conn.php是数据库连接文件,调用该文件返回一个mysql的数据库读写接口: log.php是后台,可以从这里看到记录在数据库中的内容: record.php是记录访客用的脚本,在任意页面包含该脚本,即可实现对于来访者的记录. 代码如下: conn.php: <?php #c