nginx 或tengine 访问日志分割处理

企鹅博客
企鹅博客
企鹅博客
29369
文章
0
评论
2020年2月15日11:37:49 评论 45 views 1185字阅读3分57秒

当在使用naginx是访问日志,日渐庞大,可以达到GB级别,所以我们需要拆分,

我这里是按时间拆,

#!/bin/bash

#访问日志文件位置
nginx_path="/usr/local/nginx/logs/"
bak_path="/usr/local/nginx/logs/dowload/"
#本程序log位置  包含文件名
log_path="/usr/local/nginx/logs/mv_log.log"
#文件夹名称英文逗号分隔
access_name="dir1,dir2,dir3,dir4,dir5,dir6"
#nginx pid文件位置
nginx_pid_path="/usr/local/nginx/logs/nginx.pid"
DATE=$(date +%Y-%m-%d )
log_time=$(date +%Y-%m-%d_%H:%M:%S)
echo "time ${DATE}"
echo $log_time
OLD_IFS="$IFS"
IFS=","
arr=($access_name)
IFS="$OLD_IFS"
echo "####################### mv log ${log_time}  #####################################"  >>${log_path}
for s in ${arr[@]}
do
    src_path=$nginx_path"/"$s"/"access_$s.log
    #echo $nginx_path"/"$s"/"access_$s.log
    echo "####($s)_ start_${log_time} ####" >> ${log_path}
    if [ -f "$src_path" ]; then 
        mv $src_path $bak_path$s"/"access_${log_time}.log  2>> ${log_path}
        #防止文件过大或过多 每个进行复制和发送变量
        kill -USR1 `cat ${nginx_pid_path}`
	#echo "  $s move Success  " >>${log_path}
    else
       echo "##($s)_NOT_FIND_FILE_${log_time} ##" >> ${log_path}
    fi
    echo "####($s)_end_${log_time} ######" >> ${log_path}
    echo " " >>${log_path}
done
echo "######################## END LOG #################################################"  >> ${log_path}
echo "" >>${log_path}
echo "" >>${log_path}

以上就介绍了nginx 或tengine 访问日志分割处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
mysq,php写入unicode字符 php教程

mysq,php写入unicode字符

一些特殊字符(图标字符)在保存mysql时,不能插入数据库 可以先把字符(特殊字符和正常字符)用base64_encode转为base64编码,保存到mysql 取出还原时,用base64_decod...
2015年工作中遇到的问题:11-20 php教程

2015年工作中遇到的问题:11-20

11.DWZ框架分页问题。 a.自带分页不给力,需要自己渲染Table的主体内容。 b.只有1个页面,分页、表单等依靠ID的所有地方的id要唯一。 c. 表格的样式“table”只能与dwz默认的使用...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: