自己做的电商网站要多少钱,wordpress core主题,分类信息网站如何优化,发布网站建设信息作用#xff1a;随着网站访问量的增加#xff0c;访问日志中的信息会越来越多#xff0c; Apache 默认访问日志access_log单个文件会越来越大#xff0c;日志文件体积越大#xff0c;信息都在一个文件中#xff0c;查看及分析信息会及不方便。 分割 实现方式#xff1a…作用随着网站访问量的增加访问日志中的信息会越来越多 Apache 默认访问日志access_log单个文件会越来越大日志文件体积越大信息都在一个文件中查看及分析信息会及不方便。 分割 实现方式 1.利用 apache 自带的日志轮循程序 rotatelogs ErrorLog |rotatelogs 命令的绝对路径 -l logs/error_%Y%m%d_%H%M%S.log 秒数 CustomLog | rotatelogs 命令的绝对路径-l logs/access_%Y%m%d_%H%M%S.log 秒数Combined 2.利用一个发展已经比较成熟的日志轮循工具 cronolog ErrorLog |cronolog 绝对路径 -l /usr/local/httpd/logs/error_%Y%m%d%H%M%S.log CustomLog |cronnolog绝对路径 -l /usr/local/httpd/logs/access_%Y%m%d%H%M%S.log combined3.利用定时任务和 shell 脚本做日志切割 方式一 利用 apache 自带的日志轮循程序 rotatelogs日志分割 [rootlinuxa ~]# vi /usr/local/httpd/conf/httpd.conf ##10秒切割一次日志文件(切割日志时间频率可以自行改变根据PV来决定)-l选项是小写的L表示local time本地时间 215行插入CustomLog |/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/access_%Y%m%d%H%M%S.log 10 combined:wq 方式二利用一个发展已经比较成熟的日志轮循工具 cronolog [rootlinuxa ~]# tar xf cronolog-1.6.2.tar.gz -C /usr/src/ [rootlinuxa ~]# cd /usr/src/cronolog-1.6.2/ [rootlinuxa cronolog-1.6.2]# ./configure make make install [rootlinuxa cronolog-1.6.2]# cd [rootlinuxa ~]# which cronolog /usr/local/sbin/cronolog [rootlinuxa ~]# vi /usr/local/httpd/conf/httpd.conf ##可以跟据文件名中的变量来设置分割的频率Y表示四位年份、m表示月份、d表示月份中的天数 213行
CustomLog |usr/local/sbin/cronolog /usr/local/httpd/logs/access_%Y%m%d.log combined:wq [rootlinuxa ~]# /usr/local/httpd/bin/apachectl restart [rootlinuxa ~]# ls /usr/local/httpd/logs/ access_20171206.log access_log error_log httpd.pid 方式三脚本完成定期移动httpd日志文件并且保存期限为30天 [rootlinuxa ~]# vi /opt/cut_httpd_log.sh #!/bin/bash logpath/usr/local/httpd/logs datetime$(date -d -1 day %Y%m%d) [ -d $logpath/backup ] || mkdir $logpath/backup mv $logpath/access_log $logpath/backup/access_log-$datetime /usr/local/httpd/bin/apachectl graceful ##重新加载apache的配置不会中断请求 find $logpath/backup/ -mtime 30 | xargs rm –f find /usr/local/httpd/logs/backup/ -type f -mtime 30 -exec rm -rf {} \; [rootlinuxa ~]# chmod x /opt/cut_httpd_log.sh [rootlinuxa ~]# echo 00 00 * * * /bin/bash /opt/cut_httpd_log.sh /dev/null /var/spool/cron/root [rootlinuxa ~]# service crond restart 当成功分割之后如果要进行合并 合并 可以将每个服务器每天的日志文件通过 rsync 下载到专门进行访问统计分析的服务器上进行合并。合并多个服务器的日志文件例如 log1 log2 log3 并输出到 log_all 中的方法是 sort -k 4 -o log_all access_log1 access_log2 access_log3 -m 使用 merge 优化算法 -t 指定排序的分割符 -k 4 指定排序时行中多列时排序的依据列为哪列表示根据时间进行排序 -o 表示将排序结果存放到指定的文件中 所以这里使用 sort -k 4 -o accessall access_20240102051040.log access_20240102051050.log