Nginx日志分割(默认不分割)

Nginx日志分割

使用方法(1)

  • 使用定时任务
bash
复制代码
30 23 * * * cd /home/ccodsupport/nginxLog && sudo ./nginxLog.sh &>/dev/null
  • 修改nginx日志路径
bash
复制代码
#!/bin/bash # 设置Nginx日志目录 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
  • 观察日志文件是否分割正常
sql
复制代码
[nginx@ucloud_nginx_1 logs]$ ls -htrl -rw-r--r-- 1 nginx nginx 380M Apr 18 17:40 error_2023-04-18.log -rw-r--r-- 1 nginx nginx 0 Apr 18 17:40 error.log -rw-r--r-- 1 nginx nginx 55M Apr 18 17:40 access_2023-04-18.log -rw-r--r-- 1 nginx nginx 737K Apr 18 17:40 zabbix_2023-04-18.log -rw-r--r-- 1 nginx nginx 895 Apr 18 17:50 access.log -rw-r--r-- 1 nginx nginx 210 Apr 18 17:50 zabbix.log

使用方法(2)

  • 使用 nginx 本身来实现
  • 对应在主配置文件server块中修改
bash
复制代码
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;
ini
复制代码
var code = "b7915af6-ed36-4703-894b-c454d5c08906"
posted @ 2024-01-15 15:07  平凡的运维之路  阅读(22)  评论(0)    收藏  举报  来源