安装cronolog,格式化Apache的日志文件
来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:53:31
使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。
cronolog的安装配置非常简单,简要说明如下:
1.下载软件
http://cronolog.org/download/index.html
2.解压缩
gzip -d cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar
2.进入相应的目录 ./configure
3.make
4.make install
5.修改apache配置文件
以下是我的安装日志,供大家参考:
[root@eygle opt]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz --08:05:12-- http://cronolog.org/download/cronolog-1.6.2.tar.gz => `cronolog-1.6.2.tar.gz‘ Resolving cronolog.org... done. Connecting to cronolog.org[217.160.212.212]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 133,591 [application/x-gzip] 100%[==================================>] 133,591 26.23K/s ETA 00:00 08:05:19 (26.23 KB/s) - `cronolog-1.6.2.tar.gz‘ saved [133591/133591] [root@eygle opt]# gzip -d cronolog-1.6.2.tar.gz [root@eygle opt]# tar xf cronolog-1.6.2.tar [root@eygle opt]# cd cronolog-1.6.2 [root@eygle cronolog-1.6.2]# ls aclocal.m4 config.cache configure cronolog.spec install-sh Makefile.am mkinstalldirs src AUTHORS config.log configure.in doc lib Makefile.in NEWS testsuite ChangeLog config.status COPYING INSTALL Makefile missing README TODO [root@eygle cronolog-1.6.2]# ./configure loading cache ./config.cache checking for a BSD compatible install... (cached) /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... (cached) yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... (cached) gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for a BSD compatible install... /usr/bin/install -c checking whether ln -s works... (cached) yes checking for ranlib... (cached) ranlib checking for perl... (cached) /usr/bin/perl checking how to run the C preprocessor... (cached) gcc -E checking for ANSI C header files... (cached) yes checking whether stat file-mode macros are broken... (cached) no checking whether time.h and sys/time.h may both be included... (cached) yes checking whether struct tm is in sys/time.h or time.h... (cached) time.h checking for tm_zone in struct tm... (cached) yes checking for fcntl.h... (cached) yes checking for limits.h... (cached) yes checking for unistd.h... (cached) yes checking for working const... (cached) yes checking for size_t... (cached) yes checking whether struct tm is in sys/time.h or time.h... (cached) time.h checking for strftime... (cached) yes checking for vprintf... (cached) yes checking for mkdir... (cached) yes checking for mktime... (cached) yes checking for putenv... (cached) yes checking for strptime... (cached) yes checking for localtime_r... (cached) yes creating ./config.status creating Makefile creating lib/Makefile creating src/Makefile creating doc/Makefile creating testsuite/Makefile creating src/cronosplit [root@eygle cronolog-1.6.2]# make Making all in lib make[1]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/lib‘ Making all in src make[1]: Entering directory `/opt/cronolog-1.6.2/src‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/src‘ Making all in doc make[1]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/doc‘ Making all in testsuite make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Entering directory `/opt/cronolog-1.6.2‘ make[1]: Nothing to be done for `all-am‘. make[1]: Leaving directory `/opt/cronolog-1.6.2‘ [root@eygle cronolog-1.6.2]# make install Making install in lib make[1]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[2]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/lib‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/lib‘ Making install in src make[1]: Entering directory `/opt/cronolog-1.6.2/src‘ make[2]: Entering directory `/opt/cronolog-1.6.2/src‘ /bin/sh ../mkinstalldirs /usr/local/sbin /usr/bin/install -c cronolog /usr/local/sbin/cronolog /bin/sh ../mkinstalldirs /usr/local/sbin /usr/bin/install -c cronosplit /usr/local/sbin/cronosplit make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/src‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/src‘ Making install in doc make[1]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[2]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[2]: Nothing to be done for `install-exec-am‘. /bin/sh ../mkinstalldirs /usr/local/info /usr/bin/install -c -m 644 ./cronolog.info /usr/local/info/cronolog.info install-info --info-dir=/usr/local/info /usr/local/info/cronolog.info make install-man1 make[3]: Entering directory `/opt/cronolog-1.6.2/doc‘ /bin/sh ../mkinstalldirs /usr/local/man/man1 /usr/bin/install -c -m 644 ./cronolog.1m /usr/local/man/man1/cronolog.1m /usr/bin/install -c -m 644 ./cronosplit.1m /usr/local/man/man1/cronosplit.1m make[3]: Leaving directory `/opt/cronolog-1.6.2/doc‘ make[2]: Leaving directory `/opt/cronolog-1.6.2/doc‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/doc‘ Making install in testsuite make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[2]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Entering directory `/opt/cronolog-1.6.2‘ make[2]: Entering directory `/opt/cronolog-1.6.2‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2‘ make[1]: Leaving directory `/opt/cronolog-1.6.2‘ [root@eygle cronolog-1.6.2]# which cronolog /usr/local/sbin/cronolog
安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:
1.自定义日志格式
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined
2.如果存在多个虚拟站点
可以考虑在VirtualHost进行相应设置
ServerAdmin webmaster@dummy-host.example.com DocumentRoot /www/docs/dummy-host.example.com ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common
我的www.eygle.com存在多个子站点,但是都使用了同一个日志文件
配置后生成日志文件的效果:
[root@eygle logs]# ls -l access_log.20041226 -rw-r--r-- 1 root root 110425 Dec 26 09:10 access_log.20041226
cronolog的安装配置非常简单,简要说明如下:
1.下载软件
http://cronolog.org/download/index.html
2.解压缩
gzip -d cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar
2.进入相应的目录 ./configure
3.make
4.make install
5.修改apache配置文件
以下是我的安装日志,供大家参考:
[root@eygle opt]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz --08:05:12-- http://cronolog.org/download/cronolog-1.6.2.tar.gz => `cronolog-1.6.2.tar.gz‘ Resolving cronolog.org... done. Connecting to cronolog.org[217.160.212.212]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 133,591 [application/x-gzip] 100%[==================================>] 133,591 26.23K/s ETA 00:00 08:05:19 (26.23 KB/s) - `cronolog-1.6.2.tar.gz‘ saved [133591/133591] [root@eygle opt]# gzip -d cronolog-1.6.2.tar.gz [root@eygle opt]# tar xf cronolog-1.6.2.tar [root@eygle opt]# cd cronolog-1.6.2 [root@eygle cronolog-1.6.2]# ls aclocal.m4 config.cache configure cronolog.spec install-sh Makefile.am mkinstalldirs src AUTHORS config.log configure.in doc lib Makefile.in NEWS testsuite ChangeLog config.status COPYING INSTALL Makefile missing README TODO [root@eygle cronolog-1.6.2]# ./configure loading cache ./config.cache checking for a BSD compatible install... (cached) /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... (cached) yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... (cached) gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for a BSD compatible install... /usr/bin/install -c checking whether ln -s works... (cached) yes checking for ranlib... (cached) ranlib checking for perl... (cached) /usr/bin/perl checking how to run the C preprocessor... (cached) gcc -E checking for ANSI C header files... (cached) yes checking whether stat file-mode macros are broken... (cached) no checking whether time.h and sys/time.h may both be included... (cached) yes checking whether struct tm is in sys/time.h or time.h... (cached) time.h checking for tm_zone in struct tm... (cached) yes checking for fcntl.h... (cached) yes checking for limits.h... (cached) yes checking for unistd.h... (cached) yes checking for working const... (cached) yes checking for size_t... (cached) yes checking whether struct tm is in sys/time.h or time.h... (cached) time.h checking for strftime... (cached) yes checking for vprintf... (cached) yes checking for mkdir... (cached) yes checking for mktime... (cached) yes checking for putenv... (cached) yes checking for strptime... (cached) yes checking for localtime_r... (cached) yes creating ./config.status creating Makefile creating lib/Makefile creating src/Makefile creating doc/Makefile creating testsuite/Makefile creating src/cronosplit [root@eygle cronolog-1.6.2]# make Making all in lib make[1]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/lib‘ Making all in src make[1]: Entering directory `/opt/cronolog-1.6.2/src‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/src‘ Making all in doc make[1]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/doc‘ Making all in testsuite make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Nothing to be done for `all‘. make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Entering directory `/opt/cronolog-1.6.2‘ make[1]: Nothing to be done for `all-am‘. make[1]: Leaving directory `/opt/cronolog-1.6.2‘ [root@eygle cronolog-1.6.2]# make install Making install in lib make[1]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[2]: Entering directory `/opt/cronolog-1.6.2/lib‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/lib‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/lib‘ Making install in src make[1]: Entering directory `/opt/cronolog-1.6.2/src‘ make[2]: Entering directory `/opt/cronolog-1.6.2/src‘ /bin/sh ../mkinstalldirs /usr/local/sbin /usr/bin/install -c cronolog /usr/local/sbin/cronolog /bin/sh ../mkinstalldirs /usr/local/sbin /usr/bin/install -c cronosplit /usr/local/sbin/cronosplit make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/src‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/src‘ Making install in doc make[1]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[2]: Entering directory `/opt/cronolog-1.6.2/doc‘ make[2]: Nothing to be done for `install-exec-am‘. /bin/sh ../mkinstalldirs /usr/local/info /usr/bin/install -c -m 644 ./cronolog.info /usr/local/info/cronolog.info install-info --info-dir=/usr/local/info /usr/local/info/cronolog.info make install-man1 make[3]: Entering directory `/opt/cronolog-1.6.2/doc‘ /bin/sh ../mkinstalldirs /usr/local/man/man1 /usr/bin/install -c -m 644 ./cronolog.1m /usr/local/man/man1/cronolog.1m /usr/bin/install -c -m 644 ./cronosplit.1m /usr/local/man/man1/cronosplit.1m make[3]: Leaving directory `/opt/cronolog-1.6.2/doc‘ make[2]: Leaving directory `/opt/cronolog-1.6.2/doc‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/doc‘ Making install in testsuite make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[2]: Entering directory `/opt/cronolog-1.6.2/testsuite‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite‘ make[1]: Entering directory `/opt/cronolog-1.6.2‘ make[2]: Entering directory `/opt/cronolog-1.6.2‘ make[2]: Nothing to be done for `install-exec-am‘. make[2]: Nothing to be done for `install-data-am‘. make[2]: Leaving directory `/opt/cronolog-1.6.2‘ make[1]: Leaving directory `/opt/cronolog-1.6.2‘ [root@eygle cronolog-1.6.2]# which cronolog /usr/local/sbin/cronolog
安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:
1.自定义日志格式
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined
2.如果存在多个虚拟站点
可以考虑在VirtualHost进行相应设置
ServerAdmin webmaster@dummy-host.example.com DocumentRoot /www/docs/dummy-host.example.com ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common
我的www.eygle.com存在多个子站点,但是都使用了同一个日志文件
配置后生成日志文件的效果:
[root@eygle logs]# ls -l access_log.20041226 -rw-r--r-- 1 root root 110425 Dec 26 09:10 access_log.20041226
安装cronolog,格式化Apache的日志文件
使用 cronolog 作 Apache log 的分割處理
日志分割工具cronolog
日志文件 - Apache 2.2 中文版参考手册
解决Apache日志文件ACCESS.LOG日益膨胀的一个办法: 数据库 站长之家
100%恢复已删除文件!格式化的都可以!
Apache安装设置
AWStats在linux/Apache下的安装使用
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Apache在windows下的安装与配置
Vista 下安装最新的 Apache + PHP + MySQL 指南
php5 for apache安装详解
Ubuntu Linux:Apache安装设置
安装配置篇apache+resin
apache apxs安装模块介绍
使用DM9.75格式化硬盘 - czjsos的日志 - 网易博客
SQL Server安装:"安装文件配置服务器失败"的解决方法
我移动硬盘的分区被删了,但是没有格式化,请问里面的文件能否恢复
QQ安装目录的几个关键文件
linux下bin文件的安装
U盘格式化能恢复文件吗
Apache的安装与配置:与PHP Resin mod_gzip mod_expire等模块的配合
Apache日志格式说明
关于Apache服务器安装的问题 - JAVA讨论区 - 漫游高达 - Powered by Discuz!