linux系统服务器,nginx日志切割保存

当涉及到Nginx日志切割和保存时,可以使用logrotate工具。下面是一个简单的教程来帮助您实现这一目标:

首先,确保您已经安装了logrotate工具。在大多数Linux发行版上,可以使用以下命令进行安装:

sudo apt-get install logrotate  # Debian/Ubuntu
sudo yum install logrotate      # CentOS/RHEL

创建一个用于Nginx日志的配置文件。在终端中,使用文本编辑器(如vi或nano)创建一个新文件,例如 nginx-logrotate.conf

sudo nano /etc/logrotate.d/nginx-logrotate.conf

在打开的配置文件中,输入以下内容:

/path/to/nginx/logs/*.log {
    daily                     # 每天切割日志文件
    missingok                 # 如果日志文件不存在也不会报错
    rotate 7                  # 保留最近7个日志文件
    compress                  # 压缩旧的日志文件
    delaycompress             # 延迟压缩,直到下次切割时才压缩
    notifempty                # 如果日志文件为空,则不切割
    create 0644 <user> <group> # 设置新生成的日志文件的权限和所有者,用具体的用户和组替换<user>和<group>
    sharedscripts             # 在所有日志文件都处理完毕后,运行一次脚本
    postrotate                # 切割后执行的命令
        /usr/sbin/nginx -s reopen
    endscript                 # 脚本结束
}

需要将 /path/to/nginx/logs/替换为您的实际Nginx日志目录的路径,并将 <user>和 <group>替换为合适的用户和组。

保存并关闭配置文件。

现在,logrotate将按照指定的配置每天切割Nginx日志文件,并保留最近7个日志文件。您可以根据需要调整配置文件中的选项,例如保留的日志文件数量、切割频率等。

posted @ 2025-07-10 10:30  kang_ms  阅读(37)  评论(0)    收藏  举报