百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

nginx日志文件切割

csdh11 2025-01-13 12:05 1 浏览

使用脚本对nginx日志文件进行按天切割

#!/bin/bash
LOGS_PATH=/usr/local/nginx/logs
YESTERDAY=$(date -d -1day +%Y%m%d)
cd ${LOGS_PATH}
#按天切割日志
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
#向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败
kill -USR1 `ps axu | grep nginx| grep master | awk '{print $2}'`
#压缩
gzip -9 ${LOGS_PATH}/access_${YESTERDAY}.log
#删除7天前的日志
find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f
exit 0

然后配置crontab进行每天切割使用

使用logrotate对nginx日志进行切割

[root@iZ25b31bdp0Z gitlab-8.5.7-0]# cat /etc/logrotate.d/nginx 
/var/log/nginx/*log {
    create 0644 nginx nginx
    daily         //可以选择weekly,monthly,切割周期
    rotate 10    //一次存储10个文件,超出数量最早生成的文件会被删除
    missingok    //忽略错误
    notifempty   //空文件不存储
    compress    //启动压缩
    sharedscripts
    postrotate
        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
    endscript  
//其它命令执行完成后,再执行postrotate与endscript中间的命令,两者是固定格式
}

相关推荐

Python 实现 | 通过 Gitlab API 获取项目工程、分支、commit 提交记录

前提在gitlab中你的工程创建AccessToken然后你会得到一个21位accesstoken,代码中需要用到。代码...

还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲

原文链接:https://mp.weixin.qq.com/s/hyGkjsRIIZdiF_bG-WqLnQ原作者:macrozheng最近发现Gitlab的CI/CD功能也能实现自动化部署,用起来也...

使用GitLab实现CICD

GitLabCI/CD是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:ContinuousIntegration(CI)持续集成ContinuousDelivery(C...

配置GitLab流水线和门禁系统

在项目开发的过程中,为了保证代码质量,我们会使用诸多代码质量检测工具,这些工具或是在本地,或是在云端,虽然工具可以检测出异常问题,但是这些问题还是需要我们程序员来修复,如果我们不强制所有人必须修复异常...

害怕代码操作是“黑盒”,用代码审计将操作变”白盒”

本文作者:极狐GitLab资深解决方案架构师尹学峰审计事件使用审计事件来跟踪重要事件,包括执行相关操作的人员和时间。您可以使用审计事件来跟踪例如:...

CentOS 7下Yum及RPM安装GitLab CE 14.0.3

一、概述  GitLab是一个利用RubyonRails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与GitHub类似的功能,能够浏览源代...

centos7安装部署gitlab

一、Gitlab介1.1gitlab信息GitLab是利用RubyonRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Githu...

nginx日志文件切割

使用脚本对nginx日志文件进行按天切割#!/bin/bashLOGS_PATH=/usr/local/nginx/logsYESTERDAY=$(date-d-1day+%Y%m%d)c...

GitLab实战操作指南

一、Git原理1、Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。...

单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号

一,简介一般来说,公司有很多系统使用,为了实现统一的用户名管理和登录所有系统(如GitLab、Harbor等),并在员工离职时只需删除一个主账号即可实现权限清除,可以采用单点登录(SSO)...

每日一招:搭建Jenkins,Gitlab自动化打包部署项目

每日一招,每日掌握一个要点,日积月累的积累。虽然成为不了大神,大牛,但是养家糊口还是可以的。1.Docker-compose构建jenkins环境1.1创建docker在主机的jenkins数据映射...

Gitlab替代,开源,轻量级代码托管解决方案

前言Gitea是一款基于go开发,轻量级的开源跨平台代码托管方案,适合中小团队之间的文档共享和代码协作。主要功能如下:代码托管,支持git代码推拉和版本控制,问题跟踪,允许创建私有或公开仓库;支持ap...

基于Docker构建安装Git/GitLab,以及制作springboot工程镜像

今天给大家分享的是《领先的开源自动化服务器Jenkins的应用实战》之基于Docker安装构建Git/GitLab版本控制与代码云存储的场所;使用Git管理项目,springboot工程制作镜像知识体...

Gitlab不同方式的安装配置及常见场景用法

一:rpm格式安装1.安装对应的依赖包yuminstall-ycurlpolicycoreutils-pythonopenssh-serversystemctlenablesshdsy...

群晖使用Docker安装并配置GitLab服务器

群晖(Synology)内置的GitLab版本已经很老了,虽然对系统资源的利用较少,但是不利于使用。因此,要在群晖上安装GitLab服务器,最好还是通过内置的Docker进行安装,这样可以安装较新的G...