logrotate linux 系统日志管理
logrotate简介
logrotate [-dv] [-f|--force] [-s|--state statefile] config_file ..
# logrotate --help
Usage: logrotate [OPTION...] <configfile>
-d, --debug Don't do anything, just test (implies -v) 不做实际处理,仅调试
-f, --force Force file rotation 强制执行,忽视参数要求
-m, --mail=command Command to send mail (instead of `/bin/mail') 发送mail
-s, --state=statefile Path of state file 查看状态文件
-v, --verbose Display messages during rotation 轮替一次,并显示轮替过程信息
--version Display version information 显示logrotate版本
-?, --help Show this help message
--usage Display brief usage message
/etc/logrotate.conf
/etc/logrotate.d
/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly 每周轮替一次
weekly
rotate 4
create
dateext
#compress
include /etc/logrotate.d
/var/log/wtmp { #轮替对象为/var/log/中的wtmp文件
monthly #每个月轮替一次
create 0664 root utmp #创建新的日志文件 权限 所属用户 所属组
minsize 1M #日志大小大于1M后才能参与轮替
rotate 1 #保留一个轮替日志文件
}
missingok #如果日志文件不存在,继续进行下一个操作,不报错
monthly
create 0600 root utmp
rotate 1
}
/etc/logrotate.d
/etc/logrotate.d如上面说到的,在logrotate配置中扮演一个目录的角色,通过logrotate.conf中的配置include /etc/logrotate.d将/etc/logrotate.d目录包含进来,即将该目录下的文件内容加入到轮替任务中。
这里先简单介绍一下该目录下的文件内容及其格式,后面再对具体案例进行分析。
格式
日志文件路径 ...{ #多个文件绝对路径路径可以用空格、换行分隔,
参数配置
}
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler #作用域:/var/log/目录下的cron、maillog、messages、secure和spooler文件
{
missingok
sharedscripts #作用域下文件存在至少有一个满足轮替条件的时候,完成轮替后执行一次postrotate内的脚本。
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
描述
daily
每天轮替一次
weekly
每周轮替一次
monthly
每月轮替一次
yearly
每年轮替一次
rotate
保留几个轮替日志文件
ifempty
不论日志是否空,都进行轮替
notifempty
若日志为空,则不进行轮替
create
旧日志文件轮替后创建新的日志文件
size
日志达到多少后进行rotate
minsize
文件容量一定要超过多少后才进行rotate
nocompress
轮替但不进行压缩
compress
压缩轮替文件
dateext
轮替旧日志文件时,文件名添加-%Y %m %d形式日期,可用dateformat选项扩展配置。
nodateext
旧日志文件不使用dateext扩展名,后面序数自增如"*.log.1"
dateformat
只允许%Y %m %d和%s指定符。注意:系统时钟需要设置到2001-09-09之后,%s才可以正确工作
sharedscripts
作用域下文件存在至少有一个满足轮替条件的时候,执行一次prerotate脚本和postrotate脚本。
prerotate/endscript
在轮替之前执行之间的命令,prerotate与endscript成对出现。
postrotate/endscript
在轮替之后执行之间的命令,postrotate与endscript成对出现。
olddir
将轮替的文件移至指定目录下
missingok
如果日志文件不存在,继续进行下一个操作,不报错
#/etc/logrotate.d/test
/test/log/*.log{
daily
rotate 2
size 1M
create
compress
missingok
dateext
olddir /test/rotate
}
例行性工作的简单配置使用
cron执行时会读取/etc/cron.d这个目录的所有文件,按照文件中的设置来定时执行任务。该目录下新增的文件后,无需再重启crond服务。这里只简单地介绍该种定时任务配置。
#格式
*(分钟) *(小时) *(天) *(月) *(周几) 用户 命令
# 若分钟位值为 *,表示0-59之间的任意有效值;
# 若分钟位值为 1,表示每小时的第1分钟;
# 若分钟位值为 */5,表示每5分钟
# 若分钟位值为10,20 表示每小时的第10分钟和第20分钟
# 若分钟位值为10-12 表示每小时的第10、11、12分钟
* */1 * * * root /usr/sbin/logrotate -v /etc/logrotate.d/test
monthly
rotate 12
create
dateext
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 12
}
monthly
create 0600 root utmp
rotate 12
}
monthly
create 0600 root utmp
rotate 12
}
monthly
create 0600 root utmp
rotate 12
}
monthly
create 0600 root utmp
rotate 12
}
# system-specific logs may be also be configured here.
#/etc/logrotate.d/log_cron (文件名log_cron)
* * * * 1 /usr/sbin/logrotate -fv /etc/logrotate.d/log_cron
monthly
dateext
create 0664 root utmp
rotate 12
}
monthly
dateext
create 0600 root utmp
rotate 12
}
monthly
dateext
create 0600 root utmp
rotate 12
}
monthly
dateext
create 0600 root utmp
rotate 12
}
monthly
dateext
create 0600 root utmp
rotate 12
}
logrotate linux 系统日志管理的更多相关文章
- :Linux 系统日志管理 日志转储
Linux日志服务器设置 使用“@IP:端口”或“@@IP:端口”的格式可以把日志发送到远程主机上. 假设需要管理几十台服务器,每天的重要工作就是查看这些服务器的日志,可是每台服务器单独登录,并且查看 ...
- Linux 系统日志管理 rsyslogd配置文件
rsyslogd配置文件 rsyslogd 服务是依赖其配置文件 /etc/rsyslog.conf 来确定哪个服务的什么等级的日志信息会被记录在哪个位置的.也就是说,日志服务的配置文件中主要定义了 ...
- Linux 系统日志管理
Linux rsyslogd服务及启动方法 在 CentOS 6.x 中,日志服务已经由 rsyslogd 取代了原先的 syslogd.Red Hat 公司认为 syslogd 已经不能满足工作中的 ...
- Linux系统日志管理
1.系统常用的日志(日志是用来记录重大事件的工具) /var/log/message 系统信息日志,包含错误信息等 /var/log/secure 系统登录日志 /var/l ...
- 【CentOS】Linux日常管理
/////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...
- Linux系统日志及日志分析
Linux系统日志及日志分析 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位 ...
- rsync 通过服务的方式同步 linux系统日志 screen工具
rsync 通过服务的方式同步 俩台机器传文件IP地址交叉编写. 主机1: 要编辑配置文件 /etc/rsyncd.conf rsyncd.conf样例 port=873 ...
- rsync通过服务同步、Linux系统日志、screen工具 使用介绍
第8周5月15日任务 课程内容: 10.32/10.33 rsync通过服务同步10.34 linux系统日志10.35 screen工具 扩展1. Linux日志文件总管logrotate http ...
- Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...
- linux 内存管理——内核的shmall 和shmmax 参数
内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...
随机推荐
- react ts 上传
public MessageObjectPO<UploadPO> OnPostUpload(UploadRO uploadRO) { var response = new MessageO ...
- redis+token实现一个账号只能一个人登录
自己在闲着没事的时候,突然想到了这么一个小功能,于是决定练习一下,首先想到的是如果一个账号只能一个人登录,可能会出现两个情况,一种是后登录者把前者的账号顶替掉,还有一种就是后者登录的时候会有提示当前账 ...
- Rsync等传统文件同步方式已过时 如何寻找替代产品?
Rsync原本是在Linux系统下面的一个文件同步协议,随着技术的发展,它也有其它版本的,如Windows和AIX.HPUX下面都有相应的版本可以支持的.它有很多版本都是免费的,配置也不复杂,所以很多 ...
- python中使用to_excel时如何不覆盖原有数据来新建sheet页
经常通过各种三方库操作Excel时,会遇到各种问题.这个库不支持这个方法,那个库支持但是又会丢失原来的数据....都是问题! . . . import openpyxl import pandas a ...
- golang基本数据类型
1.整形 默认整数类型为int 变量在选择时应遵循最小化原则 1.1 有符号(int) 类型 取值范围 占用空间(字节) int8 -2^7到 2^7-1 (-128到127) 1 int16 -2^ ...
- Dockerfile参考
From openjdk:8u252-jdkENV MEMORY_SIZE {{ MEMORY_SIZE | default (1024) }}MENV PROJECT_NAME {{PROJECT_ ...
- oracle 存储过程-动态行转列,解决。
包头 create or replace package pro_test as TYPE out_cursor IS REF CURSOR; procedure Alarm_ContentsByTi ...
- vue的表单
你可以用 v-model 指令在表单控件元素上创建双向数据绑定. 输入框 实例中演示了 input 和 textarea 元素中使用 v-model 实现双向数据绑定: <!DOCTYPE ht ...
- 目标检测yolov5检测火龙果
一.github官方网址 https://github.com/ultralytics/yolov5/tree/v6.1 二.labelme标记数据集: (1).进入虚拟环境 (2).pip inst ...
- RabbitMQ宕机了怎么办?
RabbiMQ宕机会导致消息丢失! 解决办法:可以做消息持久化. 非持久化消息:只有非持久化消息在RabbitMQ宕机时会发生消息丢失. 持久化消息:持久化的消息会在接收后被保存到磁盘中,所以Rabb ...