-----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/user@mydomain.com 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-----