小编典典

Centos / Linux设置logrotate为所有日志的最大文件大小

linux

我们使用logrotate并每天运行一次…现在,在某些情况下,日志已经显着增长(请参阅:gigbaytes)并杀死了我们的服务器。所以现在我们想为日志设置最大文件大小。

我可以将其添加到logrotate.conf吗?

大小50M

它将适用于所有日志文件吗?还是我需要在每个日志的基础上进行设置?

或其他建议?

(ps。我知道,如果您想收到通知,日志会像所描述的那样增长,而我们想要做的事情并不理想-但这总比无法登录好,因为没有可用空间了)

谢谢,肖恩


阅读 1685

收藏
2020-06-07

共1个答案

小编典典

它指定要触发轮换的 日志文件 的大小。例如,size 50M一旦文件大小为50MB或更大,将触发日志轮换。您可以将后缀M用于兆字节,k千字节和G千兆字节。如果不使用后缀,则将其表示为字节。您可以在最后检查示例。有三个指令可用sizemaxsizeminsize。根据手册页

minsize size
              Log  files  are  rotated when they grow bigger than size bytes,
              but not before the additionally specified time interval (daily,
              weekly,  monthly, or yearly).  The related size option is simi-
              lar except that it is mutually exclusive with the time interval
              options,  and  it causes log files to be rotated without regard
              for the last rotation time.  When minsize  is  used,  both  the
              size and timestamp of a log file are considered.

size size
              Log files are rotated only if they grow bigger then size bytes.
              If size is followed by k, the size is assumed to  be  in  kilo-
              bytes.  If the M is used, the size is in megabytes, and if G is
              used, the size is in gigabytes. So size 100,  size  100k,  size
              100M and size 100G are all valid.
maxsize size
              Log files are rotated when they grow bigger than size bytes even before
              the additionally specified time interval (daily, weekly, monthly, 
              or yearly).  The related size option is  similar  except  that  it 
              is mutually exclusive with the time interval options, and it causes
              log files to be rotated without regard for the last rotation time.  
              When maxsize is used, both the size and timestamp of a log file are                  
              considered.

这是一个例子:

"/var/log/httpd/access.log" /var/log/httpd/error.log {
           rotate 5
           mail www@my.org
           size 100k
           sharedscripts
           postrotate
               /usr/bin/killall -HUP httpd
           endscript
       }

这是文件/var/log/httpd/access.log和的说明/var/log/httpd/error.log。每当大小超过100k时,它们都会旋转一次,并且www@my.org经过5次旋转后会将旧日志文件邮寄(未压缩)到,而不是将其删除。这sharedscripts意味着该postrotate脚本将只运行一次(在压缩旧日志之后),而不是为每个循环日志运行一次。请注意,在本节的开头,第一个文件名周围的双引号允许logrotate旋转名称中带有空格的日志。会使用普通的shell引用规则,并带有,\字符。

2020-06-07