summaryrefslogtreecommitdiffstats
path: root/docs/man/htcacheclean.8
diff options
context:
space:
mode:
Diffstat (limited to 'docs/man/htcacheclean.8')
-rw-r--r--docs/man/htcacheclean.8146
1 files changed, 146 insertions, 0 deletions
diff --git a/docs/man/htcacheclean.8 b/docs/man/htcacheclean.8
new file mode 100644
index 0000000..7d24a58
--- /dev/null
+++ b/docs/man/htcacheclean.8
@@ -0,0 +1,146 @@
+.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+.\" DO NOT EDIT! Generated from XML source.
+.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "HTCACHECLEAN" 8 "2018-07-06" "Apache HTTP Server" "htcacheclean"
+
+.SH NAME
+htcacheclean \- Clean up the disk cache
+
+.SH "SYNOPSIS"
+
+.PP
+\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBr\fR ] [ -\fBn\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [-\fBl\fR\fIlimit\fR| -\fBL\fR\fIlimit\fR]\fR
+
+.PP
+\fB\fBhtcacheclean\fR [ -\fBn\fR ] [ -\fBt\fR ] [ -\fBi\fR ] [ -\fBP\fR\fIpidfile\fR ] [ -\fBR\fR\fIround\fR ] -\fBd\fR\fIinterval\fR -\fBp\fR\fIpath\fR [-\fBl\fR\fIlimit\fR| -\fBL\fR\fIlimit\fR]\fR
+
+.PP
+\fB\fBhtcacheclean\fR [ -\fBv\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBa\fR ] [ -\fBA\fR ]\fR
+
+.PP
+\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR \fIurl\fR\fR
+
+
+.SH "SUMMARY"
+
+.PP
+\fBhtcacheclean\fR is used to keep the size of mod_cache_disk'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\&.
+
+
+.SH "OPTIONS"
+
+
+.TP
+\fB-d\fIinterval\fR\fR
+Daemonize and repeat cache cleaning every \fIinterval\fR minutes\&. This option is mutually exclusive with the \fB-D\fR, \fB-v\fR and \fB-r\fR options\&. To shutdown the daemon cleanly, just send it a \fBSIGTERM\fR or \fBSIGINT\fR\&.
+.TP
+\fB-D\fR
+Do a dry run and don't delete anything\&. This option is mutually exclusive with the \fB-d\fR option\&. When doing a dry run and deleting directories with \fB-t\fR, the inodes reported deleted in the stats cannot take into account the directories deleted, and will be marked as an estimate\&.
+.TP
+\fB-v\fR
+Be verbose and print statistics\&. This option is mutually exclusive with the \fB-d\fR option\&.
+.TP
+\fB-r\fR
+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 \fB-d\fR option and implies the \fB-t\fR option\&.
+.TP
+\fB-n\fR
+Be nice\&. This causes slower processing in favour of other processes\&. \fBhtcacheclean\fR 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\&.
+.TP
+\fB-t\fR
+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\&.
+.TP
+\fB-p\fIpath\fR\fR
+Specify \fIpath\fR as the root directory of the disk cache\&. This should be the same value as specified with the CacheRoot directive\&.
+.TP
+\fB-P\fIpidfile\fR\fR
+Specify \fIpidfile\fR as the name of the file to write the process ID to when daemonized\&.
+.TP
+\fB-R\fIround\fR\fR
+Specify \fIround\fR as the amount to round sizes up to, to compensate for disk block sizes\&. Set to the block size of the cache partition\&.
+.TP
+\fB-l\fIlimit\fR\fR
+Specify \fIlimit\fR as the total disk cache size limit\&. The value is expressed in bytes by default (or attaching \fBB\fR to the number)\&. Attach \fBK\fR for Kbytes or \fBM\fR for MBytes\&.
+.TP
+\fB-L\fIlimit\fR\fR
+Specify \fIlimit\fR as the total disk cache inode limit\&.
+.TP
+\fB-i\fR
+Be intelligent and run only when there was a modification of the disk cache\&. This option is only possible together with the \fB-d\fR option\&.
+.TP
+\fB-a\fR
+List the URLs currently stored in the cache\&. Variants of the same URL will be listed once for each variant\&.
+.TP
+\fB-A\fR
+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\&.
+
+.SH "DELETING A SPECIFIC URL"
+
+.PP
+If \fBhtcacheclean\fR 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\&.
+
+.PP
+When a reverse proxied URL is to be deleted, the effective URL is constructed from the \fBHost\fR header, the \fBport\fR, the \fBpath\fR and the \fBquery\fR\&. 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 \fB/\fR from the server \fBlocalhost\fR, the URL to delete would be \fBhttp://localhost:80/?\fR\&.
+
+.SH "LISTING URLS IN THE CACHE"
+
+.PP
+By passing the \fB-a\fR or \fB-A\fR options to \fBhtcacheclean\fR, the URLs within the cache will be listed as they are found, one URL per line\&. The \fB-A\fR option dumps the full cache entry after the URL, with fields in the following order:
+
+
+.TP
+url
+The URL of the entry\&.
+.TP
+header size
+The size of the header in bytes\&.
+.TP
+body size
+The size of the body in bytes\&.
+.TP
+status
+Status of the cached response\&.
+.TP
+entity version
+The number of times this entry has been revalidated without being deleted\&.
+.TP
+date
+Date of the response\&.
+.TP
+expiry
+Expiry date of the response\&.
+.TP
+request time
+Time of the start of the request\&.
+.TP
+response time
+Time of the end of the request\&.
+.TP
+body present
+If 0, no body is stored with this request, 1 otherwise\&.
+.TP
+head request
+If 1, the entry contains a cached HEAD request with no body, 0 otherwise\&.
+
+.SH "EXIT STATUS"
+
+.PP
+\fBhtcacheclean\fR returns a zero status ("true") if all operations were successful, \fB1\fR otherwise\&. If an URL is specified, and the URL was cached and successfully removed, \fB0\fR is returned, \fB2\fR otherwise\&. If an error occurred during URL removal, \fB1\fR is returned\&.
+