<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>logrotate日志切割 &#8211; moneyslow.com</title>
	<atom:link href="https://moneyslow.com/tag/logrotate%e6%97%a5%e5%bf%97%e5%88%87%e5%89%b2/feed" rel="self" type="application/rss+xml" />
	<link>https://moneyslow.com</link>
	<description>making money with technology</description>
	<lastBuildDate>Mon, 12 Jul 2021 10:27:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.5</generator>
	<item>
		<title>在Linux Centos7下，如何定时对日志文件进行切割？</title>
		<link>https://moneyslow.com/%e5%9c%a8linux-centos7%e4%b8%8b%ef%bc%8c%e5%a6%82%e4%bd%95%e5%ae%9a%e6%97%b6%e5%af%b9%e6%97%a5%e5%bf%97%e6%96%87%e4%bb%b6%e8%bf%9b%e8%a1%8c%e5%88%87%e5%89%b2%ef%bc%9f.html</link>
		
		<dc:creator><![CDATA[moneyslow]]></dc:creator>
		<pubDate>Thu, 03 Jun 2021 07:24:39 +0000</pubDate>
				<category><![CDATA[newest]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[centos7]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logrotate日志切割]]></category>
		<guid isPermaLink="false">https://moneyslow.com/?p=13280</guid>

					<description><![CDATA[使用logrotate通用方法来切割日志：(1).logrotate的配置文件logrotate配置文件主要在两个地方：/etc/logrotate.conf以及/etc/logrotate.d/下的明细配置文件。其中/etc/logrotate.conf文件是主配置文件，/etc/logrotate.d/下的明细配置文件都会被读入/etc/logrotate.conf进行执行，所以请注意这里还涉及到了公有变量和私有变量。 logrotate的执行是由crond服务来调用的，其脚本是/etc/cron.daily/logrotate，每天自动执行。我们可以看一下脚本具体内容： [root@moneyslow.com ~]# cat /etc/cron.daily/logrotate#!/bin/sh/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.confEXITVALUE=$?if [ $EXITVALUE != 0 ]; then/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"fiexit 0简单的说明：/usr/sbin/logrotate工具调用了/var/lib/logrotate/logrotate.status和/etc/logrotate.conf两个文件。然后将执行的结果（就是那个$?，成功为0，不成功为非0）进行判断，非0时执行/usr/bin/logger命令。最后退出。看完定时计划任务，我们再来看主配置文件/etc/logrotate.conf（也就是公有变量）。具体内容如下：[root@moneyslow.com ~]# grep -vE "^$&#124;^#" /etc/logrotate.conf weekly　　//每周一次rotate（翻译是旋转，其实就是切割）rotate 4　　//保留4份切割文件，多余删除，不计算新建日志文件create　　//结束后创建一个新的空白日志文件dateext　　//用日期作为切切割文件的后缀include /etc/logrotate.d　　//将/etc/logrotate.d目录下的文件都加载进来（全都执行）/var/log/wtmp {　　//仅针对/var/log/wtmp文件monthly　　//每月执行一次create 0664 root utmp　　//结束后创建新的空白日志，权限0664，所有者root，所属组utmpminsize 1M　　//切割文件最少需要1M，否则不执行rotate 1　　//保留1份，多余删除，不计算新建日志文件}/var/log/btmp {　　//仅针对/var/log/btmpmissingok　　//丢失不报错monthly　　//每月执行一次create 0600 root utmp　　//结束后创建新的空白日志，权限0600，所有者root，所属组utmprotate 1　　//保留1份，多余删除，不计算新建日志文件}配置文件参数说明：missingok　　日志切割期间产生错误将被忽略（如果日志丢失，不报错继续切割）daily、weekly、monthly、yearly　　每天、每周、每月、每年执行create MODE OWNER GROUP　　切割后指定创建新的空白文件的属性nocreate　　不建立新的日志文件rotate N　　保留N份，多余删除，不计算新建日志文件dateext　　用当前日期作为后缀命名格式（默认年月日）dateformat .%s　　配合dateext使用，紧跟在下一行出现，定义切割后的文件名，只支持%Y，%m，%d，%ssize/minsize　　达到指定大小才会切割，默认单位bytes，还可以是KB和MBcompress　　切割结束后，归档并使用gzip格式压缩nocompress　　解除compress参数delaycompress　　总是与compress参数一起使用，指示logrotate不要将最近的归档压缩，压缩将在下一次切割进行。nodelaycompress　　解除delaycompress参数ifempty　　即使日志为空，也执行切割notifempty　　如果日志为空，切割不执行prerotate/endscript　　在所有其他指令之前执行prerotate和endscript之间的命令。postrotate/endscript　　在所有其他指令完成后，postrotate和endscript之间的命令将被执行。sharescripts　　所有日志切割后统一执行一次脚本，如果没有配置该参数，则每个日志切割后都会执行一次脚本。errors ADDRESS　　切割时的错误信息发送到指定的Emial地址mail ADDRESS　　切割日志发送到指定的Email地址nomail　　切割日志不发送邮件olddir DIRECTORY　　切割后的日志文件放入指定目录，必须与当前日志处在同一文件系统noolddir　　切割后的日志文件与当前文件放在同一目录下copytruncate　　用于还在打开中的日志文件，把当前日志备份并截断；先拷贝后清空，可能丢失部分日志nocopytruncate　　备份日志文件，但不截断。(2).查看上次切割日志时间/var/lib/logrotate/logrotate.status中默认记录logrotate上次切割日志文件的时间 [root@moneyslow.com logrotate]# cat /var/lib/logrotate/logrotate.statuslogrotate state [&#8230;]]]></description>
		
		
		
			</item>
	</channel>
</rss>
