Hello there ! We are using Cyrus 2.2.12 with Red hat server 4 in a murder configuration (Nombers of users is over thousand). Recently, I added a new backend and succesfully moved mailboxes on it. But some problems occured which make me believe that moving mailboxes can't be 100% safe. I tried with RENAME and XFER cammands. I also tried the approach of deleting the mailbox and moving it to the new server via "scp" and rebuild it (yes, I took care of the "seen", "sub" and "quota" files). Unfortunatly none of these methods seems to be 100% safe, sometimes problems may occur. So after all theses tests, I decided to you some questions...
1- When I move a mailbox to another backend, some informations about the "seen states" are lost. For example, if userA gives access to userB to one of his folders : After I moved userA's mailbox, userB will see all mails in the shared folder has unseen. 1a- Is it normal ? 1b- This problem occurs no matter what method I use : RENAME, XFER. Is there a way to make sure the problem can't append ? Note that I don't rebuild the mailbox after the move... because I considere I dont need to do. 1c- Will this happen for shared mailboxes (bb) ? I didn't try yet. 2- The file "cyrus.index"... I know some informations are written in this file. Is there a way to read this file and understand what it contains. 3- Sometimes, when doing a "RENAME" or "XFER", I get the error message "the server denied the operation". I don't know where the error message come from (what happened so that message was printed). Does anybody know ? Is there a way to avoid this problème ? That's it ! The rest of the mail is for information (for those who are interessed) Thanks ! My goal : Create a script that gives me the opportunity to move any box safely. I could then schedule it to run at night (or in the early morning). The script is almost created. This is what it does : 1- Do a "lsof | grep mailboxName" to make sure the mailbox isn't in use 2- Lock user from using his mailbox (it doesn't check if folders are shared) 3- Redirect delivery to a temporary mailbox (I check the mailbox manually after the move) 4- Do a backup of the mailbox 5- Move the mailbox to the new server 6- If no error happenned 6a- Restore delivery 6b- Unlock user Move (step 5) can be done via RENAME or XFER. This is what I do when I move a mailbox via SCP (step 5). 1- Copy (cp -a) mailbox in a temporary zone. Files copied are 1a- The mailbox itself 1b- userName.seen (which is also converted from skiplist to flat) 1c, userName.sub 1d- the quota file for that user 1e - Some other files useful for the operation (ex. : a file that contains the hash letter, ...) 2- Delete mailbox ("sam syradm mailbox all" then "dm mailbox") 3- Copy files in the new server (in a temporary zone) 4- Restore files in the directory structure (where the mailbox will be) 5- Re-convert seen file in skiplist and copy it where it should be 6- Restore userName.sub where it should be 7- Restore the quota file 8- Do "/.../reconstruct -f --partition zzz user/userName" 9- Do "/.../quota f user/userName" ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html