1、編集、ログのシェルプログラムをカットし、カスタムディレクトリ
#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:00切断当たり、添加されます
# 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;
ます。https://my.oschina.net/zhouz/blog/213089で再現