閱讀945 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux下nginx生成日誌自動切割

1、編輯切割日誌的 shell 程序,目錄自定

#vi /data/nginx/cut_nginx_log.sh
輸入代碼:

#!/bin/bash
                       
# This script run at 00:00
                       
function cutAccess()
{
    dir=$1
    newdir="${dir}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")"
    suffix=$(date -d "yesterday" +"%Y%m%d")
    mkdir -p $newdir
    mv ${dir}/access.log ${newdir}/access.$suffix.log
}
                       
cutAccess "/home/wwwlogs/www.yourdomain.com/"
cutAccess "/home/wwwlogs/www.yourdomain-1.com/"
cutAccess "/home/wwwlogs/www.yourdomain-2.com/"
                    
# 重啟 nginx
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

2、加入定時任務,每天0點自動切割

# crontab -e
0 0 * * * /bin/bash /data/nginx/cut_nginx_log.sh

3、nginx 日誌格式

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
            '$status $body_bytes_sent "$http_referer" '
            '"$http_user_agent" $http_x_forwarded_for';
access_log  /home/wwwlogs/www.yourdomain.com/access.log  access;




最後更新:2017-04-03 12:54:57

  上一篇:go 簡單的 jQuery 浮動層隨窗口滾動滑動插件實例
  下一篇:go 實現自動備份MySQL數據庫