文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>nginx/squid日志分割问题

nginx/squid日志分割问题

时间:2010-05-17  来源:bbzsxjj

nginx/squid日志分割问题     今天需要有个问题需要对nginx的日志进行切割,发现nginx不支持"|/usr/bin/cronolog"切割,同样squid也不支持"|/usr/bin/cronolog"这种方式切割日志,在网络找到了一个好的方法,就是使用命名管道方式将日志输出到一个管道文件,之后使用脚本对管道文件进行cronolog的分割,并针对nginx写了一个脚本,控制nginx的启动,重新登陆配置文件,关闭nginx的操作(测试系统为debian). 脚本如下:   #!/bin/bash
#set env
LOGPATH="/home/weblogs"
CHNEL_CONF="/opt/sbin/logs/channel.conf"
SOURCLOG_DIR="/home/source_log/"
NGINX_PATH="/opt/modules/nginx/sbin/nginx"
CRONLOG="/usr/bin/cronolog"
PIPE="/home/weblogs/nginx_access_pipe"
CHANNELANME=`cat /opt/sbin/logs/channel.conf|grep -E -v "^#"|awk '{print $1}'`
IP=`cat /opt/sbin/logs/channel.conf|grep -E -v "^#"|awk '{print $4}'`
if [ ! -r ${PIPE} ]
then
mkfifo $PIPE
fi
cut_log (){
cd $LOGPATH
${CRONLOG} ${CHANNELANME}_${IP}_%Y.%m.%d_%HH_log < $PIPE &
}
stop_cut (){
ps axww|grep ${CRONLOG}|awk '{print $1}'|kill -9
}
start_nginx(){
$NGINX_PATH ;
}
reload_nginx(){
$NGINX_PATH -s reload;
}
stop_nginx(){
$NGINX_PATH -s stop;
}
case $1 in
start)
cut_log
start_nginx
;;
reload)
reload_nginx
;;
stop)
stop_nginx
stop_cut
;;
stopcut)
stop_cut
;;
startcut)
cut_log
;;
*)
echo  'please input keyword "start|stop|reload|stopcut|startcut"!'
exit 1;
;;
esac

这里需要创建一个/opt/sbin/logs/channel.conf文件,并在文件记录类似下面内容:
test.test.com 2345 nginx  127.0.0.1 附录: mkfifo命令介绍

NAME(名称)

mkfifo - 创建FIFO(命名管道)  

SYNOPSIS(总览)

mkfifo [options] file...

POSIX options(选项): [-m mode]

GNU options(选项)(最短格式): [-m mode] [--help] [--version] [--]  

DESCRIPTION(描述)

mkfifo 使用指定的文件名创建FIFO(也称为"命名管道").

"FIFO"是一种特殊的文件类型,它允许独立的进程通讯. 一个进程打开FIFO文件进行写操作,而另一个进程对之进行读操作, 然后数据便可以如同在shell或者其它地方常见的的匿名管道一样流线执行.

默认情况下,创建的FIFO的模式为0666('a+rw')减去umask中设置的位.  

OPTIONS(选项)

-m mode, --mode=mode 设置创建的FIFO的模式为 mode, 这可以是 chmod(1) 中的符号模式,并使用默认模式作为起始点.  

GNU STANDARD OPTIONS(GNU标准选项)

--help 在标准输出上打印一条用法信息,并以成功状态退出. --version 在标准输出上打印版本信息,然后以成功状态退出. -- 终止选项列表.  

ENVIRONMENT(环境变量)

变量LANG, LC_ALL, LC_CTYPE和LC_MESSAGES取其常用义.  

CONFORMING TO(遵循规则)

POSIX 1003.2  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载