]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | cd / | |
3 | ||
4 | SPOOLDIR="$(/usr/bin/exim -bP spool_directory 2> /dev/null | /bin/sed 's/.*=[[:space:]]\(.*\)/\1/')" | |
5 | ||
6 | [ ! -d "$SPOOLDIR" ] && echo "Spooldir [$SPOOLDIR] is not a directory" && exit 1 | |
7 | ||
8 | for db in $(/usr/bin/find $SPOOLDIR/db -maxdepth 1 -name '*.lockfile' -or -type f -printf '%f\n'); do | |
9 | t= | |
10 | case "$db" in | |
11 | callout) | |
12 | t="-t 7d" | |
13 | ;; | |
14 | *) | |
15 | ;; | |
16 | esac | |
17 | /usr/bin/exim_tidydb $t $SPOOLDIR $db > /dev/null | |
18 | # Try to lower it's size if it is bigger than 300M. Result still can be bigger if the db contains | |
19 | # so much unexpired data. | |
20 | toobig=$(/usr/bin/find $SPOOLDIR/db/$db -size +300M) | |
21 | if [ -n "$toobig" ]; then | |
22 | /usr/bin/exim_dumpdb $SPOOLDIR $db | /usr/bin/exim_dbmbuild -nowarn - $SPOOLDIR/db/$db.new > /dev/null | |
23 | chown exim:exim $SPOOLDIR/db/$db.new | |
24 | chmod 640 $SPOOLDIR/db/$db.new | |
25 | mv $SPOOLDIR/db/$db.new $SPOOLDIR/db/$db | |
26 | fi | |
27 | ||
28 | done | |
29 | ||
30 | exit 0 |