htcacheclean-清理磁盘缓存

htcacheclean用于将mod_cache_disk的存储空间保持在给定的大小限制内,或者将使用的 inode 限制在一定范围内。该工具可以手动运行,也可以在守护程序模式下运行。在守护程序模式下运行时,它将在后台休眠,并定期检查高速缓存目录中要删除的高速缓存内容。您可以通过发送 TERM 或 INT signal 来干净地停止该守护程序。手动运行时,对缓存目录进行一次一次性检查,以删除要缓存的内容。如果指定了一个或多个 URL,则将从缓存中删除每个 URL(如果存在)。

Synopsis

htcacheclean [ -D ] [ -v ] [ -t ] [ -r ] [ -n ] [ -Rround ] -ppath [ -llimit ] [ -Llimit ]

htcacheclean [ -n ] [ -t ] [ -i ] [ -Ppidfile ] [ -Rround ] -dinterval -ppath [ -llimit ] [ -Llimit ]

htcacheclean [ -v ] [ -Rround ] -ppath [ -a ] [ -A ]

htcacheclean [ -D ] [ -v ] [ -t ] [ -Rround ] -ppath url

Options

  • -dinterval

    • 每隔几分钟就守护并重复一次缓存清理。此选项与-D-v-r选项互斥。要干净地关闭守护程序,只需向它发送SIGTERMSIGINT即可。
  • -D

    • 试运行,不要删除任何内容。此选项与-d选项互斥。在进行空运行并使用-t删除目录时,统计信息中报告已删除的 inode 无法考虑已删除的目录,因此将被标记为估计值。
  • -v

    • 冗长并打印统计信息。此选项与-d选项互斥。
  • -r

    • 彻底清洁。这假定 Apache Web 服务器未运行(否则您可能会在缓存中得到垃圾)。此选项与-d选项互斥,并表示-t选项。
  • -n

    • 对人好点。这导致较慢的处理,有利于其他处理。 htcacheclean会不时进入睡眠状态,因此(a)磁盘 IO 将被延迟,并且(b)内核可以同时调度其他进程。
  • -t

    • 删除所有空目录。默认情况下,仅删除缓存文件,但是对于某些配置,可能需要注意创建的大量目录。如果您的配置需要大量目录,以至于 inode 或文件分配表耗尽可能会成为问题,建议使用此选项。
  • -ppath

    • 将 path 指定为磁盘缓存的根目录。该值应与CacheRoot指令指定的值相同。
  • -Ppidfile

    • 指定 pidfile 作为文件的名称,以在守护进程写入进程 ID。
  • -Rround

    • 将舍入指定为舍入到最大大小的数量,以补偿磁盘块大小。设置为缓存分区的块大小。
  • -llimit

    • 将限制指定为磁盘高速缓存总大小限制。默认情况下,该值以字节表示(或在数字后附加B)。附加K代表千字节,M代表兆字节或G代表千兆字节。
  • -Llimit

    • 将限制指定为磁盘缓存总 inode 限制。也可以使用KMG后缀。
  • -i

    • 聪明一点,只有在修改磁盘缓存时才运行。该选项只能与-d选项一起使用。
  • -a

    • 列出当前存储在缓存中的 URL。同一网址的变体将为每个变体列出一次。
  • -A

    • 按以下 Sequences 列出当前存储在缓存中的 URL 及其属性:URL,Headers 大小,主体大小,状态,实体版本,日期,到期时间,请求时间,响应时间,存在的主体,头请求。

删除特定的网址

如果为htcacheclean传递了一个或多个 URL,则将从缓存中删除每个 URL。如果存在 URL 的多个变体,则将删除所有变体。

当要删除反向代理 URL 时,有效 URL 是由 Host 头, portpathquery 构造的。注意“?”无论是否存在查询字符串,都必须始终在 URL 中明确指定。例如,尝试从服务器 localhost 删除路径 / ,要删除的 URL 将是 http:// localhost:80 /?

列出缓存中的 URL

通过将-a-A选项传递给htcacheclean,将在找到时列出缓存中的 URL,每行一个 URL。 -A选项将 URL 后面的完整缓存条目转储,其字段的 Sequences 如下:

  • url

    • 条目的 URL。
  • header size

    • Headers 的大小(以字节为单位)。
  • body size

    • 主体的大小(以字节为单位)。
  • status

    • 缓存响应的状态。
  • entity version

    • 此条目已被重新验证但未被删除的次数。
  • date

    • 回复日期。
  • expiry

    • 响应的到期日期。
  • request time

    • 请求开始的时间。
  • response time

    • 请求结束的时间。
  • body present

    • 如果为 0,则此请求不存储任何正文,否则为 1.
  • head request

    • 如果为 1,则该条目包含没有正文的已缓存 HEAD 请求,否则为 0.

Exit Status

如果所有操作均成功,则htcacheclean返回零状态(“ true”),否则返回1。如果指定了 URL,并且 URL 已被缓存并成功删除,则返回0,否则返回2。如果在删除网址期间发生错误,则返回1