Squid access.log、cache.log、store.log 單檔過大,影響查詢效能與磁碟空間。
編輯 /etc/logrotate.d/squid (若修改過日誌路徑請同步更新):
/home/log/squid/access.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}
/home/log/squid/cache.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}
/home/log/squid/store.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
postrotate
/usr/sbin/squid -k rotate
endscript
}
copytruncate:複製後清空原檔,**無需重啟 Squid**,避免連線中斷。postrotate:對 store.log 呼叫 squid -k rotate 讓 Squid 內部切換檔案描述符。squid.conf:logfile_rotate 3 (保留 3 份)。/etc/crontab:0 0 * * * squid /usr/local/squid/sbin/squid -k rotate (每天 00:00 切割)。crontab /etc/crontab。| 維度 | logrotate | Squid rotate + cron |
|---|---|---|
| 對 Squid 影響 | 無 (copytruncate) | 需發送信號,極短暫阻塞 |
| 壓縮支援 | 內建 compress | 需額外腳本 |
| 靈活度 | 高 (按大小/時間/郵件通知) | 僅定時 |
| 推薦場景 | 生產環境標準化運維 | 簡單環境、舊版 Squid |