Shell脚本实现分析apache日志中ip所在的地区
查询ip地址所用的组件
wget http://rfyiamcool.googlecode.com/files/nali-0.1.tar.gz
tar zxvf nali-0.1.tar.gz
cd nali-0.1
./configure && make && make install
步骤和nginx是差不多的,只是取日志里面的ip地址的方法不一样~~~
#!/bin/bash
#rfyiamcool
IPSUMFILE=access_ip.log
SAVEFILE=ipaddress.txt
echo -e "IP地址\t\t\t\t\t来源\n----------------------------------------------------">$SAVEFILE
#log path
LOG_DIR=/usr/local/apache/logs/
for i in $LOG_DIR/*.log
do
cat /etc/httpd/logs/access_log|awk '{print $1}'|sort|uniq -c|sort -nr|awk '{print $2}'>>$IPSUMFILE
done
for i in `cat $IPSUMFILE`
do
nali $i >> $SAVEFILE
done
最后cat 查看~~
相关推荐
-
智能监测自动重启Apache服务器的Shell脚本
由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正
-
Ubuntu服务器配置apache2.4的限速功能shell脚本分享
过程都写成脚本了,原理都写在注释里,大家懂的.一键操作就是sudo bash xxx.sh 复制代码 代码如下: #!/bin/bash #cd到临时目录创建配置文件 cd /tmp (cat <<EOF <Directory /home/hursing/mylimiteddir/> SetOutputFilter RATE_LIMIT SetEnv rate-limit 30 </Directory> EOF ) > ratelimit.conf
-
PHP+shell脚本操作Memcached和Apache Status的实例分享
memcached 进程启动及监控 1.memcached_inc.sh 设置路径,端口等讯息. #!/bin/sh #config include HOST=$(hostname) SITE="mysite" PORT=11211 MEMCACHED_PID_FILE="/tmp/memcached.pid" MEMCACHED_DAEMON_PID_FILE="/tmp/memcached_daemon.pid" MEMCACHED=&quo
-
Shell脚本判断Apache进程是否存在
写一个脚本检查Apache进程是否存在,若不存在则显示不存在,若存在则显示进程个数,当不等于10个时用红色字体通知管理员,并询问管理员是否启动Apache服务. 复制代码 代码如下: #!/bin/bash #echo "$(service httpd status)" PIDNUM=$(pgrep httpd | wc -l) if [[ $PIDNUM -eq 0 ]];then echo "Apache is stopped."
-
Apache下通过shell脚本提交网站404死链的方法
网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链.404页面)进行提交,可快速删除死链,帮助网站SEO优化.在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交. . 1.配置Apache记录搜索引擎 Apache是目前网站建设最为主
-
Shell脚本实现apache日志中的状态码分析
一.首先将apache日志按天切割 复制代码 代码如下: vi /etc/httpd/conf/httpd.conf ErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480" CustomLog "|rotatelogs /var/log/httpd/%Y%m%daccess_log 86400 480" combined 二.重启apache服务 复制代码 代码如下
-
Shell脚本实现分析apache日志中ip所在的地区
查询ip地址所用的组件 复制代码 代码如下: wget http://rfyiamcool.googlecode.com/files/nali-0.1.tar.gz tar zxvf nali-0.1.tar.gz cd nali-0.1 ./configure && make && make install 步骤和nginx是差不多的,只是取日志里面的ip地址的方法不一样~~~ 复制代码 代码如下: #!/bin/bash #rfyiamcool IPSUMFI
-
shell脚本按当前日期输出日志的实现
shell脚本基本技能是设置变量,输出信息.如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash test.sh 控制台输出: 输出到控制台,并且写入日志文件: 执行脚本,会在当前目录下生成 log20190826.log文件,打开它发现成功写入日志信息: 脚本代码: #!/bin/bash #文件名:test.sh name="xiongzaiqiren" echo $name ech
-
Shell脚本切割tomcat的日志文件
鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路径 file_size=`du $monitor_file | awk '{print $1}'` if
-
shell脚本如何读取properties文件中的值
如下面代码所示的properties文件是各种编程语言中常用的属性文件,通过key读取value是极其常见的需求. # 端口 server.port=8520 # 上传文件总的最大值 spring.servlet.multipart.max-request-size=10MB # 单个文件的最大值 spring.servlet.multipart.max-file-size=10MB Linux中的shell通常是需要程序员自己写一个方法实现对properties文件的读取.以下是我写的一个方法
-
shell脚本实现的网站日志分析统计(可以统计9种数据)
写了个shell脚本,可以用来统计每天的访问日志,并发送到电子邮箱,方便每天了解网站情况.脚本统计了:1.总访问量2.总带宽3.独立访客量4.访问IP统计5.访问url统计6.来源统计7.404统计8.搜索引擎访问统计(谷歌,百度)9.搜索引擎来源统计(谷歌,百度) 复制代码 代码如下: #!/bin/bashlog_path=/home/www.jb51.net/log/access.log.1domain="jb51.net"email="log@jb51.net&quo
-
Shell脚本一次读取文件中一行的2种写法
写法一: 复制代码 代码如下: #!/bin/bash while read line do echo $line #这里可根据实际用途变化 done < urfile 写法二: 复制代码 代码如下: #!/bin/bash cat urfile | while read line do echo $line done 注意:以上代码中urfile 为被读取的文件 Shell读取文本文件 方法一:通过命令获取所需内容,传递给变量 复制代码 代码如下: var1=$(g
-
python脚本实现分析dns日志并对受访域名排行
前段时间有个需求是要求查一段时间的dns上的域名访问次数排行(top100),没办法,只好慢慢的去解析dns日志呗,正好学习了python,拿来练练手. 1.原始数据分析: 首先看下原始数据文件,即dns日志内容,下面是抽取的几条有代表性的日志,2×8.2×1.2x.1×5 这种中间的x是相应的数字被我抹去了. 复制代码 代码如下: 13-08-30 03:11:34,226 INFO : queries: – |1×3.2×8.2×0.2×0|config.dengluqi.net||conf
-
Shell脚本实现从文件夹中递归复制文件
需求 前两天碰到需要在十层左右的文件夹中提取文件的需求,于是写了此脚本. 如下面这样的文件结构: 复制代码 代码如下: dir1 ├── a │ ├── b │ │ └── file1 │ └── file2 ├── c │ └── d │ ├── e │ │ └── file4 │ └── file3 └── file5 我们需要将其中的file1~fil
-
Shell脚本实现在Linux系统中自动安装JDK
A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: 复制代码 代码如下: $ ./install-jdk.sh B的IP or: 复制代码 代码如下: $ ./install-jdk.sh "B的IP" "JDK的URI" 就可以在机器B上安装JDK.jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即
随机推荐
- asp.net 从POST的数据流中提取参数和文件
- jquery ajax提交表单从action传值到jsp实现小结
- [Oracle] 分析AWR报告的方法介绍
- jQuery实现移动端滑块拖动选择数字效果
- 如何使用Bootstrap 按钮实例详解
- 数据库的用户帐号管理基础知识
- vue-router单页面路由
- 由浅入深讲解Javascript继承机制与simple-inheritance源码分析
- asp WAP获取手机终端信息的一段代码
- 优化 SQL Server 索引的小技巧
- 修改MYSQL最大连接数的3种方法分享
- 浅谈java中静态方法的重写问题详解
- C#实现将日志写入文本文件的方法
- C#常用目录文件操作类实例
- C#窗体显示留言时间的方法
- PHP中实现图片的锐化
- JS实现的文件拖拽上传功能示例
- python实现批量修改服务器密码的方法
- 浅谈shell的一些循环格式
- Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法