久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

幫助中心 >  技術知識庫 >  云服務器 >  服務器教程 >  利用cronolog按每小時切割nginx日志的設置方法

利用cronolog按每小時切割nginx日志的設置方法

2016-08-09 08:03:11 8047

1.mkfifo /map/logs/nginx/wireless/access.log

 nohup cat /map/app/nginx-1.2.2/logs/error.log | /map/app/tools/cronolog-1.7.0/sbin/cronolog  /map/logs/nginx/wireless/error/%Y/%m/%d/%H.log &

 nohup cat /map/logs/nginx/wireless/access.log | /map/app/tools/cronolog-1.7.0/sbin/cronolog  /map/logs/nginx/wireless/%Y/%m/%d/%H.log &

注意:在啟動nginx前必須先啟動cronolog,否則無法啟動
2.把cronolog增加到nginx啟動腳本中
腳本內容如下:
#!/bin/sh
#
# Comments to support chkconfig
#
# chkconfig: 2345 77 77
# Description: Startup script for nginx webserver
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/map/app/nginx/sbin/$NAME
CONFIGFILE=/map/app/nginx/conf/nginx.conf
PIDFILE=/map/app/nginx/logs/$NAME.pid
SERVICENAME=/etc/init.d/nginxd-map
cronolog=/map/app/tools/cronolog-1.7.0/sbin/cronolog
ErrorLog=/map/app/nginx-1.0.6/logs/error.log
AccessLog=/map/logs/nginx/wireless/access.log
##紅色部分是新增加的,檢測文件是否是pipe類型,啟動cronolog,殺掉cronolog,很簡單,但是能夠實現功能
d_mkfifo(){
[ ! -p $ErrorLog ] || [ ! -p $AccessLog ]  &&  /bin/rm $ErrorLog $AccessLog  && mkfifo $ErrorLog $AccessLog
}
cronolog_start()
{
#ps -ef|grep wireless|grep -v grep |awk '{print $2}'|xargs kill -9
nohup cat /map/app/nginx-1.0.6/logs/error.log | $cronolog  /map/logs/nginx/wireless/error/%Y/%m/%d/%H.log &
nohup cat /map/logs/nginx/wireless/access.log | $cronolog  /map/logs/nginx/wireless/%Y/%m/%d/%H.log &
}
cronolog_kill()
{
ps -ef|grep wireless|grep -v grep |awk '{print $2}'|xargs kill -9
}
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
d_start() {
d_mkfifo
cronolog_start
  $DAEMON -c $CONFIGFILE || echo -n " already running"
}
d_stop() {
#  kill -QUIT `cat $PIDFILE` || echo -n " not running"
cronolog_kill
killall nginx || echo -n " not running"
}
d_reload() {
  kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        d_start
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME"
        d_stop
        echo "."
        ;;
  reload)
        echo -n "Reloading $DESC configuration..."
        d_reload
        echo "reloaded."
        ;;
  status)
        pgrep -x $NAME > /dev/null && echo $NAME (pid `pgrep $NAME`) is running...  || echo "$NAME is stoped."
        ;;
  test|-t)
        $DAEMON -t
        ;;
  restart)
        echo -n "Restarting $DESC: $NAME"
        d_stop
        sleep 2
        d_start
        echo "...done!"
        ;;
  *)
          echo "Usage: $SERVICENAME {start|stop|restart|reload|status|check}"
          exit 3
        ;;
esac
exit 0


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: