node日志管理 / pm2-logrotate-ext日志管理
本篇文章说的是,如何使用pm2管理node项目的日志输出(切割和备份),文章步骤是基于已经安装了pm2的前提下,没有的,请自行百度。
第一步:需要登录公司服务器,查看一下目前服务器保存的所有日志(用于跟后面的效果对比),执行命令 pm2 logs 可以查看。
第二步:安装pm2日志切割管理工具(工具是pm2-logrotate的扩展),执行命令:pm2 install pm2-logrotate-ext
第三步:安装好后会自动重启生效,可以执行命令设置如下参数,设置好参数后也会自动重启
pm2 set pm2-logrotate-ext:retain //保存7个文件
pm2 set pm2-logrotate-ext:compress false //是否启动压缩
pm2 set pm2-logrotate-ext:dateFormat YYYY-MM-DD_HH-mm-ss //日志名添加时间
pm2 set pm2-logrotate-ext:rotateInterval '0 0 * * * ' //每天凌晨0点启动备份
pm2 set pm2-logrotate-ext:rotateModule true //把pm2本身的日志也进行分割
pm2 set pm2-logrotate-ext:max_size 100M //每个备份文件大小为100M
pm2 set pm2-logrotate-ext:workerInterval 5 //设置启动几个工作进程监控日志尺寸,默认30,这里设置为5
pm2 set pm2-logrotate-ext:retain 30 //保存30个备份日志文件,超过30个,会把之前的删掉,防止日志总体体积越来越大
第四步骤,执行好之后可以查看当前的设置:pm2 conf pm2-logrotate-ext
第五步骤:之前的日志如果不需要了,可以使用命令:pm2 flush,可以不重启项目删除日志。可以自行修改参数检验备份结果。
我只设置了上面参数中标红的项,其它项保留了默认配置,
最终效果是:如果当日某个项目的日志文件超过了设定的大小,这里为100M,那么会自动切割备份当日文件,如果未超过,则会在每日0点的时候启动备份,当然备份的前提是有新日志输出,没有新日志输出不会备份。一共会为每个项目保存30个备份日志。
这就是我的node项目日志管理,如果有其它的好的建议,可以留言分享一下。
node日志管理 / pm2-logrotate-ext日志管理的更多相关文章
- node工具之pm2
pm2 PM2是带有内置负载平衡器的Node.js应用程序的生产过程管理器.它使您可以使应用程序永远保持活动状态,无需停机即可重新加载它们,并简化常见的系统管理任务. 安装 npm install p ...
- 日志管理工具logrotate
工作所需,需要管理脚本的打印日志,百度一圈,发现了logrotate这款工具,经测试确实挺好的! 话不多说,直接上重点,以便于以后需要时查看 命令: whereis logrotate 可以看到log ...
- SQL Server中的事务日志管理(6/9):大容量日志恢复模式里的日志管理
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- fitnesse - 用例创建编辑、管理、执行和日志
fitnesse - 用例创建编辑.管理.执行和日志 2017-10-09 目录 1 用例创建编辑 1.1 用例创建 1.2 用例编辑2 用例管理3 用例测试执行和日志 3.1 用例测试执行 ...
- 关于spring 事务 和 AOP 管理事务和打印日志问题
关于spring 事务 和 AOP 管理事务和打印日志问题 1. 就是支持事务注解的(@Transactional) . 可以在server层总使用@Transactional,进行方法内的事务管 ...
- Linux centosVMware LAMP php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
一.php-fpm的pool vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加 include = etc/php-fpm.d/*.conf mkd ...
- 循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
在一个系统的权限管理模块中,一般都需要跟踪一些具体的日志,ABP框架的系统的日志管理,包括登录日志.接口访问日志.实体变化历史日志,本篇随笔介绍ABP框架中这些日志的管理和界面处理. 1.系统登录日志 ...
- SpringBoot | 第二十四章:日志管理之AOP统一日志
前言 上一章节,介绍了目前开发中常见的log4j2及logback日志框架的整合知识.在很多时候,我们在开发一个系统时,不管出于何种考虑,比如是审计要求,或者防抵赖,还是保留操作痕迹的角度,一般都会有 ...
- nginx日志切割(logrotate或shell脚本)
nginx自己不会对日志文件进行切割,可以通过两种不同的方式进行,分别是:通过logrotate和通过shell脚本. 如果是yum方式安装的nginx,系统默认会自动通过logrotate这个日志管 ...
- 转载blog_Linux下Tomcat日志定期清理 及 logrotate 配置
服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是想起来的时候手工清理一下(cat /dev/null > catalina.out),后来发现了log ...
随机推荐
- TKCTF-学校内部的校赛
*Reverse easy_C easy_re1.exe 在网络百度到解决逆向需要用到软件IDA 然后用IDA打开一条条的找我找到了一条很怪的ZmxhZ3s1ZWU1ZjYyOC1mMzVhLTQxN ...
- three.js 几何体(二)
上一篇简单的介绍了几何体的构造体参数,这一篇郭先生就更加详细的说一说(十分简单的几何体我就不说了). 1. ShapeGeometry形状几何体 形状几何体方便我们从一个或多个路径形状中创建一个单面多 ...
- CTFHub_技能树_信息泄露
常用备份文件名: www.zip bak文件 在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容 以 ind ...
- node+express4+multiparty实现简单文件上传
文件上传 var fs = require('fs'); var express = require('express'); var multiparty = require('multiparty' ...
- Python之爬虫(十四) Scrapy框架的架构和原理
这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的在python3上运行Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是 ...
- python 面向对象专题(五):私有成员、类方法、静态方法、属性、isinstance/issubclass
https://www.cnblogs.com/liubing8/p/11325421.html 目录 Python面向对象05 /私有成员.类方法.静态方法.属性.isinstance/issubc ...
- cmake安装使用
1.安装命令: yum install -y gcc gcc-c++ make automake wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2 ...
- redis入门指南(三)—— 事务、过期时间、SORT命令、消息通知与管道
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 事务 1.redis中的事务由一组命令的集合组成,要么都执行,要么都不执行,同时redis的事务 ...
- Docker基础使用
Docker篇 CentOS 安装Docker - 菜鸟教程 安装须知: 1.Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更 ...
- Ubuntu虚拟机设置共享文件夹
Ubuntu虚拟机设置共享文件夹 注:个人笔记,小白笔记. 点击设置 进入到Ubuntu 中 cd /mnt/hgfs/ 后 我们会看到自己设置的共享文件夹.