目录

1、切割日志的配置(用系统自带的 logrotate )

1.1 配置文件参数解释:

1.2 重新打开日志文件的 kill -USR1 信号

nginx信号的接收和处理

Nginx信号简介

2、强制手动切割日志

3、配置定时切割任务


日志可以每天都进行切割重新写,保留固定的时间后也可使用 find 删除。

1、切割日志的配置(用系统自带的 logrotate )

/etc/logrotate.d 下面再建立一个配置文件,这里新建名为nginx

( 中途有 ctrl+Z  暂停过任务,后面fg恢复的 )

1.1 配置文件参数解释:

/usr/local/nginx/logs/*log  把目录下所有的log结尾的文件都进行切割

daily           #每天切割。  日志文件轮转周期,可用值为: daily / weekly / yearly

rotate 30     # 设置轮转次数,即最多存储 n 个归档日志,超过会删除最早的归档日志

missingok    #忽略错误

notifempty    #当日志为空时,不切

compress     #使用gzip压缩

minsize 5M           #限制条件,大于5M的日志文件才进行分割,否则不操作

dateext             # 以当前日期作为命名格式

引入脚本命令

sharescripts

XXXX   中间是脚本、命令部分

endscript

postrotate  表示当切割完成之后要执行的命令。

这里kill是因为 日志mv挪走以后,始终还是在写旧的日志文件。通过给nginx 一个reopen信号以后才会自动新建一个新的日志文件。

有时候因为要在容器外kill ,可以用ps+awk来kill

ps -ef |grep "openresty/nginx/nginx" | awk '/master/{print $2}'

1.2 重新打开日志文件的 kill -USR1 信号

注意:这里的kill 的作用并不是用来杀掉进程。

kill杀进程只是作用之一,这里是通过kill向nginx的master进程发送特定的信号来进行对nginx的控制。

kill  -USR1  PID  起到的效果相当于  nginx  -s  reopen   重载日志文件

nginx信号的接收和处理

nginx 主进程在启动完成后会进入等待状态,负责响应各类系统消息,如SIGCHLD、SIGHUP、SIGUSR2等。

Nginx信号简介

(master)主进程支持的信号

  • TERM, INT: 立刻退出        相当于 nginx -s stop
  • QUIT: 等待工作进程结束后再退出          相当于 nginx -s quit
  • KILL: 强制终止进程
  • HUP: 重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程。相当于nginx -s reload
  • USR1: 重新打开日志文件        相当于 nginx -s reopen
  • USR2: 启动新的主进程,实现热升级
  • WINCH: 逐步关闭工作进程

(worker)工作进程支持的信号

  • TERM, INT: 立刻退出
  • QUIT: 等待请求处理结束后再退出,优雅停止
  • USR1: 重新打开日志文件

nginx -t 时候也可以用 nginx  -c  xxx.conf  -t   检测nginx配置的正确性。

# 在重启或者重载配置文件前需要检查nginx配置的正确性
nginx -c /path/to/nginx.conf -t# 正常输出示例
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful# 异常输出示例
nginx: [emerg] unknown directive "eerror_log" in /etc/nginx/nginx.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

2、强制手动切割日志

logrotate  -f  /etc/logrotate.d/nginx    

(这里切割配置文件名起的是nginx)

去看设置的文件夹下已经发生了切割

3、配置定时切割任务

crontab  -e

0 */1 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginxvideo

这里是每个小时 0 分时候使用该nginxvideo配置文件进行切割

ngx之日志切割 、ngx信号相关推荐

  1. Nginx信号控制 —— 如何优雅的关闭Nginx进程以及日志切割

    一.引言 接着上节博客来,上节博客教了大家如何在Linux系统中安装nginx服务,也告诉了大家如何启动nginx服务了.那如果是在日常正常使用nginx当中,更改了配置文件,那有如何将nginx优雅 ...

  2. linux 日志按大小切割_nginx入门详解(六)- 日志切割

    上一章讲解了nginx的目录加密功能,本章重点介绍nginx的日志切割. 笨办法学linux:nginx入门详解(五)- 目录加密​zhuanlan.zhihu.com 在第二章,我们探讨了nginx ...

  3. 日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  4. nginx日志切割并使用flume-ng收集日志

    nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到 ...

  5. nginx日志切割脚本

    nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到 ...

  6. Linux Logrotate日志切割管理

    Logrotate 是 linux 系统用来分割日志的系统工具.Logrotate 可以设置为每天.每周.每月或当日志文件达到一定的大小时处理日志文件,提供自动压缩.删除.分割日志文件的功能.一般 C ...

  7. logrotate测试_日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  8. Nginx 日志配置、日志切割、日志切割脚本

    文章目录 前言 一.access_log 1.语法 2.基本用法 3.作用域 4.log_format 自定义日志格式 二.error_log 1.语法 2.基本用法 3.作用域 4.rewrite_ ...

  9. Nginx日志切割及配置

    文章目录 前言 一.Logrotate是什么? 二.使用步骤 1.Logrotate 安装 2.Logrotate 文件目录 3.Logrotate 命令参数 4.Logrotate 常用配置参数 5 ...

最新文章

  1. CS-APP:Section 5.1,Memory aliasing :看上去逻辑一样,执行结果一样吗?
  2. CentOS 7.0下使用yum安装MySQL
  3. 单片机烧录软件编写_单片机技术系列之一:单片机概述
  4. boost::hana::drop_while用法的测试程序
  5. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...
  6. NET问答: 如果动态构建 Query 查询 EntityFramework
  7. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办
  8. makefile中的patsubst, wildcard, notdir
  9. HDS:聚焦未来的投资“冻结”
  10. TIME_WAIT和CLOSE_WAIT
  11. IT运维管理为重,从业务需求看网管系统的选择
  12. intouch负值显示0_17、定位的盒子居中显示
  13. 使用UML工具分析类图与类的关系-bouml(java和C++)
  14. 《进化——我们在互联网上奋斗的故事》一一1.9 职业素养中的品德细节
  15. Mac 10.12安装Windows远程桌面工具Microsoft Remote Desktop
  16. 51单片机定时器实现钟表(LCD1602显示)
  17. Python爬虫:爬取网站视频
  18. vue 倒计时 插件_vue+moment实现倒计时效果
  19. 论文发表如何选择期刊
  20. 微信小程序—刷脸实名认证

热门文章

  1. TFTP协议解析及C/C++代码实现
  2. js中join的用法
  3. 推荐贝塔斯曼书友会淘宝旗舰店
  4. python用re模块实现数学公式计算
  5. 43.自动获取汉子笔画
  6. 记录贴/阴阳师core loop
  7. ElasticSearch排序引起的all shards failed异常
  8. iOS程序模块化设计
  9. 汇编中esp和ebp在函数栈空间的保存和变化 call的参数和局部变量的关系详解
  10. 【TigerGraph】图在复杂制造业中的应用