빈 파일을 삭제하려면 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

또한 자체 zip 파일을 생성한 후 삭제해야 하는 빈 PHP 파일도 있으며, 다음 주기에서 30일보다 오래된 zip 파일도 삭제해야 합니다.

이 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
}

관련 정보