I recommend using Solr Replication instead of rsync.  This way, Solr takes care of copying data, and you don't have to worry about which directories to move or when to restart things; it just works automatically.

It's just a matter of editing solr/biblio/conf/solrconfig.xml differently in your master and slave servers.

Master should look something like this:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="master">
        <!--Replicate on 'startup' and 'commit'. 'optimize' is also a valid value for replicateAfter. -->
        <str name="replicateAfter">startup</str>
        <str name="replicateAfter">commit</str>
and slave should look something like this:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="slave">

        <!--fully qualified url for the replication handler of master . It is possible to pass on this as a request param for the fetchindex command-->
        <str name="masterUrl">http://master_host:port/solr/corename/replication</str>

        <!--Interval in which the slave should poll master .Format is HH:mm:ss . If this is absent slave does not poll automatically.
         But a fetchindex can be triggered from the admin or the http API -->
        <str name="pollInterval">00:00:20</str>
For more details, see:


- Demian

From: Nathan Tallman [ntallman@gmail.com]
Sent: Friday, November 02, 2012 2:31 PM
To: vufind-tech
Subject: [VuFind-Tech] Indexing On Development, Pushing Update to Production

I'm modifying my indexing workflow as we move to a new production server. On the current production server, VuFind does all of it's own indexing. I'd like to start building the index on our development server and push the new index to the new production server.

I plan to use rsync, but had a couple questions.
  1. Can I sync the entire solr subfolder (solr/biblio) or do I have to sync subfolders of solr/biblio?
  2. If I drop in the updated index, do I need to restart VuFind on the production server? Or perhaps go further and stop VuFind before syncing, then starting when the syncing is completed? I've run intro trouble before making changes in solr/biblio without stoping VuFind before and starting it after.