空のファイルを削除するには、logrotateを使用してください。

空のファイルを削除するには、logrotateを使用してください。

使っていますログの回転ログは毎日圧縮され、30日後の圧縮ログファイルは削除されます。私のlogrotateスクリプトは次のとおりです。

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

私は毎日PHPエラーを記録するために別々のファイルを作成しています。つまり、1日の開始時にその日付の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
}

関連情報