fixed bug where maildirs that start with a number were skipped. make deleted maildirs record the date they were deleted

This commit is contained in:
Elijah Saxon 2008-02-19 20:31:52 +00:00
parent 3d1389c7fe
commit 2a61e873bc

View File

@ -52,7 +52,7 @@ getconf destuser
getconf multiconnection notset getconf multiconnection notset
letters="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" letters="0 1 2 3 4 5 6 7 8 9 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"
failedcount=0 failedcount=0
# strip trailing / # strip trailing /
destdir=${destdir%/} destdir=${destdir%/}
@ -111,13 +111,14 @@ function do_remove() {
local tmp2=`maketemp maildir-tmp-file` local tmp2=`maketemp maildir-tmp-file`
ssh -p $destport $destuser@$desthost mkdir -p "$destdir/deleted" ssh -p $destport $destuser@$desthost mkdir -p "$destdir/deleted"
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 for i in 0 1 2 3 4 5 6 7 8 9 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 ls -1 "$srcdir/$i/" | sort > $tmp1
ssh -p $destport $destuser@$desthost ls -1 "$destdir/$i/" | sort > $tmp2 ssh -p $destport $destuser@$desthost ls -1 "$destdir/$i/" | sort > $tmp2
for deluser in `join -v 2 $tmp1 $tmp2`; do for deluser in `join -v 2 $tmp1 $tmp2`; do
[ "$deluser" != "" ] || continue [ "$deluser" != "" ] || continue
info "removing $destuser@$desthost:$destdir/$i/$deluser/" info "removing $destuser@$desthost:$destdir/$i/$deluser/"
ssh -p $destport $destuser@$desthost mv "$destdir/$i/$deluser/" "$destdir/deleted" ssh -p $destport $destuser@$desthost mv "$destdir/$i/$deluser/" "$destdir/deleted"
ssh -p $destport $destuser@$desthost "date > '$destdir/$i/$deluser/deleted_on'"
done done
done done
rm $tmp1 rm $tmp1