使用 logrotate 删除空文件

使用 logrotate 删除空文件

我在用对数旋转每天压缩日志,并删除超过 30 天的压缩日志文件。这是我的 logrotate 脚本:-

/var/www/html/application/logs/*.php
{
    daily
    missingok
    rotate 0
    maxage 30
    compress
    notifempty   
    dateext
}

我正在创建单独的文件来记录每天的 PHP 错误。这意味着每天开始时都会创建一个日志文件来存储当天的 PHP 日志。

这是目录详细信息:-

 -rw-rw-rw- 1 root   root       0 Dec 17  2015 log-2015-12-16.php
 -rw-rw-rw- 1 root   root     243 Dec 17  2015 log-2015-12-16.php-20151217.gz
 -rw-rw-rw- 1 root   root       0 Dec 18  2015 log-2015-12-17.php
 -rw-rw-rw- 1 root   root     243 Dec 18  2015 log-2015-12-17.php-20151218.gz
 -rw-rw-rw- 1 root   root       0 Dec 19  2015 log-2015-12-18.php

 -----
 -----

 -rw-r--r-- 1 root   root    1410 Aug 17 03:14 log-2016-08-16.php-20160817.gz
 -rw-r--r-- 1 root   root       0 Aug 18 04:21 log-2016-08-17.php
 -rw-r--r-- 1 root   root    1404 Aug 18 04:21 log-2016-08-17.php-20160818.gz
 -rw-r--r-- 1 root   root       0 Aug 19 04:28 log-2016-08-18.php
 -rw-r--r-- 1 root   root    1390 Aug 19 04:28 log-2016-08-18.php-20160819.gz
 -rw-r--r-- 1 root   root       0 Aug 20 03:34 log-2016-08-19.php
 -rw-r--r-- 1 root   root    1446 Aug 20 03:34 log-2016-08-19.php-20160820.gz
 -rw-r--r-- 1 root   root       0 Aug 21 03:37 log-2016-08-20.php
 -rw-r--r-- 1 root   root    1329 Aug 21 03:37 log-2016-08-20.php-20160821.gz
 -rw-r--r-- 1 root   root       0 Aug 22 03:27 log-2016-08-21.php
 -rw-r--r-- 1 root   root    1358 Aug 22 03:27 log-2016-08-21.php-20160822.gz
 -rw-r--r-- 1 root   root       0 Aug 23 03:37 log-2016-08-22.php
 -rw-r--r-- 1 root   root    1400 Aug 23 03:37 log-2016-08-22.php-20160823.gz
 -rw-r--r-- 1 root   root       0 Aug 24 03:27 log-2016-08-23.php
 -rw-r--r-- 1 root   root    1369 Aug 24 03:27 log-2016-08-23.php-20160824.gz
 -rw-r--r-- 1 root   root       0 Aug 25 03:24 log-2016-08-24.php
 -rw-r--r-- 1 root   root    1335 Aug 25 03:24 log-2016-08-24.php-20160825.gz
 -rw-r--r-- 1 root   root   27399 Aug 25 23:01 log-2016-08-25.php
 -rw-r--r-- 1 root   root    3426 Aug 26 02:06 log-2016-08-26.php

请注意,我们还有空的 php 文件,在创建自己的压缩文件后应将其删除,并且在下一次循环时,如果任何压缩文件超过 30 天,则也应将其删除。

我无法找到此 logrotate 脚本上的错误。您能否给出我遗漏或做错的解决方案。

答案1

在/etc/logrotate.d/中创建了一个文件“apache”

/usr/local/apache/logs/*log {
 daily
 rotate 52
 compress
 missingok
 notifempty
 sharedscripts
 postrotate
        /usr/local/apache/bin/apachectl restart > /dev/null 2>/dev/null || true
 endscript
}

相关内容