首页 > 系统相关 >Nginx--logrotate日志切割打包

Nginx--logrotate日志切割打包

时间:2023-02-28 20:44:15浏览次数:38  
标签:etc -- Nginx logrotate usr nginx 日志

1.系统是默认安装的,查看系统是否安装logrotate

centos

rpm -ql logrotate

/etc/cron.daily/logrotate
/etc/logrotate.conf
/etc/logrotate.d
/etc/rwtab.d/logrotate
/usr/sbin/logrotate
/usr/share/doc/logrotate-3.8.6
/usr/share/doc/logrotate-3.8.6/CHANGES
/usr/share/doc/logrotate-3.8.6/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate
/var/lib/logrotate/logrotate.status

ubuntu

logrotate --version

logrotate 3.14.0
Default mail command:       /usr/bin/mail
Default compress command:   /bin/gzip
Default uncompress command: /bin/gunzip
Default compress extension: .gz
Default state file path:    /var/lib/logrotate/status
ACL support:                yes
SELinux support:            yes

2.docker配置日志截取

创建文件
/etc/docker/daemon.json
内容
{
"log-driver": "json-file",
"log-opts": {
"max-size": "500m",
"max-file": "3"
}
}

max-size 指定日志文件大小上限
max-file 指定日志文件个数

systemctl daemon-reload
systemctl restart docker.service

3.创建logrotate 配置文件,系统会自动创建 crontab 任务自动执行

/etc/logrotate.d/nginx

/work/nginx/logs/*log {
    su root root
    create 0644 root root   
    daily            #每天执行一次
    rotate 365       #保留365个日志文件
    missingok	     #如果日志丢失,不报错继续滚动下一个日志
    notifempty       #当日志文件为空时不生成新的文件
    compress         #压缩
    sharedscripts    #统一执行一次脚本postrotate
    postrotate       #运行脚本
         docker exec nginx  nginx -s reload;
    endscript
}

手动测试logrotate

 logrotate -d -f /etc/logrotate.d/nginx

 -d, --debug :debug模式,测试配置文件是否有错误。
 -f, --force :强制转储文件。

4.推荐博客:

https://www.cnblogs.com/kevingrace/p/6307298.html

标签:etc,--,Nginx,logrotate,usr,nginx,日志
From: https://www.cnblogs.com/When6/p/17165918.html

相关文章

  • 【深入浅出 Yarn 架构与实现】4-5 RM 行为探究 - 启动 ApplicationMaster
    本节开始,将对ResourceManager中一些常见行为进行分析探究,看某些具体关键的行为,在RM中是如何流转的。本节将深入源码探究「启动ApplicationMaster」的具体流程。一、......
  • mysql忘记密码
    mysql是在三年前下载的,但是此时密码忘记了,又不想卸载后重新安装,此时需要重置密码.①netstopMySQL80(这个SQL根据服务中SQL的名称填写,网上大部分都是sql,我发......
  • 一次线上OOM问题分析
    现象线上某个服务有接口非常慢,通过监控链路查看发现,中间的GAP时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求。原因分析先从监控链路分析了......
  • CF每日一道思维题——CF1503A - Balance the Bits
    题意:给定一个长度为 n 的01字符串 s。要求你构造两个合法的括号序列 a 和 b。对于每一个si=1,要求 ai=bi,反之 si=0,要求 ai!=bi​。思路:可以推导出下面几种......
  • Python第二天
    反斜线\\、单引号\'、双引号\"单引号、双引号定义一个字符串没有区别,三引号可以换行可以用作多行注释8bit(位)=1byte(字节)1024byte=1kbstr表示字符串(只要是双单引号里的都叫......
  • 日程报告8
    代码时间(包括上课):6h代码量(行):180博客数(篇):3 今天实现了昨天的课堂测试基础版(是的,昨天的任务今天刚刚做完T_T),最大的收获就是了解到了spilt函数的存在对文件的操作也进行了......
  • idea中xml文件内输入标签没有提示,不能联想
    两步操作,在xml文件上右击,点击菜单中OverrideFileType  然后点击XML,即可 ......
  • 引用isalnum()函数判断是否为字母或数字
    #include<stdio.h>#include<ctype.h>intmain(){charch;printf("inputacharacter:");//输入一个字符scanf_s("%c",&ch);if(isalnum(ch))//......
  • 使用set去重
    #include<iostream>#include<vector>#include<set>usingnamespacestd;intmain(){vector<int>test={1,2,3,3,3,4,2,3,5,2,63,56,34,24};set<int>s(tes......
  • npm 常用安装包命令总结
    直接安装使用npm直接安装模块,默认是生产环境,包名会注册到package.json里的dependencies中,且会把包安装到项目node_modules文件夹里面:npminstallmodule_name......