> >> >> Is there a recommended Method for bringing up a new replica for an > >> >> active master (with 1.4 million messages in its mailstore) > >> If the replica is running, you have to run the following command > >> to initialise the replica: > >> sync_client -u -f userlist.txt > >> userlist.txt is a file containing all users. > >> This can be done while the master and rolling replication > >> is running > > I assume the same can be applied for "-m" mode. > > 1. Dump a mailbox list using: > > /usr/lib/cyrus-imapd/ctl_mboxlist -d | cut -f1 > /tmp/mailbox_list.txt > > 2.) Run the sync for that mailbox list > > /usr/lib/cyrus-imapd/sync_client -m -v -l -f /tmp/mailbox_list.tx > this will not bring the sieve scripts in sync. The rolling replication > will sync them if they change, but it may take a very long time till > all scripts have been changed by the users. > > This seems to just-die; but is working if I break-up the mailbox list > > into units-of-work [rather than all at once]. > did you see errors in your logfiles? I do see it bailing out on certain mailboxes <QUOTE> Feb 15 10:42:28 sardine sync_client[20764]: MAILBOX user.cconklin.Monticello Feb 15 10:42:28 sardine sync_client[20764]: MAILBOX user.cconklin.Nienhuis - Quotes Feb 15 10:42:28 sardine sync_client[20764]: IOERROR: opening message file 10 of user.cbaumann.Sent: No such file or directory Feb 15 10:42:28 sardine sync_client[20764]: UPLOAD received BAD response: Syntax error in Append at item 10: Invalid flags or missing message Feb 15 10:42:28 sardine sync_client[20764]: Error in do_mailboxes(): bailing out! </QUOTE> I assume this represents an inconsistency in the mailstore of the master. <ASIDE> I put together a little shell script to page through a dump of the mailbox list. #!/bin/bash START=0 END=`wc -l /tmp/mailbox_list.txt | cut -f1 -d" "` COUNTER=$START while [ "$COUNTER" -lt "$END" ]; do COUNTER=`expr $COUNTER + 100` head -$COUNTER /tmp/mailbox_list.txt | tail -100 > /tmp/mailbox_list_50.txt echo "Starting replication at index $COUNTER : "`head -1 /tmp/mailbox_list_50.txt` echo "Ending replication at "`tail -1 /tmp/mailbox_list_50.txt` /usr/lib/cyrus-imapd/sync_client -m -v -l -f /tmp/mailbox_list_50.txt RESULT="$?" echo "Sync exit status is: $RESULT" if [ "$RESULT" -ne "0" ] then echo "NON-ZERO EXIT STATUS" tail -100 /var/log/maillog exit fi COUNTER=`expr $COUNTER + 100` done </ASIDE> ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/