czhtr 发表于 2017-1-5 07:10:19

【维护】apache 配置和日志+shell

  apache安装目录  在phpinfo搜索Server Root     /etc/apache2/

apache配置文件:httpd.conf或apache2.conf   /etc/apache2/

.ini file  查看apache配置文件中
  1直接写在apache配置   LoadModule mysql_auth_module modules/mod_auth_mysql.so
  2 Include conf.d/*.conf

.so file  在apache配置文件中搜索modules     /usr/lib/apache2/modules

www主目录:在phpinfo中搜索DOCUMENT_ROOT     /var/www
  
------------------------------------------------------日志
  222.180.75.170 - - "GET /up/mg/mp3/140/20100715211107387.mp3 HTTP/1.1" 206 250539 "http://mp3.sogou.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
60.213.133.42 - - "GET /include/ad.php?act=showggtop HTTP/1.1" 200 392 "http://www.51kxs.org/list.php?act=type&sec=25&page=1" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727)"
60.213.133.42 - - "GET /include/ad.php?act=showgglistright HTTP/1.1" 200 213 "http://www.51kxs.org/list.php?act=type&sec=25&page=1" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727)"





  
ErrorLog logs/test.***.com-error_log
  
CustomLog logs/test.***.com-access_log common    #common格式
CustomLog /var/log/apache2/access.log combined    #combined格式
  日志格式默认的是common
  日志的生成格式可以定制的,需要在配置文件中定义
LogFormat "%h %l %u %t \"%r\" %>s %b" common
  
启动APACHE的用户
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
  编辑httpd.conf 设置如下:
<FilesMatch "\.(ico|gif|jpg|png|bmp|swf)">
SetEnv IMAG 1
</FilesMatch>
CustomLog logs/access_log combined env=!IMAG
 
这样记录文件access_log就不会记录ico|gif|jpg|png|bmp|swf的访问记录,同样也可以加上css|js才过滤css和js文件,效果很好.
  ----------------------------------------apache日志的cronolog轮循和webalizer合并统计
  wget http://cronolog.org/download/cronolog-1.6.2.tar.gz



tar xzvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
2.编译
./configure
make
make install
3. 修改Apache的配置文件httpd.conf,加入以下代码
CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/%Y_%m_%d.access.log" combined
  ======================shell
  realdate=`date +%Y-%m-%d`
  echo $realdate
cat /var/log/httpd/$(date +%Y_%m_%d).access.log |cut -d \" -f1,2,3,4 |awk '{if($4~"500")print $8}' |awk '$1!~/^.-/' |sort|uniq -c |sort -rn > /tmp/tmp


realdate=`date -d "yesterday" +"%Y-%m-%d"`
  echo $realdate
cat /var/log/httpd/$(date -d "yesterday" +"%Y_%m_%d").access.log |cut -d \" -f1,2,3,4 |awk '{if($4~"500")print $8}' |awk '$1!~/^.-/' |sort|uniq -c |sort -rn > /tmp/tmp


cat /var/log/httpd/$(date +%Y_%m_%d).access.log |awk '{if($4~"404")print $8,$10}' |sort |uniq -c|sort -rn > /tmp/tmp2
  
cat /var/log/httpd/$(date +%Y_%m_%d).access.log |awk '$5 > 3' |awk '{print $8}' |sort |uniq -c |sort -rn > /tmp/tmp3
  head -n 100 /tmp/tmp2 >> web404_log
页: [1]
查看完整版本: 【维护】apache 配置和日志+shell