Shell-Script
squid access.log 刪除超過 6 個月的條目
Squid 生成使用者訪問站點的日誌。我想刪除
/var/squid/logs/access.log
6 個月以上的條目。我每週都會執行腳本。我想到了一個 perl 腳本或任何類似的腳本。
以下是
access.log
外觀:條目生成如下:
IP - - [15/Oct/2011:02:04:32 -400]
此問題的通常解決方案是使用輪換日誌文件,以便目前日誌文件僅包含目前條目,而不是從文件中刪除過時的條目。
這一切都由
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 }
如果您確實關心日誌文件中的數據,則不應修改它們。