linux(centos8):用apache的rotatelogs做nohup的日志切分
2023-09-14 08:59:32 时间
一,为什么使用rotatelogs做日志切分?
1,什么是roatelogs?
rotatelogs是apache提供的日志滚动切分的工具
官方文档:
https://httpd.apache.org/docs/2.4/programs/rotatelogs.html
2,日志切分的方法:
可以复制文件内容后然后把当前日志文件置空
可以使用linux自带的logrotate服务
可以使用通过管道进行日志处理的工具进行日志切分( cronolog,rotatelogs)
cronolog已经多年没有维护过了,
我们使用apache官方出品的rotatelogs来进行日志的切分
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,安装rotatelogs
1,用dnf安装即可:
[root@blog tools]# dnf install httpd
说明:rotatelogs命令被包含在httpd这个包当中
2,查看已安装的效果:
[root@blog ~]# whereis rotatelogs rotatelogs: /usr/sbin/rotatelogs /usr/share/man/man8/rotatelogs.8.gz
3,查看rotatelogs命令的版本:
因为没有提供查看版本的选项,只可以查看它所属的httpd包的版本:
[root@blog ~]# /usr/sbin/httpd -v Server version: Apache/2.4.37 (centos) Server built: Sep 15 2020 15:41:16
4,查看rotatelogs命令的手册:
[root@blog ~]# man rotatelogs
查看rotatelogs命令的帮助:
[root@blog ~]# rotatelogs --help
三,rotelogs的使用举例:
1,每1分钟生成一个日志文件:
# | /usr/sbin/rotatelogs 指定 rotatelogs程序文件的路径,注意和nohup命令中间用了管道符连接
# /data/nohup.%Y-%m-%d-%H_%M_%S.log : 这个是我们指定的日志文件,文件名中包含了年月日时分秒
#60 :切换日志文件的时间间隔,单位是秒,我们这里指定为1分钟
#480 :相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。我们位于UTC时差为8小时的地区的当地时间,则此参数应为480分钟
[root@blog tools]# nohup /usr/local/soft/jdk-15/bin/java -jar /data/java/jar/web-0.0.1-SNAPSHOT.jar --spring.profiles.active=prd 2>&1 | /usr/sbin/rotatelogs /data/nohup.%Y-%m-%d-%H_%M_%S.log 60 480 &
查看生成的日志文件:
[root@blog ~]# ll /data/nohup.2020-10-26-* -rw-r--r-- 1 root root 15644 Oct 26 16:08 /data/nohup.2020-10-26-08_08_00 -rw-r--r-- 1 root root 443 Oct 26 16:09 /data/nohup.2020-10-26-08_09_00 -rw-r--r-- 1 root root 5514 Oct 26 16:09 /data/nohup.2020-10-26-16_09_00 -rw-r--r-- 1 root root 7467 Oct 26 16:10 /data/nohup.2020-10-26-16_10_00
2,每50M生成一个日志文件:
#50M:文件发生滚动分割时的大小
[root@blog tools]# nohup /usr/local/soft/jdk-15/bin/java -jar /data/java/jar/web-0.0.1-SNAPSHOT.jar --spring.profiles.active=prd 2>&1 | /usr/sbin/rotatelogs /data/nohup.%Y-%m-%d-%H_%M_%S 50M 480 &
3,手册中提供的命令语法:
rotatelogs [ -l ] [ -L linkname ] [ -p program ] [ -f ] [ -D ] [ -t ] [ -v ] [ -e ] [ -c ] [ -n number-of-files ] logfile rotationtime|filesize(B|K|M|G) [ offset ]
四,一个nohup日志切分的例子:
每天生成一个日志文件,这是较常用的做法:
1,bash脚本:
[root@blog ~]# more /data/java/tools/startadmin.sh #!/bin/bash export BUILD_ID=dontKillme WORKSPACE=/data/java/jar JDK_PATH=/usr/local/soft/jdk-15/bin/java JAR_NAME=web-0.0.1-SNAPSHOT.jar PID=`ps -ef | grep ${JAR_NAME} | grep -v grep | grep -v startup | awk '{print \$2}'` echo $PID; if [ ! "$PID" ] ;then echo "进程不存在" else echo "进程存在,杀死进程PID$PID" kill -9 $PID fi echo "服务启动开始" nohup ${JDK_PATH} -jar ${WORKSPACE}/${JAR_NAME} --spring.profiles.active=prd 2>&1 | /usr/sbin/rotatelogs /data/merchant/logs/run_%Y%m%d.log 86400 480 &
2,查看生成的日志:
[root@blog ~]# ll /data/merchant/logs/run_* -rw-r--r-- 1 root root 5514 Oct 26 16:55 /data/merchant/logs/run_20201026.log
五,查看centos的版本:
[root@blog liuhongdi]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
相关文章
- PHP压力测试使用apache的ab工具和Linux的time命令
- Apache系列:Centos7.2下安装与配置apache
- [Linux]linux如何把文件切成多块
- Linux下apache+php+mysql搭建配置记录
- Linux下同步工具inotify+rsync使用详解
- centos下yum搭建安装linux+apache+mysql+php环境
- Linux内核知识
- [Linux] Apache Gateway Timeout
- Linux学习笔记
- linux(centos8):用apache的rotatelogs做nohup的日志切分
- [Go] golang 执行 Linux 系统 command
- Atitit. 软件GUI按钮与仪表盘--web服务器区--获取apache配置文件路径 linux and apache的启动、停止、重启
- linux利用grep查看打印匹配的下几行或前后几行的命令
- 【Linux 内核 内存管理】Linux 内核堆内存管理 ② ( 动态分配堆内存方式 | brk 系统调用 | mmap 系统调用 | brk 系统调用源码介绍 )
- 【Linux 内核】调度器 ⑧ ( 进程优先级源码 includelinuxschedprio.h | 进程分类 | 实时进程 | 普通进程 | 进程优先级数值 | 0 ~ 99 实时进程 )
- 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )
- Linux命令: 在线使用linux命令环境
- Linux中rz和sz命令用法详解
- Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
- 【Linux】linux经常使用基本命令
- linux下gimp的使用
- L44.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- su和visudo
- L1.linux命令每日一练 -- 第一章 Linux命令行简介
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- Linux之旅(1): diff, patch和quilt (下)
- 『学了就忘』Linux基础 — UNIX系统介绍
- 74:应急响应-win&linux分析后门&勒索病毒&攻击 ==》暴力破解攻击成功的在4624的eventID里!PChunter可查看非系统的可疑启动项/服务/定时任务,还是很直观的!Linux下gscan也不错,EDR可参考。
- docker linux下配置加速器
- 周立功arm linux教程,极速搭建周立功IMX287A ARM Linux开发环境
- Linux目录结构