Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> 【PHP】HTTPDの溜まりきったログを一気に削除する方法

【PHP】HTTPDの溜まりきったログを一気に削除する方法


サーバー運用代行先で、スパム業者からのアクセスなどが原因で、HTTPDのログが大量生成され、サーバーダウンしてしまう・・・という、悪質な状況に悩まされていました。

ログを手動で解析したり、削除したりするのがめんどくさくなってきたので、自動で、過去ログを削除するプログラムをPHPで組みました。

なお、$pathを変更して、別のディレクトリに適用させたりすると、場合によっては一撃死したりするので、取り扱いには十分気を付けて下さい(爆)

access_logや、error_logなどのファイルは削除せずに、access_log-20141028などの、日付付きのファイルを削除するようにしています。

<?php
    $path = "/var/log/httpd/";
    $dirs = scandir($path);
    foreach($dirs as $dir){
        if($dir == "." || $dir == ".."){continue;}
        if(preg_match("/[0-9]/", $dir)){
            unlink($path.$dir);
            echo "deleted {$path}{$dir}.\n";
        }
    }
?>


あとは、crontabで、
0 0 * * * php /path/to/delete_log.php
みたいにしておけば、一日に一回、自動削除されます。

これで、安眠できる・・・。

この記事の最終更新日:2019/03/11
最初に記事を書いた日:2018/11/06

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> 【PHP】HTTPDの溜まりきったログを一気に削除する方法