Linux下定時切割Nginx訪問日誌並打包壓縮的Shell指令碼

來源:互聯網
上載者:User

之前寫過這篇文章,但是由於上次的資料丟失故障這篇日誌沒有了。於是我又重新寫了這個指令碼,再次貼出來,給大家。

#!/bin/bashlogs_path=/home/logs/www/arch_log_path=${logs_path}$(date -d "yesterday" +"%Y%m/%d")/mkdir -p ${arch_log_path}cd ${logs_path}for i in `ls *.access.log`do        tar zcf ${i}.tar.gz -C ${logs_path} ${i}        mv ${i}.tar.gz ${arch_log_path}        rm -rf ${i}donekill -USR1 `cat /usr/local/nginx/nginx.pid`


使用時注意修改logs_path為你自己的Nginx訪問日誌目錄。我的Nginx是按照虛擬機器主機分列訪問日誌的,每個記錄檔的格式如localhost.access.log,該指令碼會匹配日誌目錄下的所有*.access.log檔案,打包壓縮後移動到 年月/日 目錄下面。大家可以根據自己需要再行調整。設定成功後在crontab裡面加入定時計劃。

sudo crontab -e

啟動VI編輯器,輸入以下內容:

 0 0 * * * /path/to/cut_nginx_log.sh

其中最後一部分請修改成你的切割指令碼所在的路徑。定時器設定在每天0時歸檔昨天的日誌。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.