我在用对数旋转每天压缩日志,并删除超过 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
}