-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thu, 28 Feb 2013, Ed W wrote:
On 28/02/2013 13:59, Pavel Dimow wrote:
Hi,
I want to upgrade to version 2 but I would like to solve a long
standing problem with 'flat' directory structure ie
we have /var/spool/vmail/mydomain.com/[email protected] and I want a
new server with version 2 to have
hashed directory structure like /var/spool/vmail/mydomain.com/u/s/user
I was wondering it f there is some better solution then dir hashing or
a way to hash a dir other then first two letters.
Also any suggestion how to perform this migration from old to new
server with hashing on the fly?
My thought would be that unless you have millions of users, such a rename
process will take only seconds to minutes? Why not just take the server down
for a couple of minutes to do the rename process?
If you wanted to be really clever, you could do it live using symlinks to
move the dirs, then update the dovecot config?
Yeah:
for dir in /var/spool/vmail/mydomain.com/*; do
to="$(script_to_map_name "$dir")"
if ! test -d "$(dirname "$to")"; then
# add -m 0555 if needed
mkdir -p "$(dirname "$to")"
fi
# If a new mails arrives or the user access the box
# there will be an error for a (very) short time
mv "$dir" "$to"
ln -s "$to" "$dir"
# no more errors
done
Then update the config, reload Dovecot, wait a bit, remove the symlinks.
- --
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBUTB32F3r2wJMiz2NAQK2vgf/V5OCGWdToQJOxCtUlZp+aMslznBpr2Rq
XrjANVYblMUzipd8HFR7YzbHkgJizm/t5k5+OHg9xX1D9YrsxB9/9k1pMRomAuCv
nIBWmb4JTIvq2MJihstXZj8q/z3i5OXbb7Mp5o/YgkZqx9OBfD4IJvSRT6d7vuld
7xCSc56zF7MlpFfXXN9nBYBFNGXvOEmvgrZNd2BtL6iSWxC7tVZbfkdLfuUS0RKv
FKIcuESPZNkKmr86NxEegpOz8fs7ZdSrvs5ibqNdDN4+oOnKC55EwOPgY1OOhWmB
ZdzmDAdy8ztXauWmuznkAP+FzhZV5jIBXlNJLnkj2xGsT5x20/FTvg==
=nW5U
-----END PGP SIGNATURE-----