Nginx 日志切割对于日志管理和系统维护至关重要。以下是几种常见的 Nginx 日志切割方法:
使用 logrotate 进行日志切割
logrotate 是 Linux 系统中用于管理日志文件的工具,可以按时间或大小对日志文件进行切割、压缩和清理。以下是使用 logrotate 进行 Nginx 日志切割的步骤:
-
创建 logrotate 配置文件: 在
/etc/logrotate.d/目录下创建一个新的配置文件,例如nginx。配置文件示例如下:/var/log/nginx/access.log { daily # 按天切割日志 rotate 30 # 保留 30 个日志文件 missingok # 如果日志文件不存在,则不报错 notifempty # 如果日志文件为空,则不进行轮替 compress # 压缩旧日志文件 delaycompress # 延迟压缩上一个周期的日志文件 create 0640 www-data www-data # 新日志文件的权限和所有者 sharedscripts # 共享脚本,等 access 和 error 两个日志都轮转之后再执行下面的脚本 postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 $(cat /var/run/nginx.pid) # 向 Nginx 发送 USR1 信号,重开日志文件 fi endscript } /var/log/nginx/error.log { daily # 按天切割日志 rotate 30 # 保留 30 个日志文件 missingok # 如果日志文件不存在,则不报错 notifempty # 如果日志文件为空,则不进行轮替 compress # 压缩旧日志文件 delaycompress # 延迟压缩上一个周期的日志文件 create 0640 www-data www-data # 新日志文件的权限和所有者 sharedscripts # 共享脚本 postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 $(cat /var/run/nginx.pid) # 重启 Nginx 日志进程 fi endscript } -
测试配置: 使用以下命令测试配置文件是否正确:
sudo logrotate -vf /etc/logrotate.conf -
设置定时任务: 使用
crontab设置定时任务,使 logrotate 每天执行日志切割。例如,每天凌晨 0 点执行:0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/nginx
使用脚本进行日志切割
除了使用 logrotate,还可以编写自定义脚本来实现日志切割。以下是一个简单的 Bash 脚本示例:
#!/bin/bash
# 指定日志路径和备份目录
LOG_PATH="/usr/local/nginx/logs"
BACKUP_PATH="/var/log/nginx/backup"
# 获取当前日期并生成备份目录
DATE=$(date +"%Y-%m-%d")
BACKUP_DIR="$BACKUP_PATH/$DATE"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 移动并重命名日志文件
mv "$LOG_PATH/access.log" "$BACKUP_DIR/access_$DATE.log"
mv "$LOG_PATH/error.log" "$BACKUP_DIR/error_$DATE.log"
# 通知 Nginx 重新生成新的日志文件
kill -USR1 $(cat "$LOG_PATH/nginx.pid")
-
设置定时任务: 使用
crontab设置定时任务,使脚本每天执行日志切割。例如,每天凌晨 1 点执行:0 1 * * * /path/to/your/script.sh
验证日志切割
无论使用哪种方法,都可以通过以下命令验证日志切割是否按预期工作:
-
检查日志文件是否已切割:
tail -n 4 /var/log/nginx/access.log tail -n 4 /var/log/nginx/access.log.1 -
重新加载 Nginx 配置以应用更改:
sudo nginx -s reload
通过以上方法,可以有效地管理和维护 Nginx 日志文件,确保系统的稳定性和性能。
以上就是关于“nginx日志切割方法介绍”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm