2
|
1 #!/bin/sh
|
|
2 #
|
|
3 # Copyright © 1995, William M. Perry <wmperry@spry.com>
|
|
4 #
|
|
5 # Author: William M. Perry <wmperry@spry.com>
|
|
6 # Maintainer: William M. Perry <wmperry@spry.com>
|
|
7 # Created: 95/04/18 10:44:15
|
|
8 # Version: $Revision: 1.1.1.1 $
|
|
9 # Modified: $Date: 1996/12/18 03:46:20 $
|
|
10 # Keywords: cache clean
|
|
11 #
|
|
12 # This shell script will clean out your cache directory for emacs-w3
|
|
13 # It is designed to be run from a cron (see crontab(5)) or at(1)
|
|
14 #
|
|
15 # This should probably only be run occasionally: like once a month, or
|
|
16 # when you determine that the cache size is too big. Something like:
|
|
17 #
|
|
18 # CACHEMAXSIZE=5000
|
|
19 # SIZE=`du -s $CACHE_ROOT | awk '{print $1}'
|
|
20 # if [ $SIZE -gt 5000 ] ; then
|
|
21 # /run/the/real/clean-cache
|
|
22 # fi
|
|
23
|
|
24 if [ -z "$CACHE_ROOT" ] ; then
|
|
25 CACHE_ROOT=/tmp/$USER # The root directory of the cache
|
|
26 fi
|
|
27
|
|
28 if [ -z "$CONTROL_FILE" ] ; then
|
|
29 CONTROL_FILE="$CACHE_ROOT/.clean"
|
|
30 fi
|
|
31
|
|
32 if [ -z "$CLEAN_PROTOCOLS" ] ; then
|
|
33 CLEAN_PROTOCOLS="http gopher file ftp wais news"
|
|
34 fi
|
|
35
|
|
36 if [ -f "$CONTROL_FILE" ] ; then
|
|
37 echo "Starting to clean $CACHE_ROOT..." `date`
|
|
38
|
|
39 for x in $CLEAN_PROTOCOLS
|
|
40 do
|
|
41 if [ -d "$x" ] ; then
|
|
42 echo " Cleaning $x files"
|
|
43 find $CACHE_ROOT/$x -depth -type f \( ! -anewer "$CONTROL_FILE" \) \
|
|
44 -exec rm -f {} \;
|
|
45 find $CACHE_ROOT/$x -depth -type d -exec rmdir {} \;
|
|
46 fi
|
|
47 done
|
|
48
|
|
49 touch "$CONTROL_FILE"
|
|
50 echo "Cache clean ended: "`date`
|
|
51 else
|
|
52 echo "The cleaning control file ($CONTROL_FILE) could not be found."
|
|
53 echo "To create it (and make all your cache files 'current' do:"
|
|
54 echo ""
|
|
55 echo "touch $CONTROL_FILE"
|
|
56 echo "find $CACHE_ROOT -exec touch {} \;"
|
|
57 echo ""
|
|
58 echo "PLEASE NOTE: This can damage your cache, by changing the times it"
|
|
59 echo "sends to the remote server to see if the file was modified."
|
|
60 echo "I recommend just touching the file, then rerunning this script to"
|
|
61 echo "wipe the cache clean and start over."
|
|
62 fi
|