{% extends "base.html" %} {% block title %}日志状态 - Squid Manager{% endblock %} {% block content %}
Squid 默认会把请求/缓存/存储事件持续写入 access.log / cache.log / store.log,不会自动截断或归档,长期运行会让磁盘塞满。
常见的做法是结合 logrotate 与 squid -k rotate 信号:
access.log.1, access.log.2.gz …),并创建新的空日志文件;postrotate 钩子里执行 squid -k rotate,让 Squid 关闭旧 fd 并重新打开日志,避免日志写到被改名的旧文件里;rotate N 自动清理/压缩,既能保留审计又不会撑爆磁盘。| 日志文件 | 大小 | 状态 | 最后修改 | 年龄 | 可写 | 操作 |
|---|---|---|---|---|---|---|
{{ e.path }}
{% if e.error %}{% endif %}
|
{{ e.size_human }} | {% if not e.exists %} ● 不存在 {% elif e.size_bytes >= crit_bytes %} ● 过大 (≥ {{ (crit_bytes / 1024 / 1024 / 1024) | round(1) }} GB) {% elif e.size_bytes >= warn_bytes %} ● 偏大 (≥ {{ (warn_bytes / 1024 / 1024) | int }} MB) {% else %} ● 正常 {% endif %} | {{ e.mtime_human or '-' }} | {% if e.age_days is not none %}{{ e.age_days }} 天{% else %}-{% endif %} | {% if e.is_writable %} 是 {% else %} 否 {% endif %} | {% set parent_dir = e.path.rsplit('/', 1)[0] if '/' in e.path else '.' %} |
未在「路径设置」里配置任何日志路径。
| logrotate 可执行 | {% if logrotate_available %}可用 {% else %}未找到 {% endif %} |
|---|---|
| Squid 二进制 | {{ binary }} |
| 日志轮转配置 | 🔁 前往日志轮转 |
squid -k rotate 信号,本身不重命名文件 — 需要 logrotate 配置协同工作。access.log 的轮转阈值设为单文件大约 100–500 MB,避免后续 logrotate 重命名瞬间触发磁盘峰值。