.\" 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 "2010-11-20" "Apache HTTP Server" "htcacheclean" .SH NAME htcacheclean \- Clean up the disk cache .SH "SYNOPSIS" .PP \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] .PP \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] .PP \fBhtcacheclean\fR [ -\fBv\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBa\fR ] [ -\fBA\fR ] .PP \fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR \fIurl\fR .SH "SUMMARY" .PP htcacheclean 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 -d\fIinterval\fR Daemonize and repeat cache cleaning every \fIinterval\fR minutes\&. This option is mutually exclusive with the -D, -v and -r options\&. To shutdown the daemon cleanly, just send it a SIGTERM or SIGINT\&. .TP -D Do a dry run and don't delete anything\&. This option is mutually exclusive with the -d option\&. When doing a dry run and deleting directories with -t, the inodes reported deleted in the stats cannot take into account the directories deleted, and will be marked as an estimate\&. .TP -v Be verbose and print statistics\&. This option is mutually exclusive with the -d option\&. .TP -r 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 -d option and implies the -t option\&. .TP -n Be nice\&. This causes slower processing in favour of other processes\&. htcacheclean 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 -t 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 -p\fIpath\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 -P\fIpidfile\fR Specify \fIpidfile\fR as the name of the file to write the process ID to when daemonized\&. .TP -R\fIround\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 -l\fIlimit\fR Specify \fIlimit\fR as the total disk cache size limit\&. The value is expressed in bytes by default (or attaching B to the number)\&. Attach K for Kbytes or M for MBytes\&. .TP -L\fIlimit\fR Specify \fIlimit\fR as the total disk cache inode limit\&. .TP -i Be intelligent and run only when there was a modification of the disk cache\&. This option is only possible together with the -d option\&. .TP -a List the URLs currently stored in the cache\&. Variants of the same URL will be listed once for each variant\&. .TP -A 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 htcacheclean 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 -a or -A options to htcacheclean, the URLs within the cache will be listed as they are found, one URL per line\&. The -A 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 htcacheclean returns a zero status ("true") if all operations were successful, 1 otherwise\&. If an URL is specified, and the URL was cached and successfully removed, 0 is returned, 2 otherwise\&. If an error occurred during URL removal, 1 is returned\&.