logrotate

nginx logrotate 日志切割

為{幸葍}努か 提交于 2020-03-02 07:25:29
vim /etc/logrotate.d/nginx /home/wwwlogs/*nginx.log { daily rotate 5 missingok dateext compress notifempty sharedscripts postrotate [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript } /var/log/mysql/mysql.log /var/log/mysql/slow.log { daily rotate 30 #dateext compress missingok notifempty create 640 mysql mysql olddir /var/log/mysql_log_rotate sharedscripts postrotate # just if mysqld is really running if test -x /usr/local/mysql/bin/mysqladmin && \ /usr/local/mysql/bin/mysqladmin ping -uroot -proot -S /tmp/mysql.sock &>/dev/null then /usr/local/mysql/bin/mysqladmin

Linux下logrotate配置

扶醉桌前 提交于 2020-03-02 07:16:20
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件更名或删除,并创建新的日志文件,我们把它叫做“转储”。是个使日志轮替的程序,有了它就不用看着自己的日志体积一天天的变大,而可以根据你自己的需求来设定日志转储。 ubuntu下logrotate配置文件路径:/etc/logrotate.conf /etc/logrotate.d/ 下面放置自定义的一些配置文件 参数 功能 compress 通过gzip 压缩转储以后的日志 nocompress 不需要压缩时,用这个参数 copytruncate 用于还在打开中的日志文件,把当前日志备份并截断 nocopytruncate 备份日志文件但是不截断 create mode owner group 转储文件,使用指定的文件模式创建新的日志文件 nocreate 不建立新的日志文件 delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩 nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。 errors address 专储时的错误信息发送到指定的Email 地址 ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。 notifempty 如果是空文件的话,不转储 mail address 把转储的日志文件发送到指定的E

Nginx访问日志、日志不记录静态文件、日志切割

一世执手 提交于 2020-03-02 03:59:55
Nginx访问日志 日志的内容是通过编辑Nginx主配置文件来定义的。 日志的格式(显示在日志文件中的内容) log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; $remote_addr 客户端ip(公网ip) $http_x_forwarded_for 代理服务器ip $time_local 服务器本地时间 $host 访问主机名(域名) $request_uri 访问的url地址 $status 状态码 $http_referer 从哪个站点跳转到该站点的(直接访问该项为-) $http_user_agent 访问方式(通过XX浏览器,或curl方式访问) 自定义一个格式的日志test 为了试验效果,我们可以自定义一个日志格式,只记录客户端ip和状态码的日志格式test ,然后把这个格式应用到www.lcblog.com上去。 log_format test '$remote_addr $status' ; 应用到blog.abc.com.conf中 access_log /var/log/nginx/host

使用cron,logrotate来管理日志文件

喜你入骨 提交于 2020-03-01 04:08:55
1) logrotate配置 logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。 我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。 logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。 logrotate 的配置文件是 /etc/logrotate.conf 主要参数如下表: 参数 功能 compress 通过gzip 压缩转储以后的日志 nocompress 不需要压缩时,用这个参数 copytruncate 用于还在打开中的日志文件,把当前日志备份并截断 nocopytruncate 备份日志文件但是不截断 create mode owner group 转储文件,使用指定的文件模式创建新的日志文件 nocreate 不建立新的日志文件 delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩 nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。 errors address 专储时的错误信息发送到指定的Email 地址 ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。 notifempty 如果是空文件的话,不转储 mail

linux日志切割工具 logrotate

ぃ、小莉子 提交于 2020-03-01 03:44:56
centos-7.6系统默认安装logrotate,默认的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf:为主配置文件 logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、Tomcat...) 用于解决个别日志文件过大,不易清理及查看 以haproxy 为例 cat /etc/logrotate.d/haproxy /var/log/haproxy/haproxy.log { #文件绝对路径,nginx日志亦同上 daily #指定转储周期为每天 rotate 20 #保留20天的日志 missingok #如果日志文件丢失,不进行显示错误 notifempty #当日志文件为空时,不进行转储 dateext #加上日志格式 compress #通过gzip压缩转储后的日志 sharedscripts #转储完成后运行脚本,postrotate-endscript间为脚本内容,脚本效果为重启rsyslogd服务。 postrotate systemctl restart rsyslog.service endscript } 测试配置文件 logrotate -d /etc/logrotate.d/haproxy 该服务由anacron调用 anacron默认配置如下

day19:打印文档中只有一个数字的行|实习日记归档功能|统计一个网段内在线IP|检查脚本错误退出及编辑|随机数字按千分为输出

感情迁移 提交于 2020-02-29 22:07:32
1 、用shell脚本把一个文本文档中只有 一个数字的行 给打印处理;准备一下test.txt文件用来测试,内容如下: [root@localhost_001 ~]# cat test.txt aaa: 1 :abcde:sdfsd:sdfasd bbb: 22 :adsafsadfsdaf:sdafsd bbb: 2 : 233 : 3 sdfsdf 分析:既然要只有一个数字的行,也就是要针对每一行去逐行去处理,此处用到了for循环或者while分别处理每一行; 判断某行有一个数字,可以这样来实现: 过滤出 非0-9的内容替换为空 ,并统计字符长度; sed 's#[^0-9]##g'|wc -L [root@localhost_001 ~]# sed -n '1'p test.txt|sed 's#[^0-9]##g'|wc -L 1 [root@localhost_001 ~]# sed -n '2'p test.txt|sed 's#[^0-9]##g'|wc -L 2 [root@localhost_001 ~]# sed -n '3'p test.txt|sed 's#[^0-9]##g'|wc -L 5 首先统计出文件的行数, wc -l test.txt|awk '{print $1}' [root@localhost_001 ~]# wc -l test.txt

日志管理 —— 日志轮替

こ雲淡風輕ζ 提交于 2020-02-28 13:35:20
日志按天记录 + 仅保留最近一段时间的日志。 日志文件命名规则 在配置文件中加入 dateext 参数,实现日期作为文件后缀。 “secure-20130605” 如果配置文件中没有 dataext 参数,就会使用 数字后缀。 logrotate 配置文件 /etc/logrotate.conf 源码包的程序需要手工配置日志。 logrotate 命令 logrotate [ 选项 ] 配置文件名 选项 说明 -v 显示日志轮替过程 -f 强制进行日志轮替,不管日志轮替条件是否已经符合。 来源: CSDN 作者: Jia ming 链接: https://blog.csdn.net/weixin_39541632/article/details/104553799

Linux日志分析

做~自己de王妃 提交于 2020-02-28 03:48:30
1. Linux日志文件的类型 2. 系统服务日志 2.1 rsyslogd的简介 为了方便管理日志的记录,我们将会使用的rsyslogd服务。rsyslogd是一个提供日志记录的系统组件,它支持internet和UNIX域套接字,因此进而能够支持本地和远程的日志记录。rsyslogd能够为许多现代程序提供日志记录, 每条记录都包含一个时间戳字段、一个主机名字段以及一个程序名字段。 rsyslog可通过模板的方式来定义输出格式,关于rsyslog的配置我们将在下一节中再详细讨论。 此外,它还支持精确的时间戳并能够直接写入数据库, 如果使用了数据库选项,则可以使用phpLogCon之类的工具来查看日志数据。 2.2 rsyslog的配置和使用 rsyslog可以在通过查看和编辑/etc/rsyslog.conf来更改其配置。rsyslog.conf文件是rsyslogd的主要配置文件,所谓的配置其实就是日志记录的规则。我们首先来看一下rsyslog.conf中包含什么样的信息: authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uncp,news.crit /var/log/spooler local7.* /var/log/boot.log

基于logrotate进行自动化日志切割、日志压缩和周期删除

我只是一个虾纸丫 提交于 2020-02-27 16:09:46
前言 这篇博文以课程课件为蓝本来探讨logrotate和自动化日志处理的一系列课题,细节和深层次原理部分略有删减, 是一篇被课程耽误了的技术博文。 既然谈的很直白,是一篇被课程耽误了的技术博文,如若有打着博客做引导或者拿着开源工具不开源之类的讨伐和道德绑架,恕不回复。 这里是分割线,不废话了,直接切入正文,对课程有兴趣,想深入理解logrotate的朋友可以关注文末课程介绍:) 1.日志切割的概念、必要性和基本思路 1.1 什么是日志切割 日志切割是指当应用或系统的日志文件达到设定的触发条件(如按照一定的时间周期:每天,按照大小:500MB),对其进行切割/分割处理,类似截断处理,把原本容量比较大的日志文件“劫走”转存为另外一个日志文件留存归档,这一刻之后产生的日志,继续输出到文件头被重置为0的日志文件中。 变化的部分 :日志文件的容量(瘦身变小),日志文件的个数(多出一份被切割下的历史日志) 不变的部分 :日志文件名不变 此外,一段时间后,我们还需要删除时间久远的日志文件,整个过程也被俗称为日志滚动(log rotation)。 1.2 为什么要进行日志切割 在线应用(包括操作系统)在长期运行过程中,会产生很多过程日志记录,通常是应用程序记录的一些对系统管理员或者程序开发者有用的信息的文件,诸如正在执行什么、发生了什么错误等一系列信息。 随着日志记录的不断积累,日志文件越来越大

logroate的使用

那年仲夏 提交于 2020-02-27 14:08:37
lograte配置参数 daily 指定转储周期为每天 weekly 指定转储周期为每周 monthly 指定转储周期为每月 rotate 转储次数,超过将会删除最老的那一个 missingok 忽略错误,如“日志文件无法找到”的错误提示 dateext 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期 dateformat -%Y%m%d%s #配合dateext 一起使用,修改后缀格式 compress 通过gzip 压缩转储旧的日志 delaycompress 当前转储的日志文件到下一次转储时才压缩 notifempty 如果日志文件为空,不执行切割 sharedscripts 只为整个日志组运行一次的脚本 prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行 postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行 size  size当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem). 以nginx日志为例子 cat /etc/logroate.d/nginx /data/logs/nginx/*.log { su root root #切换用户 daily #按天执行 rotate