Squid はユーザーのサイト訪問ログを生成します。/var/squid/logs/access.log
6か月以上経過したアイテムを削除したいと思います。
私は毎週このスクリプトを実行します。私はPerlスクリプトやそのようなものを考えました。
次のようになりますaccess.log
。
項目は次のように生成されます。
IP - - [15/Oct/2011:02:04:32 -400]
ベストアンサー1
この問題に対する一般的な回避策は、ファイルから古いエントリを削除するのではなく、現在のログファイルに現在のエントリのみを含めるようにログファイル循環を使用することです。
これはすべてlogrotate
プログラムによって処理されます。次の構成では、要件を大まかに満たす必要があります。過去6ヶ月間のログエントリをアーカイブし、/var/squid/logs/access.log
毎週ファイルを置き換えます。
/var/squid/logs/access.log {
weekly
rotate 26
missingok
nocreate
sharedscripts
postrotate
test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate
endscript
}
ログファイルのデータに本当に興味がある場合は、そのデータを変更しないでください。