linux日志怎么进行转储,Linux logrotate命令用法详解:进行日志转储(轮替)
日志轮替之所以可以在指定的时间备份日志,是因为其依赖系统定时任务。如果大家还记得 /etc/cron.daily/ 目录,就会发现这个目录中是有 logrotate 文件的,查看一下这个文件,命令如下:
[root@localhost ~]# vi /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
#最主要的就是执行了logrotate命令
EXITVALUE=$?
if [ $EXITVALUE!= 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
也就是说,系统每天都会执行 /etc/cron.daily/logrotate 文件,运行这个文件中的“/usr/sbin/logrotate/etc/logrotate.conf>/dev/null 2>&1”命令。logrotate 命令会依据 /etc/logrotate.conf 配置文件的配置,来判断配置文件中的日志是否符合日志轮替的条件(比如,日志备份时间已经满一周),如果符合,日志就会进行轮替。所以说,日志轮替还是由 crond 服务发起的。
logrotate 命令的格式是什么样的呢?我们来学习一下。
[root@localhost ~]# logrotate [选项] 配置文件名
选项:
如果此命令没有选项,则会按照配置文件中的条件进行日志轮替
-v:显示日志轮替过程。加入了-v选项,会显示日志的轮替过程
-f: 强制进行日志轮替。不管日志轮替的条件是否符合,强制配置文件中所有的日志进行轮替
我们执行 logrotate 命令,并查看一下执行过程。
[root@localhost ~]# logrotate -v /etc/logrotate.conf
#查看日志轮替的流程
…省略部分输出…
rotating pattern:/var/log/alert.log weekly (6 rotations)
#这就是我们自己加入轮替的alert.log日志
empty log files are rotated, old logs are removed
considering log /var/log/alert.log
log does not need rotating
#时间不够一周,所以不进行日志轮替
…省略部分输出…
我们发现,/var/log/alert.log 加入了日志轮替,已经被 logrotate 识别并调用了,只是时间没有达到轮替的标准,所以没有进行轮替。那我们强制进行一次日志轮替,看看会有什么结果。
[root@localhost ~]# logrotate -vf /etc/logrotate.conf
#强制进行日志轮替,不管是否符合轮替条件
…省略部分输出…
rotating pattern:/var/log/alert.log forced from command line (6 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/alert.log
log needs rotating
#日志需要轮替
rotating log /var/log/alert.log,log->rotateCount is 6
dateext suffix '-20130607'
#提取日期参数
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
running prerotate script
fscreate context set to unconfined_u:object_r:var_log_t:s0
renaming /var/log/alert.log to /var/log/alert.log-20130607
#旧的日志被重命名
creating new /var/log/alert.log mode = 0600 uid = 0 gid = 0
#创建新日志文件,同时指定权限、所有者和属组
running postrotate script
…省略部分输出…
我们发现,alert.log 日志已经完成了日志轮替。查看一下新生成的日志和旧日志,如下:
[root@localhost ~]# ll /var/log/alert.log*
-rw-------.1 root root 0 6月 7 10:07 /var/log/alert.log
-rw-------.1 root root 237 6月 7 09:58 /var/log/alert.log-20130607
#旧的日志文件已经轮替
[root@localhost ~]# lsattr /var/log/alert.log
-----a-------e- /var/log/alert.log
#新的日志文件被自动加入了chattr的a属性
logrotate 命令在使用“-f”选项之后,就会不管日志是否符合轮替条件,而强制把所有的日志都进行轮替。
linux日志怎么进行转储,Linux logrotate命令用法详解:进行日志转储(轮替)相关推荐
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- linux 指令tftp传输文件_Linux tftp 命令用法详解-Linux命令大全(手册)
tftp 在本机和tftp服务器之间使用TFTP协议传输文件 补充说明 tftp命令 用在本机和tftp服务器之间使用TFTP协议传输文件. TFTP是用来下载远程文件的最简单网络协议,它其于UDP协 ...
- linux教程 sed命令的用法,Linux基础教程之文件三剑客sed命令用法详解
sed是一种流编辑器,它是文本处理中非常强大的工具,能够完美的配合正则表达式使用,用法简单实用,非常灵活. 工作原理:sed命令处理文本时,把当前处理的行存储在一个临时缓冲区中,称为"模式空 ...
- linux bin fuser,Linux中fuser命令用法详解
描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...
- linux中用less命令,Linux less 命令用法详解
原标题:Linux less 命令用法详解 less 是一个Linux命令行实用程序,用于显示文件或命令输出的内容,它一次只显示一个页面.它类似于 more ,但具有更高级的功能,允许您在文件中向前和 ...
- linux为什么用tar压缩,linux下tar压缩和解压命令用法详解
linux下tar压缩和解压命令用法详解 2017-03-25 14:06 分享人:老牛 将/usr/local/test目录下所有文件仅打包,不压缩到 /usr/local/auto_bak/目下 ...
- linux中cat、more、less命令区别详解
linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...
- Linux下find命令用法详解
Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...
- 【Linux】Linux中rz和sz命令用法详解
[Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...
最新文章
- java中刷新页面的js,[Java教程]js页面刷新之实现框架内外刷新(整体、局部)
- 面对滚滚而来好政策 安防行业该如何发展
- JavaScript实现prim普里姆算法(附完整源码)
- oracle文件管理
- 通向架构师的道路(第十二天)之Axis2 Web Service(三)
- ABAP Netweaver Webcontent path的determine逻辑
- mysql怎么回复.from的数据库_mysql怎么回复.from的数据库
- python中复选框取消修改_python – 如何在PySide / PyQt中设置“只读复选框”
- linux 定时执行搅拌,Linux上定时shell脚本
- SpringBoot邮件服务
- 大部分人其实根本就不上进,他们只是表现的很努力
- 半深入理解CSS3 object-position/object-fit属性
- silverlight DataPager控件
- mysql强制安装参数_Mysql编译安装参数优化
- vmware中修改虚拟机MAC地址的方法!
- 基于CarMaker的C-NCAP主动安全系统试验仿真(二)
- bim 水利枢纽 运维_BIM——运维专篇
- All-Pay Contests(博弈论+机制设计) 论文阅读笔记
- 全国哀悼日 灰色CSS滤镜
- 可编程式坐标--单位圆坐标
热门文章
- RuntimeWarning:Glyph 21435 missing from current font.
- 通过mrtrix3进行概率纤维追踪+核磁共振影像数据处理
- 社交媒体分析-恶意内容自动检测相关论文
- 服务器连接超时不响应怎么回事,勇者斗恶龙x服务器没有响应连接超时解决方法...
- Ubuntu 18.04 配置 国内 apt-get 换源
- 13.最为经典的动态规划入门
- 大数据分布式集群搭建(9)
- 图像去噪--Noise2Noise: Learning Image Restoration without Clean Data
- struts2中使用json遇到的问题总结及示例程序
- mysql localhost无法登陆_MySQL 'root'@'localhost'无法登录