| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> |
| <!-- $LastChangedRevision$ --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="htcacheclean.xml.meta"> |
| <parentdocument href="./">Programs</parentdocument> |
| |
| <title>htcacheclean - Clean up the disk cache</title> |
| |
| <summary> |
| <p><code>htcacheclean</code> is used to keep the size of |
| <module>mod_cache_disk</module>'s storage within a given size limit, or |
| limit on inodes in use. This tool can run either manually or in daemon mode. |
| When running in daemon mode, it sleeps in the background and checks the cache |
| directory at regular intervals for cached content to be removed. You can stop |
| the daemon cleanly by sending it a TERM or INT signal. When run manually, a |
| once off check of the cache directory is made for cached content to be |
| removed. If one or more URLs are specified, each URL will be deleted from |
| the cache, if present.</p> |
| </summary> |
| <seealso><module>mod_cache_disk</module></seealso> |
| |
| <section id="synopsis"><title>Synopsis</title> |
| <p><code><strong>htcacheclean</strong> |
| [ -<strong>D</strong> ] |
| [ -<strong>v</strong> ] |
| [ -<strong>t</strong> ] |
| [ -<strong>r</strong> ] |
| [ -<strong>n</strong> ] |
| [ -<strong>R</strong><var>round</var> ] |
| -<strong>p</strong><var>path</var> |
| [-<strong>l</strong><var>limit</var>| |
| -<strong>L</strong><var>limit</var>]</code></p> |
| |
| <p><code><strong>htcacheclean</strong> |
| [ -<strong>n</strong> ] |
| [ -<strong>t</strong> ] |
| [ -<strong>i</strong> ] |
| [ -<strong>P</strong><var>pidfile</var> ] |
| [ -<strong>R</strong><var>round</var> ] |
| -<strong>d</strong><var>interval</var> |
| -<strong>p</strong><var>path</var> |
| [-<strong>l</strong><var>limit</var>| |
| -<strong>L</strong><var>limit</var>]</code></p> |
| |
| <p><code><strong>htcacheclean</strong> |
| [ -<strong>v</strong> ] |
| [ -<strong>R</strong><var>round</var> ] |
| -<strong>p</strong><var>path</var> |
| [ -<strong>a</strong> ] |
| [ -<strong>A</strong> ]</code></p> |
| |
| <p><code><strong>htcacheclean</strong> |
| [ -<strong>D</strong> ] |
| [ -<strong>v</strong> ] |
| [ -<strong>t</strong> ] |
| [ -<strong>R</strong><var>round</var> ] |
| -<strong>p</strong><var>path</var> |
| <var>url</var></code></p> |
| </section> |
| |
| <section id="options"><title>Options</title> |
| <dl> |
| <dt><code>-d<var>interval</var></code></dt> |
| <dd>Daemonize and repeat cache cleaning every <var>interval</var> minutes. |
| This option is mutually exclusive with the <code>-D</code>, <code>-v</code> |
| and <code>-r</code> options. To shutdown the daemon cleanly, just send it |
| a <code>SIGTERM</code> or <code>SIGINT</code>.</dd> |
| |
| <dt><code>-D</code></dt> |
| <dd>Do a dry run and don't delete anything. This option is mutually |
| exclusive with the <code>-d</code> option. When doing a dry run and |
| deleting directories with <code>-t</code>, the inodes reported deleted |
| in the stats cannot take into account the directories deleted, and will |
| be marked as an estimate.</dd> |
| |
| <dt><code>-v</code></dt> |
| <dd>Be verbose and print statistics. This option is mutually exclusive |
| with the <code>-d</code> option.</dd> |
| |
| <dt><code>-r</code></dt> |
| <dd>Clean thoroughly. This assumes that the Apache web server is |
| not running (otherwise you may get garbage in the cache). This option |
| is mutually exclusive with the <code>-d</code> option and implies |
| the <code>-t</code> option.</dd> |
| |
| <dt><code>-n</code></dt> |
| <dd>Be nice. This causes slower processing in favour of other |
| processes. <code>htcacheclean</code> will sleep from time to time |
| so that (a) the disk IO will be delayed and (b) the kernel can schedule |
| other processes in the meantime.</dd> |
| |
| <dt><code>-t</code></dt> |
| <dd>Delete all empty directories. By default only cache files are |
| removed, however with some configurations the large number of |
| directories created may require attention. If your configuration |
| requires a very large number of directories, to the point that |
| inode or file allocation table exhaustion may become an issue, use |
| of this option is advised.</dd> |
| |
| <dt><code>-p<var>path</var></code></dt> |
| <dd>Specify <var>path</var> as the root directory of the disk cache. This |
| should be the same value as specified with the <directive |
| module="mod_cache_disk">CacheRoot</directive> directive.</dd> |
| |
| <dt><code>-P<var>pidfile</var></code></dt> |
| <dd>Specify <var>pidfile</var> as the name of the file to write the |
| process ID to when daemonized.</dd> |
| |
| <dt><code>-R<var>round</var></code></dt> |
| <dd>Specify <var>round</var> as the amount to round sizes up to, to |
| compensate for disk block sizes. Set to the block size of the cache |
| partition.</dd> |
| |
| <dt><code>-l<var>limit</var></code></dt> |
| <dd>Specify <var>limit</var> as the total disk cache size limit. The value |
| is expressed in bytes by default (or attaching <code>B</code> to the |
| number). Attach <code>K</code> for Kbytes or <code>M</code> for |
| MBytes.</dd> |
| |
| <dt><code>-L<var>limit</var></code></dt> |
| <dd>Specify <var>limit</var> as the total disk cache inode limit.</dd> |
| |
| <dt><code>-i</code></dt> |
| <dd>Be intelligent and run only when there was a modification of the disk |
| cache. This option is only possible together with the <code>-d</code> |
| option.</dd> |
| |
| <dt><code>-a</code></dt> |
| <dd>List the URLs currently stored in the cache. Variants of the same URL |
| will be listed once for each variant.</dd> |
| |
| <dt><code>-A</code></dt> |
| <dd>List the URLs currently stored in the cache, along with their |
| attributes in the following order: url, header size, body size, status, |
| entity version, date, expiry, request time, response time, body present, |
| head request.</dd> |
| </dl> |
| |
| </section> |
| |
| <section id="delete"><title>Deleting a specific URL</title> |
| <p>If <code>htcacheclean</code> is passed one or more URLs, each URL will |
| be deleted from the cache. If multiple variants of an URL exists, all |
| variants would be deleted.</p> |
| |
| <p>When a reverse proxied URL is to be deleted, the effective URL is |
| constructed from the <strong>Host</strong> header, the |
| <strong>port</strong>, the <strong>path</strong> and the |
| <strong>query</strong>. Note the '?' in the URL must always be specified |
| explicitly, whether a query string is present or not. For example, an |
| attempt to delete the path <strong>/</strong> from the server |
| <strong>localhost</strong>, the URL to delete would be |
| <strong>http://localhost:80/?</strong>.</p> |
| |
| </section> |
| |
| <section id="list"><title>Listing URLs in the Cache</title> |
| <p>By passing the <code>-a</code> or <code>-A</code> options to |
| <code>htcacheclean</code>, the URLs within the cache will be listed |
| as they are found, one URL per line. The <code>-A</code> option |
| dumps the full cache entry after the URL, with fields in the |
| following order:</p> |
| |
| <dl> |
| <dt>url</dt><dd>The URL of the entry.</dd> |
| <dt>header size</dt><dd>The size of the header in bytes.</dd> |
| <dt>body size</dt><dd>The size of the body in bytes.</dd> |
| <dt>status</dt><dd>Status of the cached response.</dd> |
| <dt>entity version</dt><dd>The number of times this entry has been |
| revalidated without being deleted.</dd> |
| <dt>date</dt><dd>Date of the response.</dd> |
| <dt>expiry</dt><dd>Expiry date of the response.</dd> |
| <dt>request time</dt><dd>Time of the start of the request.</dd> |
| <dt>response time</dt><dd>Time of the end of the request.</dd> |
| <dt>body present</dt><dd>If 0, no body is stored with this request, |
| 1 otherwise.</dd> |
| <dt>head request</dt><dd>If 1, the entry contains a cached HEAD |
| request with no body, 0 otherwise.</dd> |
| </dl> |
| |
| </section> |
| |
| <section id="exit"><title>Exit Status</title> |
| <p><code>htcacheclean</code> returns a zero status ("true") if all |
| operations were successful, <code>1</code> otherwise. If an URL is |
| specified, and the URL was cached and successfully removed, |
| <code>0</code> is returned, <code>2</code> otherwise. If an error |
| occurred during URL removal, <code>1</code> is returned.</p> |
| </section> |
| |
| </manualpage> |