]> git.pld-linux.org Git - packages/exim.git/blob - exim.cron.db
Rel 14; fix segfault in srs
[packages/exim.git] / exim.cron.db
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
This page took 0.048859 seconds and 3 git commands to generate.