Nginxログ自動カットスクリプト

1064 ワード

説明:7日おきに実行し、crontabを使用してスクリプトを自動的に実行します.コードのdomain.comを自分の必要に応じて変更してください.
#!/bin/bash

#Nginx     
logs_path="/home/wwwlogs/"

mkdir -p ${logs_path}$(date -d -7day +"%Y")/$(date -d -7day +"%m")/
mv ${logs_path}domain.com.access.log ${logs_path}$(date -d -7day +"%Y")/$(date -d -7day +"%m")/domain.com.access_$(date -d -7day  +"%Y%m%d").log

kill -USR1 `cat /usr/local/webserver/nginx/logs/nginx.pid`

スクリプトを上にしてcut_として保存nginx.sh、crontabを設定し、毎週午前0:00に切断し、crontab -eを実行して以下の内容を入力します.
0 0 * * 1 /yourpath/cut_ngin.sh

その後、1週間ごとにスクリプトが自動的に実行され、古いログが『Y/M/domain.com.access_YMD.log』に保存されます.
参照先:
Nginx 0.8.x + PHP 5.2.13(FastCGI)Apacheの10倍以上のWebサーバを構築(第6版)[オリジナル]