diff options
Diffstat (limited to 'handlers')
| -rw-r--r-- | handlers/maildir | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/handlers/maildir b/handlers/maildir index 0af8ff7..5219bef 100644 --- a/handlers/maildir +++ b/handlers/maildir @@ -12,7 +12,17 @@  #    weekly.2  #    monthly.1  #  if keepdaily is 3, keepweekly is 2, and keepmonthly is 1.  -#  +# +#  The basic algorithm is to rsync each maildir individually, +#  and to use hard links for retaining historical data. +# +#  We rsync each maildir individually because it becomes very +#  unweldy to start a single rsync of many hundreds of thousands +#  of files.  +# +#  For the backup rotation to work, destuser must be able to run  +#  arbitrary bash commands on the desthost. +#  ##############################################################  getconf rotate yes @@ -101,8 +111,8 @@ $dir $destuser@$desthost:$destdir/$letter \  # and add new ones which have just been created.  function do_remove() { -	local tmp1=/tmp/maildirtmpfile$$ -	local tmp2=/tmp/maildirtmpfile$$ +	local tmp1=`maketemp maildir-tmp-file` +	local tmp2=`maketemp maildir-tmp-file`  	for i in a b c d e f g h i j k l m n o p q r s t u v w x y z; do  		ls -1 "$srcdir/$i" | sort > $tmp1 | 
