Nginx日志分割
使用方法(1)
30 23 * * * cd /home/ccodsupport/nginxLog && sudo ./nginxLog.sh &>/dev/null
#!/bin/bash
logdir="/home/nginx/logs"
find "$logdir" -type f -name "*.log" | while read logfile; do
if [ -f "$logfile" ]; then
date=`date +%F`
if [ -z "$date" ]; then
echo "Error: cannot extract date from $logfile"
continue
fi
newlogfile="$logdir/$(basename "$logfile" .log)_$date.log"
cp "$logfile" "$newlogfile"
> $logfile
fi
done
[nginx@ucloud_nginx_1 logs]$ ls -htrl
-rw-r
-rw-r
-rw-r
-rw-r
-rw-r
-rw-r
使用方法(2)
- 使用 nginx 本身来实现
- 对应在主配置文件server块中修改
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log /var/log/nginx/${year}_${month}_${day}_access.log main;
var code = "b7915af6-ed36-4703-894b-c454d5c08906"