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 查看~~
相关推荐
-
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
-
Apache下通过shell脚本提交网站404死链的方法
网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链.404页面)进行提交,可快速删除死链,帮助网站SEO优化.在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交. . 1.配置Apache记录搜索引擎 Apache是目前网站建设最为主
-
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日志按天切割 复制代码 代码如下: 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服务 复制代码 代码如下
-
智能监测自动重启Apache服务器的Shell脚本
由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正
-
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."
-
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得到即
随机推荐
- Prototype 学习 工具函数学习($w,$F方法)
- 浅谈Angular的$q, defer, promise
- SQL Server数据库中伪列及伪列的含义详解
- Vue.js 中的 $watch使用方法
- JavaScript滑移效果代码
- oracle表的简单操作步骤
- Win10中VC2013安装Unit test组件出现问题解决方案
- 在IIS下安装PHP扩展的方法(超简单)
- Mac下Supervisor进程监控管理工具的安装与配置
- 深入理解Python中装饰器的用法
- vue中for循环更改数据的实例代码(数据变化但页面数据未变)
- Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
- php的mssql数据库连接类实例
- netbeans7安装python插件的方法图解
- LZW压缩算法 C#源码
- JavaScript实现简单生成随机颜色的方法
- Linux操作系统安装LAMP环境
- MySql数据库查询中的特殊命令
- springboot使用hibernate validator校验方式
- 易语言选择日期被改变事件的使用讲解